执行查询:
aws ec2 run-instances --image-id ami-7a85a01a --security-group-ids sg-756ae512 --count 1 --instance-type t2.micro --tag-specifications ResourceType=instance,Tags=[{Key=webserver,Value=production}] --subnet-id subnet-cc0b0e8a
它抛出错误说:
Unknown options: --tag-specifications, ResourceType=instance,Tags=[{Key=webserver,Value=production}]
有人知道这是否被删除,或者语法是否与预期不同?我一直在圈子里跑。
使用新语法的可能解决方案:
aws ec2 run-instances --image-id ami-xxxxxxxxxx --security-group-ids sg-ef95c791 --count 1 --instance-type m4.2xlarge --key-name mypemkey --query Reservations[*].Instances[*].[PublicIpAddress,InstanceId]
我能想到的最好的,似乎在起作用:
aws ec2 run-instances --image-id ami-7a85a01a --count 1 --instance-type t2.micro --key-name mykeypair --subnet-id sn-756ae512 --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=production}]' --associate-public-ip-address --output=text
答案 0 :(得分:3)
我今天遇到了这个问题,经过一个小时左右的艰苦琐碎的AWS文档挣扎后想出来了。
问题是安装说明(HWND
和使用捆绑的安装程序)是错误的:虽然命令被完美复制并且要求(特别是“Python 2版本2.6.5+或Python 3版本”)符合3.3+“),pip install
包永远不会安装/更新aws-cli
。
解决方案:use pip3 install
instead of pip install
。这已将其更新为1.11.13
,后者启用了1.11.97
参数。我不知道这是否会为你解决问题,但我怀疑很多Ubuntu用户都会遇到这个问题,所以无论如何我决定发布它。
答案 1 :(得分:1)
根据文档,您的语法是正确的;但您的AWS客户端太旧,无法支持--tag-specifications
选项。
[在OS X上,至少]使用pip install --upgrade --user awscli
将客户端升级到当前版本。
答案 2 :(得分:0)
找到了答案。调用中的语法不同: http://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html
编辑:
QUERY=$(aws ec2 run-instances --image-id ${AMI_ID} --count 1 --instance-type t2.micro --key-name ${KEY_PAIR} --subnet-id ${SUBNET_ID} \
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value='${EC2_TAG}'}]' --associate-public-ip-address --output=text )
答案 3 :(得分:-1)
您缺少'
--tag-specifications value的单引号:
例如。来自aws ec2 run-instances documentation:
aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --subnet-id subnet-6e7f829e --tag-specifications 'ResourceType=instance,Tags=[{Key=webserver,Value=production}]' 'ResourceType=volume,Tags=[{Key=cost-center,Value=cc123}]'