背景
terraformを使って、構築しようとしたらエラーが発生した。。。
やりたいこととしては、ローカル環境(mac)からAWSにterraformで環境構築したいよねーっていう図式。
対処法を備忘録として記す。
発生したエラー
まずは発生したエラーについて。
発生したのは以下エラーで、エラーで言われてるsubnet.tf内の問題はなさそう見えたので、原因を突き止めるべくログを出力することに。
Error: error creating subnet: InvalidSubnet.Range: The CIDR 'XX.XX.XX.X/24' is invalid.
status code: 400, request id: XXXXXXXXXXXXXXXXXXXXXXXXXXXX
on ../subnet.tf line 2, in resource "subnet" "XXX":
2: resource "subnet" "XXX" {
対処法
①ググる
ググったらデバック方法が出てきた
これを参考にする
②ローカルで以下コマンドにより環境変数をセット
# export TF_LOG=TRACE
# export TF_LOG_PATH=hoge.txt ##terraformのログを出力するファイル名とか適当につけた
③tfstateファイルにログが残っていないか確かめる
localで実行している場合、tfstateファイルが以前のdeploy時の情報を持ってしまっている場合がある。
ので、一度削除してもう一度デプロイすると上手くいったりする。
感想
今回は②を実行することで解決しました
macからsetコマンドだと環境変数設定出来ないことが判明。。
exportコマンドで設定すると良い(戒め)
※後日、③で引っ掛かっていました。反省。
参考資料
なにもしてないのに壊れた?Terraformのデバッグ方法
Debugging Terraform
PATHを通すために環境変数の設定を理解する (Mac OS X)
シェル変数や環境変数を削除するコマンド