kakakakakku blog

Weekly Tech Blog: Keep on Learning!

Terraform Cloud で管理してるステートに terraform import で既存リソースを追加する

Terraform Cloud で管理してるステート (.tfstate) に terraform import コマンドで既存リソースを追加する機会があったので小ネタだけどまとめておく❗️流れとしては以下のブログ記事にもまとまっていて参考になる👌

support.hashicorp.com

今回は Terraform v1.4.6 を前提とする.

$ terraform version
Terraform v1.4.6

1. Terraform Cloud の設定を追加する

まず main.tfterraform.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" メニューを確認すると新しくステートが追加されている❗️