terraform init
時に掲題のエラーが出て困っていた。 どうやら AppleSillicon 系列に由来するエラーらしい (対象のモジュールが AppleSillicon 対応されずにアーカイブされた?)。
どうする
以下の書き込みの通り tfenv でのインストール時に TFENV_ARCH=amd64
を使うことで解決した。
❯ tfenv uninstall 1.1.7 #元々入っていた対象バージョンを削除する ❯ TFENV_ARCH=amd64 tfenv install 1.1.7 #TFENV_ARCH を指定して再インストールする ❯ terraform init -reconfigure #既存の state を利用して再度 init
コード的に対応する
こちらの記事の様に、実装を修正することで対応できそうであったけど、構築された環境を deestroy して別の terraform 実装で再入植したい、というのが目的だったので、あえて今回のような対応にした。
おまけ
本件エラーが出たプロジェクト、Windows + Intel CPU なプラットフォーム上で開発された後に長期間メンテされていなかった。
納品時に作った人からも「この環境 (Windows + IntelCPU) 以外だとウゴキマセン」など言われて、「なめてんのか……?」となるなどしていたので、さもあらんという感じだった。 (AWS のクレデンシャルプロファイル名が default 固定だったりと、色々すごく良くない感じで現在進行系で困っていたりする)
とはいえ、結局は AppleSillicon 実装での特有の問題っぽいので、 通常の x64 アーキテクチャの CPU で実行すれば本来的には問題はない……? という気はしている。 多数のアーキテクチャ対応は難しいね。