Terraform を使用して Policy Controller リソースをプロビジョニングする

HashiCorp Terraform は、クラウド インフラストラクチャのプロビジョニングと管理に使用できる Infrastructure as Code(IaC)ツールです。Terraform には、クラウド プロバイダや他の API とやり取りできるプロバイダというプラグインが用意されています。 Cloud de Confiance用の Terraform プロバイダを使用して、Policy Controller などの Cloud de Confiance by S3NS リソースをプロビジョニングして管理できます。

このページでは、Policy Controller で Terraform を使用する方法について説明します。Terraform の仕組みの概要と、 Cloud de Confianceで Terraform の使用を開始するためのリソースも紹介します。また、Policy Controller の Terraform リファレンス ドキュメント、コードサンプル、Terraform を使用して Policy Controller リソースをプロビジョニングするガイドへのリンクも用意されています。

Cloud de Confiance用 Terraform の使用方法については、Terraform をインストールして構成するまたは Cloud de Confiance 用 Terraform クイックスタートをご覧ください。

Terraform の仕組み

Terraform には宣言型で構成指向の構文があり、これを使用して、 Cloud de Confiance プロジェクトにプロビジョニングするインフラストラクチャを記述できます。1 つまたは複数の Terraform 構成ファイルで構成を作成し、Terraform CLI を使用して、この構成を Policy Controller リソースに適用できます。

以降のステップでは、Terraform の仕組みについて説明します。

  1. プロビジョニングするインフラストラクチャを Terraform 構成ファイルに記述します。インフラストラクチャのプロビジョニング方法を記述するコードは必要ありません。Terraform がインフラストラクチャをプロビジョニングします。
  2. terraform plan コマンドを実行します。これにより、構成が評価され、実行プランが生成されます。プランを確認し、必要に応じて変更します。
  3. 次に、terraform apply コマンドを実行します。これにより、次のアクションが実行されます。

    1. 対応する Policy Controller API をバックグラウンドで呼び出し、実行プランに基づいてインフラストラクチャをプロビジョニングします。
    2. Terraform 状態ファイルを作成します。これは、構成ファイル内のリソースと実際のインフラストラクチャ内のリソースをマッピングする JSON ファイルです。Terraform は、このファイルを使用してインフラストラクチャの最新状態を記録し、リソースを作成、更新、破棄するタイミングを決定します。
    3. terraform apply を実行すると、Terraform は状態ファイルのマッピングを使用して、既存のインフラストラクチャをコードと比較し、必要に応じて更新を行います。

      • 構成ファイルで定義されたリソース オブジェクトが状態ファイルに存在しない場合、Terraform はリソース オブジェクトを作成します。
      • リソース オブジェクトが状態ファイルに存在し、構成ファイルと構成が異なる場合、Terraform は構成ファイルと一致するようにリソースを更新します。
      • 状態ファイル内のリソース オブジェクトが構成ファイルと一致する場合、Terraform はリソースを変更しません。

Policy Controller に関する Terraform リソース

リソースは、Terraform 言語の基本要素です。各リソース ブロックは、仮想ネットワークやコンピューティング インスタンスなど、1 つ以上のインフラストラクチャ オブジェクトを記述します。

次の表に示すのは、Policy Controller で使用可能な Terraform リソースです。

サービス Terraform リソース
GKE Hub

次のステップ