google: could not find default credentials ってなんで??@GCP

IaC

こんばんは。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

参考サイトです。

GitHub - GoogleCloudPlatform/terraformer: CLI tool to generate terraform files from existing infrastructure (reverse Terraform). Infrastructure to Code
CLI tool to generate terraform files from existing infrastructure (reverse Terraform). Infrastructure to Code - GoogleCl...

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"

もう一回実行してみると。。。上手くいきました!!!参照したドキュメントも載せておきます

アプリケーションのデフォルト認証情報を設定する  |  Authentication  |  Google Cloud
Cloud クライアント ライブラリ、Google API クライアント ライブラリ、その他の環境でアプリケーションのデフォルト認証情報を設定する方法について説明します。

generated というのが同じ階層に作られるので、networks のtf ファイルが作成されていると問題なく

ちゃんと実行されています。

まとめ

ドキュメントをよく読みましょう。。。。ですね。Terraform import してインフラを管理していきましょーー。検証環境も色々作っていきます!!!ではでは。。。

参考サイト:

Terraform GCP ローカル環境構築手順:

TerraformでGoogle Cloudを扱うためのローカル端末環境構築 | DevelopersIO
Terraformで必要になるGoogle Cloudの秘密鍵の取得しTerraformでリソース作成してみました。

コメント

タイトルとURLをコピーしました