🕊️
Mac で Terraform を扱うときは brew install hashicorp/tap/terraform を使う
状況
-
Mac で Terraform を扱うことになり,
brew install terraform
でインストールした. -
イントール自体は問題なく完了したが,
terraform init
でエラーが発生した. -
aws-cli で SSO 接続済み.
実行した手順
brew install terraform
# 問題なくインストール完了
# ログインしておく
aws sso login --profile hogefuga
terraform init
# エラー
Initializing the backend...
Initializing modules...
╷
│ Error: error configuring S3 Backend: Error creating AWS session: profile "hogefuga" is configured to use SSO but is missing required configuration: sso_region, sso_start_url
│
│
╵
AWS の情報は問題ない
cat ~/.aws/config
[profile hogefuga]
sso_session = taroosg
sso_account_id = 111122223333
sso_role_name = AdministratorAccess
region = ap-northeast-1
[sso-session hogefuga]
sso_start_url = https://d-9999999999.awsapps.com/start/
sso_region = ap-northeast-1
sso_registration_scopes = sso:account:access
原因
brew install terraform
でインストールした Terraform のバージョンが古い.
-
上記のプロファイル情報は Terraform 1.6 以降での SSO 設定情報である.
-
brew install terraform
でインストールされる Terraform は v1.5.7 であり,SSO 設定情報が反映されていない.
terraform --version
Terraform v1.5.7
on darwin_arm64
+ provider registry.terraform.io/hashicorp/aws v5.32.1
Your version of Terraform is out of date! The latest version
is 1.9.5. You can update by downloading from https://www.terraform.io/downloads.html
対応
brew install hashicorp/tap/terraform
を使うと最新の Terraform をインストールする.
# 既存の Terraform をアンインストール
brew uninstall terraform
# アンインストール確認
terraform --version
zsh: command not found: terraform
# 最新の Terraform をインストール
brew install hashicorp/tap/terraform
# インストール確認
terraform --version
Terraform v1.9.6
on darwin_arm64
+ provider registry.terraform.io/hashicorp/aws v5.32.1
まとめ
-
Homebrew 使えばいいだろの精神で適当にインストールしたらバージョンが古かった.
-
公式に書いてあるのでちゃんと読め(自戒).
以上だ( `・ω・)b
Discussion