こんばんは。9月なのにまだまだ暑くてエアコンを消せないです。
夜になるとちょっとましになるので、夜の散歩を日課にしたい季節です。。そんなことはともかく
今日はTerraform をやっていきましょう!いつもAWS でTerraform を使うことが多いのですが、今日は
GCP を使ってTerraform を書いていきましょう!!!ただ、今回はただ単にに書くのではなくて、
もうすでにあるリソースをTerraform のコードにするTerraform import をしていきます。
Terraform import を使うために
今回はTerraform import ではなく、Terraformer をつかっていきます。大元の情報はここからです。
WSL2 にTerraformerをインストールしていきましょう。公式ドキュメントから引っ張ってきた手順です。
これでインストールは完了です。
export PROVIDER=all
curl -LO "https://github.com/GoogleCloudPlatform/terraformer/releases/download/$(curl -s https://api.github.com/repos/GoogleCloudPlatform/terraformer/releases/latest | grep tag_name | cut -d '"' -f 4)/terraformer-${PROVIDER}-linux-amd64"
chmod +x terraformer-${PROVIDER}-linux-amd64
sudo mv terraformer-${PROVIDER}-linux-amd64 /usr/local/bin/terraformer
参考サイトです。
Terraformer import 実行してみる
いざ実際に実行してみると、、、うん??Credential ってなんだ??
ちなみに実行コマンドは、こんな感じです。
terraformer import google --resources=networks --projects=<your_project_name>
2024/09/16 16:29:19 google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
2024/09/16 16:29:19 google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
2024/09/16 16:29:19 google importing... networks
きっとprovider に定義しているaccess key とかのことだとは思ったんですが、それってどうやって定義
するんだって、悩みました。Google Cloud のドキュメントを見てみると、「アプリケーションのデフォ
ルト認証情報(ADC)」これだ。。。。ってなりました。なので、これをexport してあげて、
export GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH"
もう一回実行してみると。。。上手くいきました!!!参照したドキュメントも載せておきます

generated というのが同じ階層に作られるので、networks のtf ファイルが作成されていると問題なく
ちゃんと実行されています。
まとめ
ドキュメントをよく読みましょう。。。。ですね。Terraform import してインフラを管理していきましょーー。検証環境も色々作っていきます!!!ではでは。。。
参考サイト:
Terraform GCP ローカル環境構築手順:

コメント