【问题标题】:Check if AWS resource has been deployed by CloudFormation检查 CloudFormation 是否已部署 AWS 资源
【发布时间】:2020-01-04 15:43:21
【问题描述】:

我是大型 AWS 部署的新手,其中大部分内容是通过 CloudFormation 部署的(有些是通过 Terraform 部署的)。但总有一些情况是手动部署而不是通过代码部署的。是否有可靠的方法来快速确定部署中已经存在的资源(例如,EC2 实例)是通过 IaC 部署还是手动部署?一个 CloudFormation 特定的答案现在就足够了。

手动检查数百个 CloudFormation 堆栈并寻找资源不是一种选择。

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation infrastructure-as-code


    【解决方案1】:

    您可以识别由 cloudformation 创建的资源。 Cloudformation 应用了这里提到的几个默认标签

    aws:cloudformation:logical-id
    
    aws:cloudformation:stack-id
    
    aws:cloudformation:stack-name
    

    您可以运行脚本来检查资源是否包含这些标签中的一个/全部以更新您的计数。

    Offical documentation on resource tags

    【讨论】:

      【解决方案2】:

      很遗憾,您查看 AWS 资源时看不到它是如何创建的。虽然某些资源可能已被 CloudFormation 标记,表明它们是由 CloudFormation 堆栈创建的,但这仅对资源子集有效。

      确定资源是否通过 CloudFormation 堆栈创建的唯一可靠方法是遍历所有 CloudFormation 堆栈并检查相关资源是否属于其中的一部分。虽然手动操作可能会很麻烦,但您也可以使用 AWS CLI 自动完成。

      【讨论】:

      • 谢谢,是否有任何资源/文章/howto 可以为我指明如何实现这种自动化的方向?
      • 谢天谢地,EC2 实例似乎至少被标记了 - 至少今天让我免于悲痛。
      猜你喜欢
      • 2021-06-12
      • 2015-03-22
      • 1970-01-01
      • 2017-08-03
      • 2018-10-25
      • 2017-10-21
      • 2017-03-01
      • 2021-04-02
      • 1970-01-01
      相关资源
      最近更新 更多