View a markdown version of this page

了解 RFC 更新 CT 和 CloudFormation 模板偏差检测 - AMS 高级用户指南

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

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

了解 RFC 更新 CT 和 CloudFormation 模板偏差检测

在 AMS 中预置的资源使用修改后的 CloudFormation 模板。如果资源直接通过服务的 AWS 管理控制台更改了参数,则该资源的 CloudFormation 创建记录将不同步。如果发生这种情况,并且您尝试使用 AMS 更新更改类型来更新 AMS 中的资源,则 AMS 将引用原始资源配置,并可能重置更改后的参数。此重置可能会造成损害,因此,如果检测到任何额外的 AMS 配置更改,AMS 将禁止具有更新更改类型的 RFC。

有关更新更改类型的列表,请使用控制台过滤器。

漂移修复常见问题解答

关于AMS漂移修复的问题和答案。

支持漂移修复的资源 (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 漂移补救变更类型的问题和答案。

有关偏差修复功能支持的资源列表,请参阅支持漂移修复的资源 (ct-3kinq0u4l33zf)

重要

漂移修复会修改堆栈模板 and/or 参数,因此必须更新您的本地模板存储库或任何更新这些堆栈的自动化以使用最新的堆栈模板和参数。在不进行同步的情况下使用旧模板 and/or 参数可能会对基础资源造成破坏性更改。

无托管自动化、自动化、CT(ct-3kinq0u4l33zf)每个 RFC 仅支持修复 10 个资源。要以 10 个为一批修复剩余资源,请创建新的 RFC,直到修复所有资源为止。

我应该在何时使用漂移补救更改类型?

在以下情况下使用漂移修复自动 CT (ct-3kinq0u4l33zf):

  • 您尝试使用自动 CT 对现有堆栈资源执行更新,但是 RFC 会被拒绝,因为堆栈是DRIFTED这样。

  • 你过去使用过 Update CT,但由于堆栈已漂移,它失败了。

修复期间对堆栈进行了哪些更改?

修复需要根据漂移的属性更新堆栈模板 and/or 参数。修复还会在修复期间更新堆栈的堆栈策略,并在修复完成后将堆栈策略恢复到其先前的值。

我们如何才能看到对堆栈模板 and/or 参数所做的更改?

在对 RFC 的回应中,提供了包含以下信息的变更摘要:

  • ChangeSummaryJson:包含作为偏差修复一部分的堆栈模板 and/or 参数的变更摘要。补救措施分多个阶段执行。此变更摘要包含各个阶段的变更。如果修复成功,请检查最后阶段的更改。有关按顺序执行的阶段,请参见 ExecutionPlan JSON。例如, RestoreReferences 部分存在时始终在最后执行,并包含用于补救后更改的 JSON。如果补救措施在 DryRun 模式下运行,则这些更改都不会应用于堆栈。

  • PreRemediationStackTemplateAndConfigurationJson:包含在 CloudFormation 堆栈上触发修复 StackPolicyBody 之前的堆栈配置快照,包括模板、参数、输出。

修复完成后我需要做什么?
重要

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

在这次补救期间,我的申请会受到影响吗?

修复是一个离线过程,只能在 CloudFormation 堆栈配置上执行。不对底层资源执行任何更新。

修复后,我能否继续使用管理 | 其他 RFC 对资源进行更新?

我们建议您始终使用可用的自动更新 CT 对堆栈资源执行更新。当可用的更新 CT 不支持您的用例时,使用 “管理” | “其他” | “其他请求”。

补救措施会在堆栈中创建任何新资源吗?

补救不会在堆栈中创建任何新资源。但是,修复会创建新的输出并更新堆栈模板元数据部分以存储修复摘要以供您参考。

补救措施会一直成功吗?

补救需要仔细分析和验证模板配置,以确定是否可以执行。在这些验证失败的情况下,修复过程将停止,并且不会对堆栈模板或参数进行任何更改。此外,只能对支持的资源类型进行修复。

如果修复不成功,如何对堆栈资源执行更新?

你可以使用管理 | 其他 | 其他 | 更新 CT (ct-0xdawir96cy7k) 请求更改。AMS 会监控此类情景并努力改进修复解决方案。

我能否修复同时具有支持和不支持的资源类型的堆栈?

可以。但是,只有在堆栈中发现支持的资源类型为 DRIFTED 时,才会进行修复。如果任何不支持的资源类型为 DRIFTED,则无法继续修复。

我能否为通过标准 AMS 变更类型(非 CFN 提取)创建的堆栈申请偏差补救?

可以。可以使用自动 CT(ct-3kinq0u4l33zf)对通过标准 AMS 变更类型创建的堆栈进行漂移修复。AMS 不支持对通过标准 AMS 更改类型(非 CFN 提取)创建的堆栈进行手动偏移修复。

我能否请求对通过 CloudFormation 采集变更类型配置的堆栈进行偏差补救?

不。通过 AMS CloudFormation 采集更改类型 (ct-36cn2avfrrj9v) 配置的堆栈不支持漂移补救。为此目的提交的 RFC 因超出范围而被拒绝。 CloudFormation-ingested 堆栈使用客户自有模板,偏差可能反映了故意的带外更改,而仅凭模板无法安全地重构这些更改。作为 CloudFormation-ingested 堆栈的所有者,你有责任直接管理堆栈漂移。

我能知道在修复之前将对堆栈执行哪些更改吗?

可以。偏差修复更改类型 (ct-3kinq0u4l33zf) 提供了一个DryRun选项,您可以使用该选项来请求在修复堆栈后执行的更改。但是,最终的补救更改可能会有所不同,具体取决于修复时堆栈上存在的偏差。