我不太了解路由和子网和vpc,我从来没有用过我的旧AWS账户。 在我的新AWS账户中,我启动了一个新的Amazon Linux AMI实例(ami-043a5034)。 它连接到的安全组包括允许端口22.VPC设置都是默认的,我认为这意味着它应该像没有VPC的“传统”风格的EC2configuration一样工作。 我正在使用刀-EC2gem版本0.8.0。 我的刀子创build命令是这样的(区域和其他设置由knife.rb指定)
knife ec2 server create -r 'role[webserver]' -I 'ami-043a5034' -E development -G 'web-security-group' -N 'webserver1'
我也试过了
knife ec2 server create -r 'role[webserver]' -I 'ami-043a5034' -E development -g 'sg-abcdef12' -N 'webserver1' --associate-public-ip --subnet subnet-abcdef12 --server-connect-attribute public_ip_address
无论有没有服务器连接属性参数
一旦它创build了实例,它就停留在“等待sshd”(没有句点)。 我能够从terminalSSH和新的实例,以及亚马逊提供的Java工具,所以我知道它是公开的,但我不知道如何让刀/厨师正确连接完成引导新的实例。 我从哪说起呢? 我是否需要一个弹性IP,还是可以使用任何公共IP分配?
我需要添加两个选项。
-i ~/.ssh/key.pem
和
--ssh-user ec2-user
我认为这些已经工作,因为我能够knife ec2 server list ,因为我指定knife.rb刀[:aws_ssh_key_id],但该密钥ID是特指AWS上的密钥对名称,您仍然需要连接到您自己的计算机上使用该密钥新创build的实例。