首页 > 解决方案 > 使用 Terraform 重复创建基础架构

问题描述

我正在探索将 Terraform 作为管理可重用 AWS EC2 实例组的工具。我对基础设施工具不是很熟悉,并且正在寻找关于在这个用例中做什么的建议。

  1. 我想重复创建多个 EC2 实例——比如我第一次调用terraform apply我的基础设施需要 3 个实例。过了一会儿,我想创建 100 个实例——也许不会破坏我之前创建的 3 个实例。如何在 Terraform 中执行此操作?我应该这样做吗?如果我不应该使用 Terraform 来重复配置,那么有什么好的工具可以做到这一点?

  2. 有哪些工具可以在创建的 Terraform 基础设施上远程执行 bash 或 Python 脚本?我知道 Terraform 有remote-exec,但是我需要在这些实例上运行的命令需要很长时间才能运行(3-5 小时),我宁愿没有资源处于它们仍在初始化的状态,因为我无法监控它们.

标签: terraformterraform-provider-aws

解决方案


带有预装软件的自定义 AMI 将帮助您缩短启动时间。Hashicorp 打包器https://www.packer.io/intro/是创建 AMI 的好工具。

  1. 使用 terraform 创建一个 ec2 实例。
  2. 用户数据脚本或运行 remote-exec 以运行安装所需软件包/软件的脚本。
  3. 从上述 ec2-instance 创建一个 AMI。
  4. 使用新创建的 AMI 启动所需数量的 ec2 实例。

By Ansible 还提供了非常好的功能来管理基础设施即代码。


推荐阅读