在我的AWS基础设施中,一个应用程序下存在多个环境,即:
在这些环境中,SYS最接近我需要的体系结构和配置。我希望能够重新创建其他环境,使其看起来像sys(但名为dev,int)。我有最初用于创建某些env的terraform脚本,但是现在已经偏离了当前状态。我想从SYS中获取当前状态,并将其应用于dev和int。我是terraform和stackoverflow的新手,所以请给我一些懈怠:)
所有环境都有一个状态文件,这是我要尝试执行的操作,但不确定如何处理。
我希望这是有道理的。
我针对开发环境运行了一个地形计划,看来它要做的比我预期的要多得多。我的研究告诉我,terraform将当前状态与上次运行terraform进行比较-因此在env中手动完成的操作可能会引起问题。我没有足够的信心去运行应用程序,因为它担心会损坏我无法拥有的SYS环境。
我想要的是:除命名约定外,三个完全相同的环境。
答案 0 :(得分:2)
您应使用the terraform import
workflow将SYS环境的状态文件与您创建的实际基础结构对齐。请注意,如果您已在SYS环境中手动创建了大量基础结构,则将需要大量工作。
但是,在此过程结束时,您将获得针对SYS环境的一整套Terraform代码,您可以将其转换为可重用组件的模块。 You can then use this module将DEV和INT环境创建为SYS环境的克隆,但是具有不同的命名约定。