我想使用 Knife 创建一个 EC2 实例,并为其分配一个弹性 IP。Knife 有选项 --associate-eip,但当我使用此选项时,它会失败并显示错误“错误:请求的弹性 IP 不可用。”即使 AWS 控制台中的 EIP 显示该 IP 可用。
我执行的命令
knife ec2 服务器创建-S testKey -I ami-e7b8c0d7 --security-group-id test_sg -N test-eip -f m3.medium --region us-west-2 -i testKey.pem --associate-eip 6.6.6.6
错误:请求的弹性 IP 不可用。
我是否遗漏了任何明显的步骤?knife 在哪里查找弹性 IP 列表?有没有地方可以告知 knife 有关弹性 IP 列表的信息?
答案1
在添加具有该区域默认子网 ID 的 --subnet 属性并添加 --server-connect-attribute public_ip_address 后,可以创建分配了 eip 的实例。
knife ec2 server create -N test-eip -I ami-e7b8c0d7 --security-group-id sg-685a00d -f m3.medium --region us-west-2 --ssh-user ubuntu -S testKey -i key.pem --associate-eip 6.6.6.6 --subnet <default subnetid for that region> --server-connect-attribute public_ip_address
要查找区域的默认子网 ID,请启动实例并在“配置实例详细信息”中获取显示的子网 ID。