与 AWS SDK或ModifyInstanceAttribute一起使用 CLI - AWS SDK代码示例

AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

与 AWS SDK或ModifyInstanceAttribute一起使用 CLI

以下代码示例演示如何使用 ModifyInstanceAttribute

CLI
AWS CLI

示例 1:修改实例类型

以下modify-instance-attribute示例修改了指定实例的实例类型。该实例必须处于 stopped 状态。

aws ec2 modify-instance-attribute \ --instance-id i-1234567890abcdef0 \ --instance-type "{\"Value\": \"m1.small\"}"

此命令不生成任何输出。

示例 2:在实例上启用增强联网

以下modify-instance-attribute示例为指定实例启用增强联网。该实例必须处于 stopped 状态。

aws ec2 modify-instance-attribute \ --instance-id i-1234567890abcdef0 \ --sriov-net-support simple

此命令不生成任何输出。

示例 3:修改 sourceDestCheck 属性

以下modify-instance-attribute示例将指定实例的sourceDestCheck属性设置为true。该实例必须位于VPC.

aws ec2 modify-instance-attribute --instance-id i-1234567890abcdef0 --source-dest-check "{\"Value\": true}"

此命令不生成任何输出。

示例 4:修改根卷的 deleteOnTermination 属性

以下modify-instance-attribute示例将由亚马逊EBS支持的指定实例的根卷的deleteOnTermination属性设置为。false默认情况下,此属性true适用于根卷。

命令:

aws ec2 modify-instance-attribute \ --instance-id i-1234567890abcdef0 \ --block-device-mappings "[{\"DeviceName\": \"/dev/sda1\",\"Ebs\":{\"DeleteOnTermination\":false}}]"

此命令不生成任何输出。

示例 5:修改附加到实例的用户数据

以下modify-instance-attribute示例将文件内容添加UserData.txt UserData 为指定实例。

原始文件的内容UserData.txt

#!/bin/bash yum update -y service httpd start chkconfig httpd on

该文件的内容必须采用 base64 编码。第一个命令将文本文件转换为 base64 并将其另存为新文件。

该命令的 Linux/macOS 版本:

base64 UserData.txt > UserData.base64.txt

此命令不生成任何输出。

该命令的 Windows 版本:

certutil -encode UserData.txt tmp.b64 && findstr /v /c:- tmp.b64 > UserData.base64.txt

输出:

Input Length = 67 Output Length = 152 CertUtil: -encode command completed successfully.

现在,你可以在下面的CLI命令中引用该文件:

aws ec2 modify-instance-attribute \ --instance-id=i-09b5a14dbca622e76 \ --attribute userData --value file://UserData.base64.txt

此命令不生成任何输出。

有关更多信息,请参阅用户数据和《EC2用户指南》 AWS CLI中的。

PowerShell
用于 PowerShell

示例 1:此示例修改了指定实例的实例类型。

Edit-EC2InstanceAttribute -InstanceId i-12345678 -InstanceType m3.medium

示例 2:此示例通过将 “simple” 指定为单根 I/O 虚拟化 (SR-IOV) 网络支持参数的值,为指定实例启用增强联网,-SriovNetSupport..

Edit-EC2InstanceAttribute -InstanceId i-12345678 -SriovNetSupport "simple"

示例 3:此示例修改指定实例的安全组。该实例必须位于VPC. 必须指定每个安全组的 ID,而不是名称。

Edit-EC2InstanceAttribute -InstanceId i-12345678 -Group @( "sg-12345678", "sg-45678901" )

示例 4:此示例为指定实例启用 EBS I/O 优化。并非所有实例类型都提供此功能。使用EBS经过优化的实例时,需要支付额外的使用费。

Edit-EC2InstanceAttribute -InstanceId i-12345678 -EbsOptimized $true

示例 5:此示例启用对指定实例的源/目标检查。要使NAT实例执行NAT,该值必须为 “false”。

Edit-EC2InstanceAttribute -InstanceId i-12345678 -SourceDestCheck $true

示例 6:此示例禁用指定实例的终止功能。

Edit-EC2InstanceAttribute -InstanceId i-12345678 -DisableApiTermination $true

示例 7:此示例更改了指定的实例,使其在实例启动关闭时终止。

Edit-EC2InstanceAttribute -InstanceId i-12345678 -InstanceInitiatedShutdownBehavior terminate