HashiCorp Terraform は、クラウド インフラストラクチャのプロビジョニングと管理に使用できる Infrastructure as Code(IaC)ツールです。Terraform には、クラウド プロバイダや他の API とやり取りできる プロバイダというプラグインが用意されています。 用の Terraform プロバイダ Google Cloudを使用して、VM Manager などの Google Cloud リソースをプロビジョニングして管理できます。
このページでは、VM Manager で Terraform を使用する方法について説明します。Terraform の仕組みの概要と、 Terraform の使用を開始するためのリソースも紹介します Google Cloud。また、VM Manager の Terraform リファレンス ドキュメント、コードサンプル、Terraform を使用して VM Manager リソースをプロビジョニングするガイドへのリンクも用意されています。
用 Terraform の使用方法については、 Terraform をインストールして構成するまたは 用 Terraform Google Cloud クイックスタートをご覧ください。 Google Cloud
Terraform の仕組み
Terraform には宣言型で構成指向の構文があり、これを使用して、プロジェクトにプロビジョニングするインフラストラクチャを記述できます。 Google Cloud 1 つまたは複数の Terraform 構成ファイルで構成を作成し、Terraform CLI を使用して、この 構成を VM Manager リソースに適用できます。
以降のステップでは、Terraform の仕組みについて説明します。
- プロビジョニングするインフラストラクチャを Terraform 構成ファイルに記述します。インフラストラクチャのプロビジョニング方法を記述するコードは必要ありません。Terraform がインフラストラクチャをプロビジョニングします。
terraform planコマンドを実行します。これにより、構成が評価され、実行プランが生成されます。プランを確認し、必要に応じて変更します。-
次に、
terraform applyコマンドを実行します。これにより、次の アクションが実行されます。- バックグラウンドで、対応する VM Manager API を呼び出し、実行プランに基づいてインフラストラクチャをプロビジョニングします。
- Terraform 状態ファイルを作成します。これは、構成ファイル内のリソースと実際のインフラストラクチャ内のリソースをマッピングする JSON ファイルです。 Terraform は、このファイルを使用してインフラストラクチャの最新状態を記録し、リソースを作成、更新、破棄するタイミングを決定します。
-
terraform applyを実行すると、Terraform は状態ファイルのマッピングを使用して、既存のインフラストラクチャをコードと比較し、必要に応じて更新を行います。- 構成ファイルで定義されたリソース オブジェクトが状態ファイルに存在しない場合、Terraform はリソース オブジェクトを作成します。
- リソース オブジェクトが状態ファイルに存在し、構成ファイルと構成が異なる場合、Terraform は構成ファイルと一致するようにリソースを更新します。
- 状態ファイル内のリソース オブジェクトが構成ファイルと一致する場合、 Terraform はリソースを変更しません。
VM Manager に関する Terraform リソース
リソースは、Terraform 言語の基本要素です。 各リソース ブロックは、仮想ネットワークやコンピューティング インスタンスなど、1 つ以上のインフラストラクチャ オブジェクトを記述します。
次の表に、VM Manager で使用可能な Terraform リソースを示します。
| サービス | Terraform リソース | データソース |
|---|---|---|
| OS Config | 該当なし | |
| OS Config v2 | 該当なし |
次のステップ
- VM Manager の Terraform コードサンプル
- の Terraform に関するドキュメント Google Cloud
- HashiCorp のGoogle Cloud プロバイダのドキュメント
- Google Cloudの Infrastructure as Code