【问题标题】:Questions on AWS Cloudformation Tags and Logical ID's?有关 AWS Cloudformation 标签和逻辑 ID 的问题?
【发布时间】:2018-03-30 18:05:07
【问题描述】:

我想达到什么目标: 正在尝试使用云形成模板创建 VPC。

  1. 我观察到了什么:当我使用 Cloud-formation 模板创建 VPC 时,在所创建的每个服务的 TAGS 下[如子网、NAT、Internet 网关] 我看到了

aws:cloudformation:logical-id

aws:cloudformation:stack-id

aws:云形成:堆栈名称

我在 KEY/VALUE 下看到了上述内容,即使我的 JSON 模板不包含上述行。它们是自动创建的。 同时,当我创建一个没有云形成的 VPC[使用仪表板] 时,我在 TAGS 下看不到上述任何内容。有人可以解释为什么这些 TAGS 只能使用 Cloudformation 模板创建吗?

  1. 每当使用 AWS::EC2::VPCGatewayAttachment 和 AWS::EC2::Route 之类的服务(主要用于将已创建的 NAT 和 Internet 网关附加到子网或 VPC)时,我都会看到一个逻辑 ID用它创建。在更新发生之前,我会在“预览您的更改”] 下看到它们。 问题
    1. 更新后,我无法在任何地方引用/查看该逻辑 ID?
    2. 是否甚至为服务 AWS::EC2::VPCGatewayAttachment 和 AWS::EC2::Route 创建了逻辑 ID,它们只是充当硬件 [虚拟化硬件] 的推动者?

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation


    【解决方案1】:

    CloudFormation 默认将这些标签添加到它创建的所有资源中。运行成本分配报告并获得“每堆栈成本”实际上非常有帮助。 CloudFormation 使用这些标签对您的资源进行分组,并允许您使用逻辑标识符对堆栈执行命令,而无需知道所创建资源的实际标识符。 (例如:当使用等待条件时,您需要使用逻辑标识符而不是实际资源标识符来表示云形成)

    更新后,您应该能够在 CloudFormation 堆栈的“资源”选项卡下以及资源的标签中看到所有资源的逻辑标识符和实际标识符。我相信 CloudFormation 确实会为其创建的所有资源创建逻辑标识符。

    我注意到令人讨厌的一件事是在云形成中使用 S3 存储桶时。 CloudFormation 将 aws:* 标签添加到存储桶中,这会阻止您手动添加/删除其他标签,因为在保存时它会抱怨 aws:* 标签无效。因此,调整 S3 存储桶标签的唯一方法是通过云形成堆栈。

    截图:

    【讨论】:

    • 感谢 Maclema 的解释。我同意 Cloudformation 确实为所有资源创建了一个逻辑 ID,但在这种情况下,类型,即 AWS::EC2::VPCGatewayAttachment 和 AWS::EC2::Route 不会创建硬件或 VPC 的任何其他组件。它们用于将 NAT 和 IGW 附加到 VPC/子网。我不知道在仪表板中的何处查找这些资源的逻辑 ID。我唯一一次看到它们是在“预览您的更改”期间,更新发生后我在任何地方都看不到它。
    • 这很奇怪。使用我的 CF 堆栈,我确实在资源选项卡下看到了 VPCGatewayAttachment 的逻辑标识符。 (请参阅帖子所附的屏幕截图)。如果您在资源选项卡中没有看到网关附件,我怀疑它可能没有被创建。
    • 啊!!我得到了它。谢谢 Maclema。我现在也看到了。顺便说一句,我们有什么方法可以在主仪表板中看到 VPCGatewayAttachment 的逻辑 ID,在通过 CF 模板创建 VPC 后,您可以看到各个区域的所有创建的子网、IGW 和 NAT。感谢您对此的分析。
    • 我不相信还有其他地方可以看到附件或其标签。
    • 可以请你帮忙这里似乎是相关的stackoverflow.com/questions/69822341/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    • 2016-02-06
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多