6

这是一个主要关于厨师的问题。在使用 Chef 查看 Amazon VPC 内的控制节点时,我遇到了一些困难,主要是 Chef 无法轻松访问没有外部 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

我究竟做错了什么?

4

3 回答 3

1

为了让刀能够与服务器对话,您可能需要设置 VPN。如果您的 VPC 已经通过 VPN 连接到您的本地网络,那么它应该可以工作,但如果不是,您可能需要运行 OpenVPN 服务器或类似的东西。

您还可以通过其他两种方式设置服务器:

  1. 创建一个 EC2 实例并让它启动。然后对它运行刀引导程序。
  2. 使用正确的用户数据创建一个 EC2 实例并让 cloud-init 设置它(如果您运行的是包含 cloud-init 的 ubuntu)。
于 2012-04-24T01:26:44.810 回答
1

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

ncat --sh-exec "ncat PRIVATE.SUBNET.IP 22" -l 2222 &

例如:

ncat --sh-exec "ncat 10.0.1.1 22" -l 2222 &
于 2012-06-21T19:40:24.787 回答
0

需要有一种方法将弹性 IP 与实例相关联,以便获得公共 IP 以便于访问,然后通过 EIP 执行所有引导和 SSH 活动。

于 2012-07-15T01:21:33.573 回答