Terraform を使用して証明書を発行する
Terraform と Certificate Authority Service を使用して次の操作を行う方法を学習します。
- 認証局(CA)プールを作成します。
- 新しい CA プールに CA を作成します。
- 新しい証明書署名リクエスト(CSR)を作成します。
- 生成された CSR を使用して、新しい CA プールから証明書をリクエストします。
Terraform は、Infrastructure as Code のパラダイムを使用して CA Service リソースを作成、管理できるオープンソース ソフトウェアです。このクイックスタートでは、Terraform 用の Google Cloud Platform Provider を使用します。
このタスクを Google Cloud コンソールで直接行う際の順を追ったガイダンスについては、[ガイドを表示] をクリックしてください。
準備
CA Service 管理者(roles/privateca.admin
)IAM ロールがあることを確認します。この IAM ロールが付与されていない場合は、このロールを付与する方法について、単一のロールを付与するをご覧ください。
Google Cloud プロジェクトを作成する
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the CA Service API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the CA Service API.
Google Cloud CLI をインストールする
まだインストールしていない場合は、Google Cloud CLI をインストールします。 プロンプトが表示されたら、上記で作成または選択したプロジェクトを選択します。
Google Cloud CLI がすでにインストールされている場合は、gcloud components update
コマンドを実行して更新します。
gcloud components update
Terraform 構成のサンプル
Terraform 構成ファイルを実行する
Google Cloud プロジェクトで Terraform 構成を適用するには、次のセクションの手順を完了します。
Cloud Shell を準備する
- Cloud Shell を起動します。
-
Terraform 構成を適用するデフォルトの Google Cloud プロジェクトを設定します。
このコマンドは、プロジェクトごとに 1 回だけ実行する必要があります。これは任意のディレクトリで実行できます。
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Terraform 構成ファイルに明示的な値を設定すると、環境変数がオーバーライドされます。
ディレクトリを準備する
Terraform 構成ファイルには独自のディレクトリ(ルート モジュールとも呼ばれます)が必要です。
-
Cloud Shell で、ディレクトリを作成し、そのディレクトリ内に新しいファイルを作成します。ファイルの拡張子は
.tf
にする必要があります(例:main.tf
)。このチュートリアルでは、このファイルをmain.tf
とします。mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
チュートリアルを使用している場合は、各セクションまたはステップのサンプルコードをコピーできます。
新しく作成した
main.tf
にサンプルコードをコピーします。必要に応じて、GitHub からコードをコピーします。Terraform スニペットがエンドツーエンドのソリューションの一部である場合は、この方法をおすすめします。
- 環境に適用するサンプル パラメータを確認し、変更します。
- 変更を保存します。
-
Terraform を初期化します。これは、ディレクトリごとに 1 回だけ行う必要があります。
terraform init
必要に応じて、最新バージョンの Google プロバイダを使用する場合は、
-upgrade
オプションを使用します。terraform init -upgrade
変更を適用する
-
構成を確認して、Terraform が作成または更新するリソースが想定どおりであることを確認します。
terraform plan
必要に応じて構成を修正します。
-
次のコマンドを実行し、プロンプトで「
yes
」と入力して、Terraform 構成を適用します。terraform apply
Terraform に「Apply complete!」のメッセージが表示されるまで待ちます。
- Google Cloud プロジェクトを開いて結果を表示します。Google Cloud コンソールの UI でリソースに移動して、Terraform によって作成または更新されたことを確認します。
クリーンアップ
このクイックスタートで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、CA プールと Terraform 構成ファイルで定義されているすべてのリソースを削除します。
terraform destroy
プロンプトが表示されたら、「yes
」と入力します。
このクイックスタート用に新規プロジェクトを作成した場合は、そのプロジェクトを削除します。
次のステップ
- Cloud Shell での
gcloud
コマンドの実行の詳細について学習する。 - Google Cloud での Terraform の使用の詳細について学習する。
- CA Service での Terraform の使用の詳細について学習する。
- CA Service のサポートに関する Terraform のドキュメントを読む。
- Google Cloud Provider を使ってみる。