メインコンテンツへスキップ

プロバイダー

OpenTofuは、クラウドプロバイダー、SaaSプロバイダー、その他のAPIと連携するために、プロバイダーと呼ばれるプラグインに依存しています。

OpenTofu設定では、OpenTofuがインストールして使用できるように、必要なプロバイダーを宣言する必要があります。さらに、一部のプロバイダーは(エンドポイントURLやクラウドリージョンなど)使用前に設定が必要です。

プロバイダーの機能

各プロバイダーは、OpenTofuが管理できるリソースの種類と/またはデータソースのセットを追加します。

すべてのリソースの種類はプロバイダーによって実装されています。プロバイダーがないと、OpenTofuはいかなる種類のインフラストラクチャも管理できません。

ほとんどのプロバイダーは、特定のインフラストラクチャプラットフォーム(クラウドまたは自己ホスト型)を設定します。プロバイダーは、一意のリソース名にランダムな数値を生成するなどのタスクに対して、ローカルユーティリティを提供することもできます。

プロバイダーの入手先

プロバイダーはOpenTofu自体とは別に配布され、各プロバイダーには独自のリリースサイクルとバージョン番号があります。

公開OpenTofuレジストリは、公開されているプロバイダーの主なディレクトリであり、主要なインフラストラクチャプラットフォームのほとんどのプロバイダーをホストしています。

プロバイダーのドキュメント

各プロバイダーには、リソースの種類とその引数を説明する独自のドキュメントがあります。このドキュメントは、プロバイダーのGitHubリポジトリにあります。

プロバイダーのドキュメントはバージョン管理されています。正しいタグ/リリースを参照していることを確認してください。

プロバイダーの使用方法

プロバイダーはOpenTofu自体とは別にリリースされ、独自のバージョン番号を持っています。本番環境では、設定のプロバイダー要件ブロックで許容されるプロバイダーのバージョンを制限することをお勧めします。これにより、`tofu init`が設定と互換性のない新しいバージョンのプロバイダーをインストールしないようにします。

特定のプロバイダーのリソースを使用するには、設定にその情報を含める必要があります。詳細は次のページを参照してください。

  • プロバイダー要件では、OpenTofuがプロバイダーをインストールできるようにする方法について説明しています。

  • プロバイダー設定では、プロバイダーの設定方法について説明しています。

  • 依存関係ロックファイルでは、設定に含めることができる追加のHCLファイルについて説明します。このファイルは、OpenTofuが常に特定のプロバイダーバージョンのセットを使用するように指示します。

プロバイダーのインストール

  • TACOS(TF Automation and Collaboration Software)は、実行ごとにプロバイダーをインストールします。

  • OpenTofu CLIは、作業ディレクトリを初期化するときにプロバイダーを検出してインストールします。プロバイダーレジストリからプロバイダーを自動的にダウンロードしたり、ローカルミラーまたはキャッシュからロードしたりできます。永続的な作業ディレクトリを使用している場合は、設定のプロバイダーを変更するたびに再初期化する必要があります。

    時間と帯域幅を節約するために、OpenTofu CLIはオプションのプラグインキャッシュをサポートしています。CLI設定ファイルの`plugin_cache_dir`設定を使用してキャッシュを有効にできます。

特定の設定に対してOpenTofuが常に同じプロバイダーバージョンをインストールするようにするには、OpenTofu CLIを使用して依存関係ロックファイルを作成し、設定と共にバージョン管理にコミットできます。ロックファイルが存在する場合は、OpenTofu CLIとTACOS(TF Automation and Collaboration Software)はどちらもプロバイダーのインストール時にそれを遵守します。

プロバイダーの検索方法

使用しているインフラストラクチャプラットフォームのプロバイダーを見つけるには、公開OpenTofuレジストリを参照してください。

レジストリにあるプロバイダーの中には、HashiCorpが開発および公開したもの、プラットフォームのメンテナーが公開したもの、ユーザーやボランティアが公開したものがあります。

プロバイダーの開発方法

プロバイダーは、Terraform Plugin SDKを使用してGoで記述されています。プロバイダーの開発の詳細については、Plugin Developmentのドキュメントを参照してください。

OpenTofu CLI を使用した承認テストの実行

OpenTofu でテストを行う場合、OpenTofu CLI に対して承認テストを実行するために追加の手順が必要です。承認テストを実行する前に、以下の環境変数を設定してください。

コードブロック
TF_ACC_TERRAFORM_PATH="/path/to/opentofu"
TF_ACC_PROVIDER_NAMESPACE="hashicorp"
TF_ACC_PROVIDER_HOST="registry.opentofu.org"