Terraform: s3をbackendに使う際にcredentialsをどう使うか
docker上でTerraform + aws cliの環境を作ってやってます 認証情報はshared-credentialで管理している。環境変数でもいいんですが、個人的にはcredential派。
んで、
s3をバックエンドにしてterraform init
しようとしたらこうなる。
Error: No valid credential sources found for AWS Provider. Please see https://terraform.io/docs/providers/aws/index.html for more information on providing credentials for the AWS Provider
エラーの内容的に認証情報が解決できないらしい。特に指定なしだと対した情報が拾えないので、TF_LOG=TRACE terraform init
としてログをみたりしていた。
結論はprofileの指定がないこと。
https://www.terraform.io/docs/providers/aws/index.html
を見る限りAWS_PROFILE
で渡しても良いらしいんですが、都度都度書きたくないんですよね(´・ω・`)
結論、backend側設定書いてやれば動いた。
terraform { backend "s3" { bucket = "bucket_name" key = "tf-saved-path" region = "us-east-1" profile = "profile_name" # これ } }
Terraform has been successfully initialized!
良し(`・ω・´)