View a markdown version of this page

CloudFormation 模板中的堆栈 | 修复偏差 - AMS 高级更改类型参考

终止支持通知:2027 年 6 月 30 日, AWS 将终止对 AMS Advanced 的支持。2027 年 6 月 30 日之后,您将无法再访问 AMS 高级控制台或 AMS 高级资源。有关更多信息,请参阅 AMS 高级终止支持

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

CloudFormation 模板中的堆栈 | 修复偏差

修复堆栈中的偏差(带外更改),使堆栈同步,使您能够使用可用的 Update CT 执行未来的更新。注意:每个 RFC 最多可修复 10 个漂移资源。

完整分类:管理 | 自定义堆栈 | CloudFormation 模板堆栈 | 修复偏差

更改类型详情

更改类型 ID

ct-3kinq0u4l33zf

当前版本

1.0

预期执行时长

60 分钟

AWS 批准

必填

客户批准

非必需

执行模式

自动

附加信息

修复堆栈漂移

支持漂移修复的资源 (ct-3kinq0u4l33zf)

这些是偏差修复变更类型 (ct-3kinq0u4l33zf) 支持的资源。

AWS::EC2::Instance AWS::EC2::SecurityGroup AWS::EC2::VPC AWS::EC2::Subnet AWS::EC2::NetworkInterface AWS::EC2::EIP AWS::EC2::InternetGateway AWS::EC2::NatGateway AWS::EC2::NetworkAcl AWS::EC2::RouteTable AWS::EC2::Volume AWS::AutoScaling::AutoScalingGroup AWS::AutoScaling::LaunchConfiguration AWS::AutoScaling::LifecycleHook AWS::AutoScaling::ScalingPolicy AWS::AutoScaling::ScheduledAction AWS::ElasticLoadBalancing::LoadBalancer AWS::ElasticLoadBalancingV2::Listener AWS::ElasticLoadBalancingV2::ListenerRule AWS::ElasticLoadBalancingV2::LoadBalancer AWS::CloudWatch::Alarm

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

修复堆栈漂移变更类型,显示描述、ID ct-3kinq0u4l33zf 和版本 1.0。

工作原理:

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

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

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

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

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

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

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

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

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

工作原理:

  1. 使用内联创建(您发出包含所有 RFC 和执行参数的create-rfc命令)或模板创建(创建两个 JSON 文件,一个用于 RFC 参数,一个用于 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 --change-type-id "ct-3kinq0u4l33zf" --change-type-version "1.0" --title "Remediate Stack Drift, no ops review" --execution-parameters "{\"DocumentName\": \"AWSManagedServices-StartDriftRemediation\", \"Region\": \"us-east-1\", \"Parameters\": {\"StackName\": [\"stack-xxxxxxxxxxxxxxxxx\"]}}"

模板创建

  1. 将此更改类型的执行参数 JSON 架构输出到文件中;此示例将其命名 RemediateDriftNrrParams.json为:

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

    { "DocumentName": "AWSManagedServices-StartDriftRemediation", "Region": "us-east-1", "Parameters": { "StackName": [ "stack-xxxxxxxxxxxxxxxxx" ] } }
  3. 将 RFC 模板 JSON 文件输出到文件中;此示例将其 RemediateDriftNrrRfc.json命名为:

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

    { "ChangeTypeId": "ct-3kinq0u4l33zf", "ChangeTypeVersion": "1.0", "Title": "Remediate stack drift, no ops review" }
  5. 创建 RFC,指定 RemediateDriftNrrRfc 文件和 RemediateDriftNrrParams 文件:

    aws amscm create-rfc --cli-input-json file://RemediateDriftNrrRfc.json --execution-parameters file://RemediateDriftNrrParams.json

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

重要

堆栈修复修改堆栈模板 and/or 参数值。修复完成后,您必须使用重构的 RFC 摘要中提供的最新模板和参数更新本地模板存储库或任何将更新已修复堆栈的自动化。这样做非常重要,因为使用旧的模板 and/or 参数可能会对堆栈资源造成破坏性变化。

有关更多详细信息,包括限制列表,请参阅漂移修复常见问题解答

注意

使用手动 CT 时,AMS 建议您使用 “尽快计划” 选项(在控制台中选择 “尽快”,将开始和结束时间留空 API/CLI),因为这些 CT 需要 AMS 操作员检查 RFC,并可能在批准和运行之前与您沟通。如果您计划这些 RFC,请务必留出至少 24 小时。如果未在预定开始时间之前获得批准,则自动拒绝 RFC。

执行输入参数

有关执行输入参数的详细信息,请参阅变更架构类型 ct-3kinq0u4l33zf

示例:必需的参数

Example not available.

示例:所有参数

{ "DocumentName": "AWSManagedServices-StartDriftRemediation", "Region": "us-east-1", "Parameters": { "StackName": ["stack-a1b2c3d4e5f678900"], "DryRun": ["true"] } }