- OpenTofu言語
- プロバイダー
プロバイダー
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"