根据用户指南here,使用CLI编写我的第一个EC2实例启动脚本。我使用控制台手动创建了一个启动模板,并尝试使用提供的指示从中启动实例,但不断收到以下错误:
erich@ip-172-31-69-124:~$ aws ec2 run-instances --launch-template LaunchTemplateId=lt-0a0d15f9401ca8442
...
aws: error: the following arguments are required: --image-id
我可以使用控制台手动启动此模板,并验证它不仅是通过模板启动的,还包含必需的--image-id
:
erich@ip-172-31-69-124:~$ aws ec2 describe-instances --query 'Reservations[].Instances[?State.Name==`running`].[InstanceId,ImageId,Tags[]]' --output text
i-061a270a16dd30a7e ami-66506c1c
aws:ec2launchtemplate:id lt-0a0d15f9401ca8442
aws:ec2launchtemplate:version 2
如果我指定--image-id
之类的问题,我会收到此错误:
erich@ip-172-31-69-124:~$ aws ec2 run-instances --launch-template LaunchTemplateId=lt-0a0d15f9401ca8442 --image-id ami-66506c1c
...
Unknown options: --launch-template, LaunchTemplateId=lt-0a0d15f9401ca8442
好奇,为什么aws ec2 run-instances
无法识别该选项?
erich@ip-172-31-69-124:~$ aws ec2 run-instances help
...
SYNOPSIS
run-instances
[--dry-run | --no-dry-run]
--image-id <value>
[--key-name <value>]
[--security-groups <value>]
[--security-group-ids <value>]
[--user-data <value>]
[--instance-type <value>]
[--placement <value>]
[--kernel-id <value>]
[--ramdisk-id <value>]
[--block-device-mappings <value>]
[--monitoring <value>]
[--subnet-id <value>]
[--disable-api-termination | --enable-api-termination]
[--instance-initiated-shutdown-behavior <value>]
[--private-ip-address <value>]
[--client-token <value>]
[--additional-info <value>]
[--network-interfaces <value>]
[--iam-instance-profile <value>]
[--ebs-optimized | --no-ebs-optimized]
[--count <value>]
[--secondary-private-ip-addresses <value>]
[--secondary-private-ip-address-count <value>]
[--associate-public-ip-address | --no-associate-public-ip-address]
[--cli-input-json <value>]
[--generate-cli-skeleton]
嗯,这解释了它,但它没有解释它。 --launch-template
选项在哪里?
答案 0 :(得分:4)
您使用的是不支持--launch-template
选项的旧版CLI。
$ aws ec2 --version
aws-cli/1.11.109 Python/2.6.9 Linux/4.1.17-22.30.amzn1.x86_64 botocore/1.7.20
$ aws ec2 run-instances --launch-template
aws: error: argument --image-id is required
升级后:
$ sudo pip install awscli --upgrade
$ aws ec2 --version
aws-cli/1.14.65 Python/2.6.9 Linux/4.1.17-22.30.amzn1.x86_64 botocore/1.9.18
$ aws ec2 run-instances --launch-template
aws: error: argument --launch-template: expected one argument
$ aws ec2 run-instances help
[--launch-template <value>]