🕊️

Mac で Terraform を扱うときは brew install hashicorp/tap/terraform を使う

2024/10/08に公開

状況

  • 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

GitHubで編集を提案

Discussion