Terraform と Infrastructure Manager

Infrastructure Manager(Infra Manager)を使用するには、Terraform に精通している必要があります。Terraform の詳細については、Terraform とはをご覧ください。

Infra Manager は、Terraform 構成で定義されているインフラストラクチャ リソースと構成をデプロイします。これらの構成は複数のファイルとディレクトリで構成できますが、エントリポイントは Terraform ルート モジュールにする必要があります。

Infra Manager では、Terraform 構成を指す用語として「ブループリント」を使用します。

Google Cloudで Terraform を使用する方法については、 Google Cloudの Terraform をご覧ください。

Google Cloud用の Terraform モジュール

Google Cloud リソースをプロビジョニングするモジュールのセットについては、Google Cloud 用の Terraform ブループリントとモジュールをご覧ください。

Google Cloud用の独自の Terraform モジュールを作成することもできます。詳細については、モジュールの作成をご覧ください。

サポートされている Terraform のバージョン

Infra Manager は、次の Terraform バージョンをサポートしています。

Terraform バージョン 料金ティア 提供日 サポート終了日 サポート終了日 バージョンに自動移行
1.2.3 無料枠 2023 年 8 月 21 日 2026 年 1 月 8 日 2026 年 2 月 8 日 1.5.7
1.3.10 無料枠 2024 年 3 月 14 日 未定 未定 未定
1.4.7 無料枠 2024 年 3 月 14 日 未定 未定 未定
1.5.7 無料枠 2024 年 3 月 14 日 未定 未定 未定
1.16.5 有料 2026 年 11 月 2 日 未定 未定 未定

各 Terraform リリースで導入された機能については、HashiCorp Terraform のドキュメントと Terraform リリースをご覧ください。

Google Cloud コンソールでデプロイを作成、デプロイを更新、デプロイをプレビューするとき、または gcloud CLI で --tf-version-constraint フラグを使用するときに、Infra Manager が使用する Terraform のバージョンを指定できます。

新しいデプロイまたはプレビューの作成時に Terraform のバージョンを指定しない場合、Infra Manager はデフォルトで、サポートされている最新の無料枠バージョン(1.5.7)を使用します。有料バージョン(1.16.5 など)を使用するには、バージョン制約を明示的に指定する必要があります。

デプロイを更新するときに、新しい Terraform バージョンにアップグレードできますが、以前のサポートされているバージョンにダウングレードすることはできません。Terraform バージョンのサポート終了については、Terraform バージョン管理ポリシーのドキュメントをご覧ください。

特定のデプロイまたはリビジョンの作成に使用された Terraform のバージョンを表示するには、デプロイの詳細を表示するとリビジョンの詳細を表示するをご覧ください。

Terraform バージョンのライセンスと料金

Terraform バージョン 1.5.7 以前は、Mozilla Public License(MPL 2.0)に基づいてオープンソースとして配布されており、Infra Manager の管理料金なしで無料枠で利用できます。

Terraform バージョン 1.16.5 は、Business Source License(BUSL)に基づいて配布され、Infra Manager で有料バージョンとして提供されます。Terraform の有料バージョンを使用すると、Infra Manager で管理されるリソースの数に基づいてデプロイと管理の料金が発生します。

  • 無料枠の割り当て: 各請求先アカウントには、1 か月あたり最大 500 個のリソースの無料枠が割り当てられます。

  • 使用料金: 毎月 500 リソースの無料枠を超えると、有料の Terraform バージョンを使用するデプロイによって管理されるリソースには、リソースごとに 1 時間単位で測定されるリソース管理料金が発生します。

  • プレビューは課金されません: 有料の Terraform バージョン(1.16.5 など)では、Infra Manager のデプロイに対してのみ課金され、デプロイ プレビューに対しては課金されません。

料金の詳細については、Infrastructure Manager の料金をご覧ください。

Terraform 構成の制約

Infrastructure Manager を使用して Terraform 構成をデプロイする場合、構成には次の制約があります。

Terraform 構成値と機密データ

Terraform 構成値に個人を特定できる情報や機密情報を含めないでください。

Google Cloud プロバイダのドキュメントには、機密情報が含まれる可能性のある構成値が記載されています。

たとえば、リソース google_storage_bucket_object では、content 引数を使用して Cloud Storage オブジェクトを作成できます。この 引数は、 Google Cloud プロバイダ ドキュメントの google_storage_bucket_object ページで機密としてラベル付けされています。

これらのラベルは、Terraform 構成を作成する際や、既存の Terraform 構成を使用する前に確認する際のガイドとして使用できます。

Google Cloud が Cloud サービスの提供および管理中に収集または生成する個人情報を処理する方法については、Google Cloud のプライバシーに関するお知らせをご覧ください。

Google Cloud用の Terraform プロバイダを使用する

必要に応じて、gcloud CLI を使用して、Infra Manager が管理するGoogle Cloudの Terraform プロバイダを使用するようにデプロイとプレビューを構成できます。

Infra Manager は、 Google Cloudの Terraform プロバイダをサポートしています。

  • google
  • google-beta

HashiCorp が管理する Google Cloud用の Terraform プロバイダを使用する場合は、このフィールドを省略します。

Infra Manager が管理する Terraform プロバイダの使用を指定する方法については、Infrastructure Manager を使用してインフラストラクチャをデプロイする、デプロイを更新する、デプロイをプレビューするをご覧ください。

プロバイダのサポートされているバージョンを確認する

Infra Manager がサポートする Google Cloud の Terraform プロバイダのバージョンを確認するには、Infra Manager が管理する Cloud Storage バケットの manifest.json を表示します。このバケットは、デプロイのリージョンに関連付けられています。形式は次のとおりです。

https://storage.googleapis.com/LOCATION-im-providers/hashicorp/PROVIDER_VERSION/manifest.json

サポートされているバージョンの完全なリストは、manifest.json ファイルの versions フィールドで確認できます。

たとえば、デプロイが africa-south1 リージョンにあり、google-beta プロバイダを使用している場合は、https://storage.googleapis.com/africa-south1-im-providers/hashicorp/google-beta/manifest.json に移動して、使用可能なリージョンを確認します。

次のステップ