Terraform Cloud で管理してるステート (.tfstate) に terraform import
コマンドで既存リソースを追加する機会があったので小ネタだけどまとめておく❗️流れとしては以下のブログ記事にもまとまっていて参考になる👌
今回は Terraform v1.4.6 を前提とする.
$ terraform version Terraform v1.4.6
1. Terraform Cloud の設定を追加する
まず main.tf
や terraform.tf
などに Terraform Cloud の設定(Organization と Workspace)を追加する.
terraform { cloud { organization = "xxx" workspaces { name = "yyy" } } }
2. 追加する既存リソースの雛形を追加する
今回は検証として Amazon S3 バケットを追加するため,以下のコードを main.tf
に追加する.もちろん Local Module の main.tf
などに追加することもできる👌
resource "aws_s3_bucket" "example" { }
3. terraform init
コマンドを実行する
$ terraform init Initializing Terraform Cloud... Initializing modules... (中略) Terraform Cloud has been successfully initialized!
4. terraform import
コマンドを実行する
あとは terraform import
コマンドを実行すれば OK 👌
$ terraform import aws_s3_bucket.example kakakakakku-example
Import successful!
The resources that were imported are shown above. These resources are now in
your Terraform state and will henceforth be managed by Terraform.
Terraform Cloud の "States" メニューを確認すると新しくステートが追加されている❗️