はじめに
どうも、@to-fmakです。最近のプロジェクトでは、HCP Terraformを使ってGoogle Cloud上にインフラリソースを構築する機会がありましたので、今回はHCP TerraformでのGoogle Cloudのクレデンシャル設定方法について簡単に共有したいと思います。
サービスアカウントの作成
まずTerraform用のサービスアカウントを作成します。「IAM」->「サービスアカウント」のコンソールを開き、「サービスアカウントを作成」をクリックします。
サービスアカウント名を入力し、必要なロールを割り当てます。
クレデンシャルの発行
作成したサービスアカウントを開き、「鍵」タグから「キーを追加」をクリックします。
「キーのタイプ」で「JSON」を選択し、「作成」をクリックします。
作成後、JSON形式のクレデンシャルファイルが自動ダウンロードされます。(このファイルは安全に保管してください)
HCP Terraform変数の作成
HCP Terraform では、クレデンシャル情報をWorkspace VariablesまたはVariable Setsに設定できます。今回はシンプルな例として、Workspace Variablesを使用する手順を紹介します。
HCP Terraformで対象Workspaceの「Variables」を開き、「Workspace variables」の「Add variable」をクリックします。
以下の内容で変数を設定します。
- Key: GOOGLE_CREDENTIALS(TerraformのGoogle Providerが参照する変数名)
- Value: 前ステップで発行したJSONクレデンシャルファイルの内容をそのまま貼り付ける
- Sensitive: チェックを入れる(値が非表示になり、後から読み取ることはできなくなる)
Terraformコード内でこの変数を利用するよう設定します。
provider "google" {
credentials = var.GOOGLE_CREDENTIALS
project = var.project_id
region = var.region
}
注意点
- クレデンシャル情報を管理する際は、セキュリティに十分注意してください
- 必要に応じてサービスアカウントの権限を最小限に設定してください
参考URL
エンジニア募集
Gakken LEAP では教育をアップデートしていきたいエンジニアを絶賛大募集しています!!
ぜひお気軽にカジュアル面談へお越しください!!