gpt4 book ai didi

terraform - 使用 Terraform 作为 API

转载 作者:行者123 更新时间:2023-12-05 06:36:01 49 4
gpt4 key购买 nike

我想以编程方式使用 Terraform,就像调用 API/函数一样,在多个特定步骤中创建和拆除基础设施。例如,保留几个 eips,将实例添加到区域并在单独的步骤中分配其中一个 IP。 Terraform 目前将在本地运行,而不是在服务器上运行。

我想知道是否有推荐的方法/最佳实践来创建支持此配置的方法?到目前为止,我的选择似乎是:

  1. 正确定义输入/输出,在很大程度上依赖于资源分离、模块、计数参数和插值。
  2. 将配置文件生成为不太常见的 JSON 格式

谢谢!

最佳答案

与其直接使用 Terraform,我建议使用第 3 方构建/部署工具,例如 Jenkins , Bamboo , Travis CI等来管理由 Terraform 管理的基础设施的发布。原因是您应该以与应用程序代码完全相同的方式处理您的 Terraform 代码(即具有适当的构建/发布管道)。作为额外的好处,这些工具与标准 API 集成,可用于执行您的构建和部署过程。

如果您选择不创建构建/部署管道,您的其他选择是使用工具,例如 RunDeck它允许您在服务器上执行任意命令。它还具有出色的权限控制系统的额外好处,只允许指定的用户执行命令。您的另一个选择可能是从 Terraform 的开源版本升级到 Pro/Premium版本。此版本包括一个集成的 GUI 和广泛的 API .

至于使用 API 通过 Terraform 自动创建/拆除基础设施的最佳实践,无论您使用什么工具,最佳实践都是相同的。您提到了一些好的做法,例如明确定义输入/输出和创建关注点分离,这些都是很好的做法!我可以推荐的其他一些是:

  1. 使用 idempotency 创建所有基础架构代码记在心里。
  2. 使用模块来分隔代码的公共(public)共享部分。这减少了您必须更新代码的地方的数量,因此减少了推送更新时的错误点数量。
  3. 从一开始就在编写代码时考虑可扩展性。从这个开始比以后为时已晚进行调整要简单得多。

关于terraform - 使用 Terraform 作为 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49388278/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com