如何使用Chef在VPC内启动amazon ec2实例?

Vic*_*box 6 server-administration amazon-web-services chef-infra amazon-vpc

这是一个主要关于厨师的问题.在使用Chef查看Amazon VPC内的控制节点时,我遇到了一些困难,主要是厨师无法轻松访问没有外部IP地址的节点.

我浏览了场景#2的基础教程http://docs.amazonwebservices.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html#Case2_Launch_NAT

但是,这次超时:

knife ec2 server create -N app-server-1 -f m1.small -i rails-quick-start.pem -r "role[base]" -G WebServerSG -S rails-quick-start -x ubuntu -s subnet-580d7e30 -y -I ami-073ae46e -Z us-east-1d
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Vic*_*box 1

解决方案是设置一条隧道,并将公共可见计算机的某个端口上的 ssh 通过隧道传输到云中的所有其他计算机。因此,我的负载均衡器在套接字 80 上提供 http 流量,可通过套接字 22 访问,并使用套接字 2222、2223、2224...将 ssh 隧道连接到非公共云实例。在负载均衡器(或任何公共实例)上运行:

ncat --sh-exec "ncat PRIVATE.SUBNET.IP 22" -l 2222 &
Run Code Online (Sandbox Code Playgroud)

例如:

ncat --sh-exec "ncat 10.0.1.1 22" -l 2222 &
Run Code Online (Sandbox Code Playgroud)