chef knife ec2 服务器创建:启动新的 ec2 服务器时出错

chef knife ec2 服务器创建:启动新的 ec2 服务器时出错

我正在尝试使用 knife ec2 server create 首次自动启动 ec2 实例,但是我得到了"ERROR: Excon::Errors::BadRequest: Expected(200) <=> Actual(400 Bad Request)"

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

我使用以下方法检查了 AMI IDUbuntu 的 AMI 查找器,并尝试了所有其他参数的不同组合,所以无法找出问题所在。

我正在使用:

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

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

环境:Win7、Git 1.8.1.msysgit.1、Chef/Knife 11.4.4。稍后我将尝试从 Linux 工作站执行相同操作,以便确定问题出在环境、参数还是 AWS 凭证上。

知道如何解决 knife ec2 脚本问题吗?

答案1

我终于找到了问题所在。

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

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

答案2

us-east-1b不是有效的 EC2 区域。请尝试us-east-1

相关内容