Terraformのtfstateを、Terraform Cloudで管理している私。そんな私が、今までステージングで構築していた環境と同一構成の本番環境を構築しようとしています。そんな時、今までは何事もなく動作していたTerraformが、terraform plan
を走らせた途端にこんな感じでエラーを吐いてうんともすんとも言わなくなることがあります。
Error: Unreadable module directory
短期間で二度もこの問題にぶち当たりまして、流石に記録しておかないとまたやるぞ、と思い、ここに記す次第です。私は未来の自分を全く信用しておりません。
対処方法
WorkspaceのSetting > Generalの中に、「Execution Mode」という項目があります。これを「Remote」から「Local」に切り替えて保存します。
ローカルに戻り、terraform plan
を叩いてみてください。無事、動作することが確認できるでしょう。
問題の所存
要するに、リモートでstateを管理しようとしているのと同様、Terraform側でモジュールについてもリモートを参照しているわけです。ところが、私はTerraformの実行はLocalでやる想定でおりますので、Github連携も何も、Terraform Cloudとはstateとvariable以外の何のソースも共有しておりません。そんな時に、このエラーが発生するのです。