在使用云资源通过Terraform应用之前,我想先对云资源进行版本控制。无论如何,我可以运行一个命令并存储我的云的当前状态吗?
我试过使用Terraform的命令
terraform导入ADR ID
但这需要很长时间才能识别所有资源并导入它们。
我尝试过terraforming,但这也需要一个资源类型来导入:
地形形成s3
是否有任何工具可以帮助导入所有现有资源?
发布于 2019-06-30 10:56:35
虽然这在技术上没有回答您的问题,但我强烈建议您不要尝试以单一的方式将整个现有的AWS帐户导入Terraform,即使这是可能的。
如果你看看任何地形,最好的,实践,很大程度上可以归结为将物体的爆炸半径降到最小,所以只有那些有意义的东西才能同时被改变。慈善专业写了一篇关于这件事的好的博客文章,以及它在不这样做的时候产生的影响。
任何大规模导入东西的工具(如terraforming)都只是将所有内容转储到一个状态文件中。如前所述,这是个坏主意。
虽然这听起来很辛苦,但我建议您更仔细、更有条理地迁移到Terraform。一般来说,我可能会说,只有新的基础设施才能使用Terraform,利用Terraform的数据源来查找现有的东西,比如已经存在的VPC ID。
一旦您习惯于使用Terraform并以特定的方式构造基础结构代码和状态文件,您就可以开始考虑如何将现有的基础结构代码映射到Terraform状态文件等,并根据需要手动开始进口特定的资源。
这样做还可以让您更好地找到Terraform的脚,了解它的局限性和优点,同时还可以了解您的团队和/或CI将如何协同工作(例如远程状态和状态文件锁定和编排),而不会被彼此绊倒,或者可能导致严重的状态问题。
发布于 2020-02-11 10:03:47
我使用造地器导入现有的AWS基础设施。它比terraforming灵活得多,在解答中没有提到任何问题。
https://stackoverflow.com/questions/56820096
复制相似问题