【问题标题】:Do CloudFormation target name or resources?CloudFormation 是否以名称或资源为目标?
【发布时间】:2019-06-15 02:49:04
【问题描述】:

我目前正在等待使用 terraform 和 CloudFormation。 有一个问题我还没有看到答案(或者,我只是还没有找到)。

在 terraform 中,您可以为所有事物指定一个准确的名称。这将删除具有这些名称的目标。 但是CF呢?如果我们已经有一个架构并且我想添加/删除一个实例并使用 CF,这将如何工作?它如何知道要针对哪个目标?

我希望这个问题有意义!我已经使用过 terraform,但从未使用过 CloudFormation。

【问题讨论】:

    标签: amazon-cloudformation terraform terraform-provider-aws


    【解决方案1】:

    CloudFormation 使用两种机制来识别其资源。 CFN 模板有一个它创建的资源列表,它使用实际 ID,而不是漂亮的名称,并且 CFN 还使用堆栈 ID 标记资源(支持标签)。

    CFN 不能用于删除不同堆栈中的资源,只有创建它们的堆栈才能管理它们。 Terraform 允许您将由其他任何东西创建的资源导入到一个新堆栈中,并在其中进行管理。

    在转换为 Terraform 之前,我使用了 CFN 一年(现在也使用了一年),我永远不会再回到 CFN。与 CFN 相比,Terraform 提供了许多优势,这使得 CFN 现在真的很难使用。诸如应用前计划、可重用模块、资源导入、粒度输出(CFN 主要是一个黑匣子)以及通常更快的 AWS 功能支持(通常 API 在发布当天发布,Terraform 支持很快就会出现,/通常/比 CFN 更快,但并非总是如此)。

    【讨论】:

    • 作为TF支持CFN之前的一个特性的例子:S3 Object Locking。 CFN 对 tit 的支持为零。 TF已经做到了。 TF 的缺点是无法导入 AWS CFN 仪表板,用法是 CLI 或 bust。
    • 我希望我可以说这对我来说是个问题,但是我使用 CI/CD 管道来运行 CFN 堆栈,所以我已经习惯了基于文本的输出(当然我会使用 CFN控制台获取更多详细信息)。 Terraform CLI 的输出非常详细且布局合理,您可以轻松获取所需信息并准确了解应用操作期间运行的内容。
    • 这正是我所需要的!感谢您的回答,真正的帮助:)
    猜你喜欢
    • 2019-02-26
    • 2015-06-12
    • 1970-01-01
    • 1970-01-01
    • 2021-06-23
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多