Hashicorp Terraform は、クラウド インフラストラクチャのプロビジョニングと管理に使用できる Infrastructure as Code(IaC)ツールです。Terraform には、クラウド プロバイダや他の API とやり取りできるプロバイダというプラグインが用意されています。Terraform provider for Google Cloud を使用して、 Google Cloud リソース(Dataplex など)をプロビジョニングして管理できます。
このページでは、Dataplex で Terraform を使用する方法について説明します。Terraform の仕組みの概要と、 Google Cloudで Terraform の使用を開始するためのリソースも紹介します。また、Dataplex の Terraform リファレンス ドキュメント、コードサンプル、Terraform を使用して Dataplex リソースをプロビジョニングするガイドへのリンクも用意されています。
Google Cloudで Terraform を使用する方法については、Terraform のインストールと構成または Google Cloud の Terraform クイックスタートをご覧ください。
Terraform の仕組み
Terraform には宣言型で構成指向の構文があり、これを使用して、 Google Cloud プロジェクトにプロビジョニングするインフラストラクチャを記述できます。1 つまたは複数の Terraform 構成ファイルで構成を作成し、Terraform CLI を使用して、この構成を Dataplex リソースに適用できます。
以降のステップでは、Terraform の仕組みについて説明します。
- プロビジョニングするインフラストラクチャを Terraform 構成ファイルに記述します。インフラストラクチャのプロビジョニング方法を記述するコードは必要ありません。Terraform がインフラストラクチャをプロビジョニングします。
terraform plan
コマンドを実行します。これにより、構成が評価され、実行プランが生成されます。プランを確認し、必要に応じて変更します。-
次に、
terraform apply
コマンドを実行します。これにより、次のアクションが実行されます。- バックグラウンドで、対応する Dataplex API を呼び出し、実行プランに基づいてインフラストラクチャをプロビジョニングします。
- Terraform 状態ファイルを作成します。これは、構成ファイル内のリソースと実際のインフラストラクチャ内のリソースとのマッピングを行う JSON ファイルです。Terraform は、このファイルを使用してインフラストラクチャの最新状態を記録し、リソースを作成、更新、破棄するタイミングを決定します。
-
terraform apply
を実行すると、Terraform は状態ファイルのマッピングを使用して、既存のインフラストラクチャとコードと比較し、必要に応じて更新を行います。- 構成ファイルで定義されたリソース オブジェクトが状態ファイルに存在しない場合は、Terraform によってリソース オブジェクトが作成されます。
- リソース オブジェクトが状態ファイルに存在し、構成ファイルと構成が異なる場合、Terraform は構成ファイルと一致するようにリソースを更新します。
- 状態ファイル内のリソース オブジェクトが構成ファイルと一致する場合、Terraform はリソースを変更しません。
Dataplex の Terraform リソース
リソースは、Terraform 言語の基本要素です。各リソース ブロックは、仮想ネットワークやコンピューティング インスタンスなど、1 つ以上のインフラストラクチャ オブジェクトを記述します。
次の表に、Dataplex で使用可能な Terraform リソースを示します。
Dataplex の Terraform ベースのガイド
次の表に、Dataplex の Terraform ベースの入門ガイドとチュートリアルを示します。
ガイド | 詳細 |
---|---|
Terraform を使用してデータ品質ルールをコードとして管理する | このチュートリアルでは、Terraform、Cloud Build、GitHub を使用して Dataplex データ品質ルールをコードとして管理する方法について説明します。 |
Dataplex の Terraform モジュールとブループリント
モジュールとブループリントを使用すると、 Google Cloud リソースの大規模なプロビジョニングと管理を自動化できます。モジュールとは、Terraform リソースを論理的に抽象化する、再利用可能な一連の Terraform 構成ファイルのことです。ブループリントは、特定のソリューションを実装および文書化した、モジュールとポリシーのパッケージです。このパッケージはデプロイして再利用できます。
次の表に、Dataplex に関連するモジュールとブループリントを示します。
モジュールまたはブループリント | 詳細 |
---|---|
dataplex-auto-data-quality | このモジュールでは、Cloud Build を使用して、開発環境と本番環境の BigQuery テーブルにデータ品質ルールをデプロイする方法について説明します。 |
次のステップ
- Dataplex の Terraform コードサンプル
- Google Cloud での Terraform のドキュメント
- Google Cloud プロバイダの HashiCorp のドキュメント
- Google Cloudの Infrastructure as Code