我是 Terraform 的新手,我希望最终能够拥有一个 Terraform 模板来管理我的生产资源,这样我就可以轻松地在多个区域进行部署和灾难恢复。但如果我的 AWS 资源(如 EC2、S3、VPC 等)已经部署了,我该怎么做呢?
我是 Terraform 的新手,我希望最终能够拥有一个 Terraform 模板来管理我的生产资源,这样我就可以轻松地在多个区域进行部署和灾难恢复。但如果我的 AWS 资源(如 EC2、S3、VPC 等)已经部署了,我该怎么做呢?
terraform import
功能来完成此操作。这是文档链接:https://www.terraform.io/docs/import/index.html
然而,它不能为您生成配置。您需要构建配置并导入资源的状态。
您可以逐步进行,一次为资源编写配置。Terraform import的当前实现只能将资源导入状态。它不会生成配置。 Terraform的未来版本也将生成配置。
terraform plan
命令确保状态正确匹配。谷歌有一个名为terraformer的开源工具,可将现有的AWS堆栈转换为tf
和tfstate
文件。
他们还支持GCP(显然)、K8s、Openstack和其他平台。
AWS示例用法:
terraformer import aws --resources=vpc,subnet --connect=true --regions=eu-west-1 --profile=prod
terraformer import aws --resources=vpc,subnet --filter=aws_vpc=vpc_id1:vpc_id2:vpc_id3 --regions=eu-west-1