knife ec2 未知区域 "ca-central-1"

knife ec2 unknown region "ca-central-1"

我正在尝试在 "Canada(Central)" 区域创建一个 AWS 服务器,根据 Amazon 文档 (http://docs.aws.amazon.com/general/latest/gr/rande.html),它被称为 ca-central-1。

我运行的命令是:

knife ec2 server create -I ami-70299b14 -f t2.nano -S my-key -i ~/.ssh/my-key.pem -ssh-user ubuntu --region ca-central-1 -Z ca-central-1a

我得到的错误是:

ERROR: ArgumentError: Unknown region: "ca-central-1"

我使用的 ami 是我用来在该地区使用在线 EC2 管理控制台启动服务器的 ami。

我在该区域创建了一个 IAM 用户和 kay 对,并授予该用户对 ec2 资源的所有权限,我还在该区域为 ssh 创建了一个入站规则。还有什么我想念的吗?

不幸的是,fog-aws 最近才添加该区域,因此 knife ec2 尚不支持它。希望在几周后出现在下一个 ChefDK 版本中。现在,您可以通过 aws 命令行工具或 Web UI 创建 VM,然后在其上使用 knife bootstrap

1:您的 knife.rb 为

knife[:aws_access_key_id] = "AWS_ACCESS_KEY"
knife[:aws_secret_access_key] = "AWS_SECRET"
knife[:ssh_key_name] = 'my-key'
knife[:image] = 'ami-21414f36'
knife[:flavor] = 't2.micro'
knife[:region] = 'ca-central-1'
knife[:availability_zone] = 'ca-central-1a'
knife[:ebs_size] = 30
knife[:editor] = 'nano'

2:为加拿大(中心)生成密钥对

3: 运行 knife ec2 服务器创建命令。

 knife ec2 server create -I ami-70299b14 -f t2.nano  -ssh-user ubuntu --region ca-central-1 -Z ca-central-1a

这对我有用

试试这个命令:

knife ec2 server create -N node_name -I ami-21414f36 -f t2.micro -x '.\key_ca'  -P 'ec2@123' --ssh-key key --region ca-central-1 --availability-zone 'ca-central-1a' --ebs-size 30 --security-group-ids sg-75cbd50d --bootstrap-protocol winrm --winrm-transport ssl --winrm-ssl-verify-mode verify_none