はじめに
業務でGCPを使っているのですが、
すでに作成済みのリソースをTerraform管理化した際の流れをまとめます。
terraform importの使い方
terraform import [リソースタイプ.リソース名] [取り込み対象のID]
IDに関しては公式ドキュメントの対象リソースのページの一番下に書かれています。
手順
以下のような手順でインポートすることができます。
1. 取り込み用のTerraformファイルの作成
2. terraform import
コマンドでインポート
3. terraform plan
で差分確認
4. 差分があったらTerraformファイルを修正
5. 差分がなくなるまでterraform plan
をする
6. 差分がなくなったらtarraform apply
する
7. stateファイルを確認して取り込まれたことを確認する
具体例として画面上から作成したmy_bucket_name
という名前のgcsのバケットを
Terrafom管理化する方法を以下にまとめます。
取り込み用のTerraformファイルの作成
gcs.tf
resource "google_storage_bucket" "my_bucket" {
name = "my_bucket_name"
location = "asia-northeast1"
force_destroy = true
}
terraform import
コマンドでインポート
terraform import google_storage_bucket.my_bucket my_bucket_name
参照:
terraform plan
で差分確認
terraform plan
terraform apply
で反映
terraform apply
sate確認
stateファイルの中身を確認して対象のリソースがあるかを確認します。
また、terraform state list
を使うとTerrafom管理されているリソースの一覧を取得することができます。