はじめに
Terraformを使用中に「Failed to load plugin schemas」のエラーが発生しました。
このエラーは、TerraformがAWSプロバイダのスキーマをロードできず、プラグインの起動に失敗していることを示しています。
さまざまな対処法を試しましたが、最終的に端末の再起動で解決しました。本記事では、エラーの発生状況と解決策について解説します。
エラーの発生状況
このエラーは、TerraformでAWSプロバイダを使用しようとした際に発生しました。
│ Error: Failed to load plugin schemas │ │ Error while loading schemas for plugin components: Failed to obtain provider schema: Could not │ load the schema for provider registry.terraform.io/hashicorp/aws: failed to instantiate provider │ "registry.terraform.io/hashicorp/aws" to obtain schema: timeout while waiting for plugin to │ start..
Terraformがプラグインのスキーマをロードできず、プロバイダのインスタンス化に失敗していることが示されています。
試した対処方法
-
terraform initの再実行
terraform init -reconfigure
→ 解決せず
-
terraform providers schema -json の実行
terraform providers schema -json
→ 同じエラーが発生
-
terraform plugin cacheのクリア
rm -rf .terraform/plugins terraform init
→ 解決せず
-
端末の再起動
sudo reboot
→ 解決!
原因の考察(あくまで個人推測レベル)
このエラーは、Terraformのプラグインプロセスの起動がタイムアウトしていることが原因と考えられます。
プラグインの起動に失敗する原因として、以下のような要因が考えられます。
- システムのリソース不足(メモリ、CPU使用率が高い)
- 一時的な環境の不整合(プロセスが正常に終了していないなど)
- Terraformのプラグインが適切にキャッシュされていない
再起動によって、これらの問題が解消され、Terraformのプラグインが正常に動作するようになったと考えられます。
まとめ
Terraformを使用していて「Failed to load plugin schemas」のエラーが発生した場合、まずは以下の手順を試してみてください。
-
terraform init -reconfigure
の実行 -
.terraform/plugins
の削除と再init
- 端末の再起動(最も効果的)
特に、環境によってはTerraformのプラグインが正しく動作しないことがあるため、最終的にシステムの再起動が有効な解決策となる場合があります。