我怎样才能从头开始使用 Terraform?
How can I start all over with terraform?
在我的 AWS 基础设施中,我在一个应用程序下存在多个环境,即:
- foo-application(AWS elasticbeanstalk 应用程序)
- foo-application-dev(tomcat 环境)
- foo-application-int
- foo-应用程序系统
在这些环境中,SYS 最接近我需要的体系结构和配置。我希望能够重新创建其他环境,使其看起来像 sys(但命名为 dev、int)。我有最初用于创建一些环境的 terraform 脚本,但这些脚本现在已经偏离当前状态。我想从 SYS 获取当前状态,并将其应用于 dev 和 int。我是 terraform 和 Whosebug 的新手,所以请让我松懈 :)
所有的 envs 都有一个状态文件,这是我正在尝试做的,但不确定如何去做..
- 删除所有状态文件
- 从 SYS 工作区中的 SYS 环境创建一个新的状态文件
- 将状态复制到 dev 和 int 工作区
- 应用 dev 和 int 计划并使环境同步。
我希望这是有道理的。
我 运行 针对开发环境的 Terraform 计划,它看起来比我预期的要多得多。我的研究告诉我,terraform 将当前状态与上次 terraform 运行 进行比较 - 因此在 env 中手动完成的事情可能会导致问题。我没有足够的信心 运行 申请,因为担心它会损坏我无法拥有的 SYS 环境。
我想要的:除了命名约定外,三个环境完全相同。
您应该使用 the terraform import
workflow 使您的 SYS 环境的状态文件与您创建的实际基础结构保持一致。请注意,如果您在 SYS 环境中手动创建了大量基础结构,这将需要大量工作。
但是,在此过程结束时,您将拥有一套完整的 SYS 环境的 Terraform 代码,您可以将其转换为可重用组件的模块。 You can then use this module 创建 DEV 和 INT 环境作为 SYS 环境的克隆,但具有不同的命名约定。
在我的 AWS 基础设施中,我在一个应用程序下存在多个环境,即:
- foo-application(AWS elasticbeanstalk 应用程序)
- foo-application-dev(tomcat 环境)
- foo-application-int
- foo-应用程序系统
在这些环境中,SYS 最接近我需要的体系结构和配置。我希望能够重新创建其他环境,使其看起来像 sys(但命名为 dev、int)。我有最初用于创建一些环境的 terraform 脚本,但这些脚本现在已经偏离当前状态。我想从 SYS 获取当前状态,并将其应用于 dev 和 int。我是 terraform 和 Whosebug 的新手,所以请让我松懈 :)
所有的 envs 都有一个状态文件,这是我正在尝试做的,但不确定如何去做..
- 删除所有状态文件
- 从 SYS 工作区中的 SYS 环境创建一个新的状态文件
- 将状态复制到 dev 和 int 工作区
- 应用 dev 和 int 计划并使环境同步。
我希望这是有道理的。
我 运行 针对开发环境的 Terraform 计划,它看起来比我预期的要多得多。我的研究告诉我,terraform 将当前状态与上次 terraform 运行 进行比较 - 因此在 env 中手动完成的事情可能会导致问题。我没有足够的信心 运行 申请,因为担心它会损坏我无法拥有的 SYS 环境。
我想要的:除了命名约定外,三个环境完全相同。
您应该使用 the terraform import
workflow 使您的 SYS 环境的状态文件与您创建的实际基础结构保持一致。请注意,如果您在 SYS 环境中手动创建了大量基础结构,这将需要大量工作。
但是,在此过程结束时,您将拥有一套完整的 SYS 环境的 Terraform 代码,您可以将其转换为可重用组件的模块。 You can then use this module 创建 DEV 和 INT 环境作为 SYS 环境的克隆,但具有不同的命名约定。