无法在AWS CLI中从模板启动?

时间:2018-03-27 22:48:45

标签: amazon-web-services amazon-ec2 aws-cli

根据用户指南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选项在哪里?

1 个答案:

答案 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>]