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
- Terraform バージョン 1.3.10
- Terraform バージョン 1.4.7
- Terraform バージョン 1.5.7
フラグ --tf-version-constraint
を使用して、Infra Manager がデプロイを作成するために使用する Terraform のバージョンを指定できます。
Terraform のバージョンを指定しない場合は、デフォルトで最新のサポート バージョンが使用されます。
デプロイを更新するときに、Terraform のバージョンを新しいバージョンの Terraform に変更できます。以前のサポート対象バージョンの Terraform に変更することはできません。
特定のデプロイまたはリビジョンの作成に使用された Terraform のバージョンを表示するには、デプロイの詳細を表示するとリビジョンの詳細を表示するをご覧ください。
Terraform 構成の制約
Infrastructure Manager を使用して Terraform 構成をデプロイするには、構成に次の制約があります。
- Terraform 構成値に個人情報や機密情報を含めないでください。詳細については、次のセクション Terraform 構成値と機密データをご覧ください。
- 有効な Terraform ルート モジュールを指定する必要があります。Terraform のテンプレート作成や生成はサポートされていません。
- 構成は、サポートされているバージョンの Terraform で実行可能である必要があります。
- バックエンド ブロックは定義しないでください。
- プロビジョナーの使用はおすすめしません。可能であれば、別の解決策を使用します。プロビジョナーの詳細については、プロビジョナーは最後の手段をご覧ください。プロビジョナーを使用している場合は、Infra Manager ランタイム環境はいつでも変更できることに注意してください。
Terraform 構成値と機密データ
Terraform 構成値に個人情報や機密情報を含めないでください。
Google Cloud プロバイダのドキュメントには、機密情報が含まれる可能性のある構成値が記載されています。
たとえば、リソース google_storage_bucket_object
では、content
引数を使用して Cloud Storage オブジェクトを作成できます。この引数は、google_storage_bucket_object
ページの Google Cloud プロバイダ ドキュメントで機密情報としてラベル付けされています。
これらのラベルは、Terraform 構成を作成するときや、既存の Terraform 構成を使用前に確認するときに役立ちます。
クラウド サービスの提供と管理の際に Google Cloud が収集または生成する個人情報の処理方法については、Google Cloud プライバシーに関するお知らせをご覧ください。
Google Cloudの Terraform プロバイダを使用する
デプロイとプレビューを構成して、 Google Cloud用の Infra Manager で管理されている Terraform プロバイダを使用できます。
この省略可能なフィールドでは、Infra Manager で管理されている Terraform プロバイダを使用して、デプロイまたはプレビュー デプロイを作成または更新するかどうかを指定できます。Terraform プロバイダは、gcloud CLI を使用して指定できます。
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 に移動して、使用可能なリージョンを表示します。
次のステップ
- 詳しくは、Infrastructure Manager をご覧ください。
- デプロイを作成する。
- デプロイを更新する。
- デプロイの状態を表示する。
- デプロイを削除する。