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