👌

Terraform Cloudで管理しているTerraformで、ローカルでplanを実行する

2023/01/11に公開約1,000字

内容

Terraform CloudでTerraformを利用し始めたが、ローカル環境でplanを叩く方法がわからなかったので、調べた内容をまとめます。

Terraform Cloudのセットアップ

Terraform Cloudでプロジェクトを作成し、github連携して、Terraform Cloud上で、terraform planが実行できるようにしてください。

API tokenを取得する

TerraformCloudでプロジェクトが作成できたら、ローカルPCで以下のコマンドを実行し、API Tokenを発行します。

$ terraform login
...

Do you want to proceed?
  Only 'yes' will be accepted to confirm.

  Enter a value: yes

# yesを入力するとブラウザが起動し、API Tokenを作成できます。作成されたAPI Tokenを次の質問で入力してください。

backendを設定する

API Tokenを設定したことで、ローカルPCからTerraformCloudで管理するstateファイルにアクセスができるようになりました。
backendを設定して、TerraformCloudのstateに対して、planを実行します。

$ touch override.tf

※ローカルでplan用に設定するソースなので、override.tfに設定し、git管理しません。

override.tf


# organization-name, workspace-nameは自分のものに変更してください。
terraform {
  backend "remote" {
    hostname     = "app.terraform.io"
    organization = "<organization-name>"

    workspaces {
      name = "<workspace-name>"
    }
  }
}

上記ファイルが作成できたら、terraform plan をローカルで実行してください!
TerraformCloudで管理されているstateに対して、planが実行できることが確認できるかと思います。

Discussion

ログインするとコメントできます