将 ModifyInstanceAttribute 与 CLI 配合使用
以下代码示例演示如何使用 ModifyInstanceAttribute。
- CLI
-
- AWS CLI
-
示例 1:修改实例类型
以下
modify-instance-attribute示例修改指定实例的实例类型。该实例必须处于stopped状态。aws ec2 modify-instance-attribute \ --instance-idi-1234567890abcdef0\ --instance-type "{\"Value\": \"m1.small\"}"此命令不生成任何输出。
示例 2:在实例上启用增强联网
以下
modify-instance-attribute示例为指定实例启用增强联网。该实例必须处于stopped状态。aws ec2 modify-instance-attribute \ --instance-idi-1234567890abcdef0\ --sriov-net-supportsimple此命令不生成任何输出。
示例 3:修改 sourceDestCheck 属性
以下
modify-instance-attribute示例将指定实例的sourceDestCheck属性设置为true。该实例必须在 VPC 中。aws ec2 modify-instance-attribute --instance-idi-1234567890abcdef0--source-dest-check "{\"Value\": true}"此命令不生成任何输出。
示例 4:修改根卷的 deleteOnTermination 属性
以下
modify-instance-attribute示例将指定的 Amazon EBS 支持的实例的根卷的deleteOnTermination属性设置为false。默认情况下,根卷的此属性为true。命令:
aws ec2 modify-instance-attribute \ --instance-idi-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 \ --attributeuserData--valuefile://UserData.base64.txt此命令不生成任何输出。
有关更多信息,请参阅《EC2 用户指南》中的用户数据和 AWS CLI。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ModifyInstanceAttribute
。
-
- PowerShell
-
- Tools for PowerShell V4
-
示例 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-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 ModifyInstanceAttribute。
-
- Tools for PowerShell V5
-
示例 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-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V5)》中的 ModifyInstanceAttribute。
-
有关 AWS SDK 开发人员指南和代码示例的完整列表,请参阅 使用 AWS SDK 创建 Amazon EC2 资源。本主题还包括有关入门的信息以及有关先前的 SDK 版本的详细信息。