我想在使用它通过Terraform应用之前,最初在使用它之前控制我的云资源。无论如何,我可以运行一个命令并存储云的当前状态吗?
我尝试使用Terraform的import
命令:
Terraform导入ADR ID
,但这需要很长时间才能识别所有资源并导入它们。
我尝试过terraforming
,但这也需要一种资源类型来导入:
Terraforming S3
是否有任何工具可以帮助导入所有现有资源?
虽然从技术上讲这并没有回答您的问题,但我强烈建议不要尝试以单个方式将整个现有的AWS帐户导入Terraform。
如果您查看任何最佳实践的最佳实践归结为最小化事物的爆炸半径,因此只有在同一时间彼此使用的同时更改的事物。慈善专业的专业写了一篇很好的博客文章,及其在事实并非如此的影响。
任何会导入事物的工具(例如terraforming
(只是将所有内容都转储到一个状态文件中。如前所述,这是一个坏主意。
听起来很费力,我建议您更加谨慎,有条不紊地迁移到Terraform。总的来说,我可能会说,只有新的基础架构才能使用Terraform,并利用Terraform的数据源查找现有的事物,例如已经存在的VPC ID。
一旦您对使用TerraForm感到满意并以特定方式构建基础架构代码和状态文件,您就可以开始考虑如何将现有的基础架构代码映射到Terraform状态文件等,并开始根据需要手动导入特定资源。
以这种方式做事还可以使您能够更好地找到脚步,并了解其局限性和优势,同时还要确定您的团队和/或CI如何一起工作(例如,远程状态和状态文件锁定和编排(
我正在使用Terraformer导入我现有的AWS基础架构。它比terraforming
更灵活,并且没有答案中提到的问题。