厨师刀ec2服务器创build:旋转新的ec2服务器时出错

我试图用ec2服务器创build第一次自动启动ec2实例,但我得到"ERROR: Excon::Errors::BadRequest: Expected(200) <=> Actual(400 Bad Request)"

使用knife ec2 server list将返回现有服务器的列表,这意味着.chef/knife.rb中的AWS ID是正确的。

我使用Ubuntu的AMI Finder检查了AMI ID,并尝试了所有其他参数的不同组合,因此无法弄清楚什么是错误的。

我使用的是:

 knife ec2 server create \ -r "role[memcached]" -I ami-d0f89fb9 -f m1.small \ -i mysshkey.pem --ssh-user newuser \ --region us-east-1b -Z us-east-1b 

(有一个名为memcached的Chefangular色,本地目录中有一个名为mysshkey.pem的文件)

环境:Win7,Git 1.8.1.msysgit.1,厨师/刀11.4.4。 稍后我会尝试从Linux工作站执行相同的操作,以便能够确定问题是环境,参数还是AWS凭据。

任何想法如何解决刀ec2脚本?

我终于find了问题。

参数-i <AWS_SSH_ID>不用于指定SSH密钥本身,而是用于在AWS中创build凭据时使用的SSH对密钥的安全名称

调整后, knife ec2 create开始正常工作。

us-east-1b不是有效的EC2地区。 试试us-east-1