Terraform 公式の GCP チュートリアル
目次
概要
やりたいこと
Terraform で GCP を操作したい。
下記の Terraform 公式のチュートリアルを行う。
Terraform
Terraform 準備
過去に tfenv 経由でインストールした。下記参照。
または Terraform 公式のドキュメントを参照。
gcloud インストール
google-cloud-sdk を brew でインストール。
brew install google-cloud-sdk --cask
自分の環境では PATH を通し、コンソールを再起動する必要があった。
vi ~/.zshrc
source /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.zsh.inc source /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc
gcloud コマンドが使えるようになっているはず。バージョン確認。
$ gcloud version
Google Cloud SDK 321.0.0
bq 2.0.64
core 2020.12.11
gsutil 4.57
gcloud 初期化。公式のチュートリアルを参照し進める。
gcloud init
設定が完了すると以下に config ファイルができる。
ls -la ~/.config/gcloud/configurations/config_default
現在の config 情報を確認する。
gcloud config configurations list
新たな config は以下で作成する。
gcloud config configurations create hoge
Terraform 用サービスアカウント作成
GCP コンソールより、Terraform 用のサービスアカウントを作成する。
- IAMと管理 -> サービスアカウント -> サービスアカウントを作成
- サービスアカウント名 : terraform
- ロール : プロジェクトの編集者
- サービスアカウント管理ロール : 自分の登録メールアドレス
- 作成されたサービスアカウントを選択し、「鍵の作成」
- キーのタイプ : Json
Credential が Json としてダウンロードされるので適当な場所に配置する。
Terraform の provider で指定する。
vi main.tf
provider "google" { project = "BE-nishiyama-wataru" credentials = file("/Users/user/.config/gcloud/configurations/terraform.json") zone = "us-central1-c" }
Terraform の初期化。
terraform init
「Terraform has been successfully initialized! 」と出れば成功。
Google Compute Engine VM instance を作成
下記の Terraform チュートリアル通りにやる。
Instance 用のテンプレートを作成。
vi instance.tf
resource "google_compute_instance" "vm_instance" { name = "terraform-instance" machine_type = "f1-micro" boot_disk { initialize_params { image = "debian-cloud/debian-9" } } network_interface { # A default network is created for all GCP projects network = google_compute_network.vpc_network.self_link access_config { } } } resource "google_compute_network" "vpc_network" { name = "terraform-network" auto_create_subnetworks = "true" }
デプロイ。
terraform apply
Compute Engine -> VM インスタンスより、Instance が作成されたことを確認。

用が済んだら消しておく。
terraform destroy
ディスカッション
コメント一覧
まだ、コメントがありません