EC2 实例堆栈 | 更新(使用其他卷) - AMS 高级更改类型参考

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

EC2 实例堆栈 | 更新(使用其他卷)

用于修改使用 CT ID ct-1aqsjf86w6vxg(版本 3.0)创建的 EC2 实例的属性。

完整分类:管理 | 高级堆栈组件 | EC2 实例堆栈 | 更新(包含更多卷)

更改类型详情

更改类型 ID

ct-1o1x2itfd6rk8

当前版本

3.0

预期执行时长

60 分钟

AWS 批准

必需

客户批准

可选

执行模式

自动

附加信息

更新堆栈(包含更多卷)

AMS 控制台中此更改类型的屏幕截图:

变更 type details for updating EC2 stack with additional volumes, showing ID and version.

它是如何运作的:

  1. 导航到 “创建 RFC” 页面:在 AMS 控制台的左侧导航窗格中,单击RFCs打开 RFCs 列表页面,然后单击 “创建 R FC”。

  2. 在默认的 “浏览更改类型” 视图中选择常用更改类型 (CT),或者在 “按类别选择” 视图中选择 CT。

    • 按更改类型浏览:您可以单击 “快速创建” 区域中的常用 CT,立即打开 “运行 RFC” 页面。请注意,您不能使用快速创建来选择较旧的 CT 版本。

      要进行排序 CTs,请使用卡片视图或表格视图中的所有更改类型区域。在任一视图中,选择一个 CT,然后单击 “创建 RFC” 打开 “运行 RFC” 页面。如果适用,“创建 RFC” 按钮旁边会出现 “使用旧版本创建” 选项。

    • 按类别选择:选择类别、子类别、项目和操作,CT 详细信息框将打开,并显示 “使用旧版本创建” 选项(如果适用)。单击 “创建 RFC” 打开 “运行 RFC” 页面。

  3. 在 “运行 RFC” 页面上,打开 CT 名称区域以查看 CT 详细信息框。必须填写主题(如果您在 “浏览更改类型” 视图中选择 CT,则会为您填写此主题)。打开其他配置区域以添加有关 RFC 的信息。

    执行配置区域中,使用可用的下拉列表或输入所需参数的值。要配置可选的执行参数,请打开其他配置区域。

  4. 完成后,单击 “运行”。如果没有错误,则会显示成功创建的 RFC 页面,其中包含已提交的 RFC 详细信息和初始运行输出。

  5. 打开运行参数区域以查看您提交的配置。刷新页面以更新 RFC 的执行状态。(可选)取消 RFC 或使用页面顶部的选项创建一个 RFC 的副本。

它是如何运作的:

  1. 使用 Inline Create(您发出包含所有 RFC 和执行参数的create-rfc命令)或模板创建(创建两个 JSON 文件,一个用于 RFC 参数,一个用于执行参数),然后以这两个文件作为输入发出create-rfc命令。这里描述了这两种方法。

  2. 提交带有返回的 RFC ID 的 RFC: aws amscm submit-rfc --rfc-id ID 命令。

    监控 RFC: aws amscm get-rfc --rfc-id ID 命令。

要检查更改类型版本,请使用以下命令:

aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
注意

您可以将任何CreateRfc参数与任何 RFC 一起使用,无论它们是否属于变更类型的架构的一部分。例如,要在 RFC 状态更改时收到通知,请将此行添加到请求的 RFC 参数部分(不是执行参数)。--notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}"有关所有 CreateRfc 参数的列表,请参阅《AMS 变更管理 API 参考》。

内联创建

使用内联提供的执行参数发出 create RFC 命令(内联提供执行参数时请转义引号),然后提交返回的 RFC ID。例如,你可以用这样的东西替换内容:

aws amscm create-rfc --title test-ec2-stack-with-additional-volumes-update --change-type-id ct-1o1x2itfd6rk8 --change-type-version 3.0 --execution-parameters '{"VpcId":"VPC_ID","StackId":"STACK_ID","Parameters":{"InstanceDetailedMonitoring":false,"InstanceEBSOptimized":false,"InstanceProfile":"customer-mc-ec2-instance-profile","InstanceType":"t2.small","InstanceUserData":"#!/bin/bash\\npwd\\nls -ltrh\\necho \"Hello, World\"","InstanceSecondaryPrivateIpAddressCount":1,"InstanceTerminationProtection":true,"Volume1Iops":100,"Volume1KmsKeyId":"12345678-1234-1234-1234-1234567890ab","Volume1Name":"/dev/sdf","Volume1Size":100,"Volume1Type":"io1"}}'

模板创建

  1. 将此更改类型的执行参数输出到 JSON 文件;此示例将其命名为 U EC2 AVParams pdate .json:

    aws amscm get-change-type-version --change-type-id "ct-1o1x2itfd6rk8" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > UpdateEC2AVParams.json
  2. 修改并保存更新EC2AVParams 文件,仅保留要更改的参数。例如,你可以用这样的东西替换内容:

    { "Description": "EC2-Update-1-Addl-Volumes", "VpcId": "VPC_ID", "Name": "My-EC2-1-Addl-Volume", "TimeoutInMinutes": 60, "Parameters": { "InstanceAmiId": "AMI_ID", "InstanceSubnetId": "SUBNET_ID", "Volume1Encrypted": "true", "Volume1Iops": "IOPS" "Volume1KmsKeyId": "KMS_MASTER_KEY_ID", "Volume1Name": "xvdh" "Volume1Size": "2 GiB", "Volume1Snapshot": "SNAPSHOT_ID", "Volume1Type": "iol" } }
  3. 将 RFC 模板输出到当前文件夹中的一个文件中;此示例将其命名为 U EC2 AVRfc pdate .json:

    aws amscm create-rfc --generate-cli-skeleton > UpdateEC2AVRfc.json
  4. 修改并保存更新 EC2 AVRfc .json 文件。例如,你可以用这样的东西替换内容:

    { "ChangeTypeVersion": "3.0", "ChangeTypeId": "ct-1o1x2itfd6rk8", "Title": "EC2-Update-1-Addl-Volume-RFC" }
  5. 创建 RFC,指定更新EC2AVRfc 文件和更新EC2AVParams 文件:

    aws amscm create-rfc --cli-input-json file://UpdateEC2AVRfc.json --execution-parameters file://UpdateEC2AVParams.json

    您在响应中收到新 RFC 的 ID,并可以使用它来提交和监控 RFC。在您提交之前,RFC 仍处于编辑状态且无法启动。

注意

这是版本 3.0 的更改类型,可用于更新使用相应的 3.0 版本创建更改类型 ct-1aqsjf86w6vxg 创建的 EC2 实例。

要了解有关亚马逊的更多信息 EC2,包括尺寸建议,请参阅亚马逊弹性计算云文档

执行输入参数

有关执行输入参数的详细信息,请参见变更架构类型 ct-1o1x2itfd6rk8

示例:必填参数

{ "VpcId": "vpc-1234567890abcdef0", "StackId": "stack-1234567890abcdef0", "Parameters": { } }

示例:所有参数

{ "VpcId": "vpc-1234567890abcdef0", "StackId": "stack-1234567890abcdef0", "Parameters": { "InstanceDetailedMonitoring": false, "InstanceEBSOptimized": false, "InstanceProfile": "customer-mc-ec2-instance-profile", "InstanceType": "t2.small", "InstanceUserData": "#!/bin/bash\\npwd\\nls -ltrh\\necho \"Hello, World\"", "InstanceSecondaryPrivateIpAddressCount": 1, "InstanceTerminationProtection": true, "Volume1Iops": 100, "Volume1Name": "/dev/sdf", "Volume1Size": 100, "Volume1Snapshot": "snap-1234567890abcdef0", "Volume1Type": "io1", "Volume2Iops": 100, "Volume2Name": "/dev/sdg", "Volume2Size": 100, "Volume2Snapshot": "snap-1234567890abcdef0", "Volume2Type": "io1", "Volume3Iops": 100, "Volume3Name": "/dev/sdh", "Volume3Size": 100, "Volume3Snapshot": "snap-1234567890abcdef0", "Volume3Type": "io1", "Volume4Iops": 100, "Volume4Name": "/dev/sdi", "Volume4Size": 100, "Volume4Snapshot": "snap-1234567890abcdef0", "Volume4Type": "io1", "Volume5Iops": 100, "Volume5Name": "/dev/sdj", "Volume5Size": 100, "Volume5Snapshot": "snap-1234567890abcdef0", "Volume5Type": "io1" } }