跳至内容

如何修改我的 CloudFormation 模板标签以使其与我的资源标签相匹配?

1 分钟阅读
0

我想将我的 CloudFormation 模板标签与资源标签相匹配,以保持基础设施的一致性。

解决方法

检查受影响的堆栈是否存在偏差

完成以下步骤:

  1. 打开 AWS Health Dashboard 以获取受影响的资源数据。
  2. 检测您的 CloudFormation 堆栈上是否存在偏差,并查看偏差结果。
    **注意:**有关偏差检测的更多信息,请参阅资源类型支持检测各个堆栈资源上的偏差
  3. 如果资源的偏差状态为 MODIFIED(已修改),请选取该资源并选择 View drift details(查看偏差详细信息)以查看差异。

为支持偏差检测的资源匹配资源标签

对于支持偏差检测的资源,在以下场景中,您可以将模板标签与资源标签进行匹配:

  • 资源的偏差状态为 MODIFIED(已修改),且资源支持偏差检测。
  • 资源使用 REMOVE 差异类型状态代码进行了标签更改。
  • 资源的标签更改未标记为 REMOVE,且 Actual(实际)中的每个标签键都在 Expected(预期)范围内。

**重要事项:**以下步骤会暂时从其他资源中移除堆栈级标签。如果您的服务依赖堆栈级标签,请修改资源上的标签。

要匹配您的资源标签,请完成以下步骤:

  1. 保存您的原始 CloudFormation 模板的副本。
  2. 在复制的 CloudFormation 模板中,删除带有 REMOVE 标签的资源级标签。
  3. 使用新模板更新堆栈,然后删除带有 REMOVE 标记的堆栈级标签。
    **重要事项:**务必重新应用失败的标签。
  4. 更改回原始模板,然后通过添加堆栈级标签重新部署模板。

修改资源上的标签

在以下场景中,您可以修改资源上的标签:

  • 资源的标签更改标记为 REMOVE。资源的标签更改显示,处于 Expected(预期)状态的标签键不存在于 Actual(实际)状态中。
  • 资源的标签更改未标记为 REMOVE。标签键处于 Expected(预期)和 Actual(实际)状态,但值不同。

根据偏差检测的详细信息,请对资源执行以下操作:

  • 添加在 Expected(预期)下列出但在 Actual(实际)中缺失的每个标签键和值。
  • 移除在 Actual(实际)下列出但在 Expected(预期)中缺失的每个标签键。
  • 对于在 Expected(预期)和 Actual(实际)下列出但值不同的每个标签键,请将标签更新为 Expected(预期)。

要修改资源上的标签,请完成以下步骤:

  1. 打开 CloudFormation 控制台
  2. 在导航窗格中,选择 Stacks(堆栈),然后选择您的堆栈。
  3. 选择 Resources(资源),然后选择受影响资源的 Physical ID(物理 ID)链接。
  4. 在资源的 Tags(标签)部分中,手动添加、移除或更新每个标签。标签必须与偏差详细信息中 Expected(预期)下列出的状态相匹配。
  5. 选择 Save(保存)。

要验证堆栈和资源是否匹配,最佳做法是再次执行偏差检测操作。

为不支持偏差检测的资源匹配资源标签

**注意:**以下更新重新应用了您在没有足够权限时未能应用的标签。

如果您的资源不支持偏差检测,则将您的 CloudFormation 模板副本与已部署的资源进行比较。

如果您的资源中没有标签,但 CloudFormation 模板中有标签,请完成以下步骤:

  1. 从 CloudFormation 模板中移除所有标签。
  2. 应用复制的 CloudFormation 模板来更新堆栈。然后,移除堆栈级标签。
  3. 更改回原始 CloudFormation 模板,然后重新部署模板,将所有堆栈级标签添加回来。

如果资源中的标签与堆栈中的标签不匹配,请完成以下步骤:

  1. 移除堆栈级标签以更新堆栈。
  2. 在 CloudFormation 模板中,修改标签,使其与资源中的标签相匹配。
  3. 使用新的 CloudFormation 模板来更新堆栈。务必添加回堆栈级标签。
AWS 官方已更新 3 个月前