如何更新因手动删除的资源导致失败的 CloudFormation 堆栈?

1 分钟阅读
0

我手动删除了由我的一个 AWS CloudFormation 堆栈创建的资源,现在我的堆栈无法更新。

简短描述

如果删除由 CloudFormation 堆栈创建的资源,您的堆栈将无法更新,并且会收到一条错误消息。

请根据资源类型选择以下解决方法之一:

  • 使用唯一名称更新资源
  • 使用唯一 ID 更新资源

解决方法

使用唯一名称更新资源

如果删除的资源支持唯一名称,则您可以手动创建资源来更新堆栈。注意,新资源必须与删除的资源名称相同。如果尝试使用不同的名称,则 CloudFormation 可能无法按照您预期的方式处理该资源,因为 AWS Identity and Access Management (IAM) 角色是按名称进行跟踪的。如果意外删除了 IAM 角色,请使用相同名称手动重新创建该角色。

要使用唯一名称更新 IAM 角色或任何其他资源,请完成以下步骤:

  1. 打开 AWS CloudFormation 控制台
  2. 选择堆栈,然后选择资源视图。
  3. 物理 ID 列中,找到要替换为新 IAM 角色的 IAM 角色的物理 ID。
    **注意:**物理 ID 是资源的名称。
  4. 创建新 IAM 角色,然后为新角色提供在步骤 3 中找到的同一个物理 ID。
  5. 更新堆栈

**注意:**有关详细信息,请参阅更新堆栈模板

使用唯一 ID 更新资源

您无法使用唯一 ID 手动重新创建资源,如路由表。有关如何创建此资源的详细信息,请参阅如何重新创建在 CloudFormation 之外删除的资源?

相关信息

对 CloudFormation 进行故障排除

AWS 官方
AWS 官方已更新 2 个月前