Google CloudのCloud ShellでTerraformを実行してみる

Google CloudのCloud ShellでTerraformを実行してみる

Clock Icon2025.06.19

Google CloudのCloud Shellでは、Terraformがプリインストールされていて、Google Cloudの認証情報もセットされています。

Terraformをさくっと試すのに便利です。

今回は、Cloud Shell上でTerraformを実行してVPCを作ってみます。

Cloud Shellを開く

Google Cloudコンソールから、右上のアイコンを選択してCloud Shellを開きます。

sato_masaki_–_Google_Cloud_コンソール.png

エディタを開くを選択して、Webエディタを起動します。

Cursor_と_sato_masaki_–_Google_Cloud_コンソール.png

エディタ上で、ターミナルを開きます。

Terminal -> New Terminalの順に選択します。

これで画面下部に、ターミナルが表示されるはずです。

以降に紹介するコマンドは、こちらのターミナルから実行します。

Terraformの確認

Cloud ShellにはデフォルトでTerraformが入っています。

terraform --version
出力例
Terraform v1.5.7
on linux_amd64

Your version of Terraform is out of date! The latest version
is 1.12.2. You can update by downloading from https://www.terraform.io/downloads.html

Terraformのバージョンは古めですが、今回は検証のため、このまま進めます。

Compute Engine APIの有効化

今回のコードを実行するには、Compute Engine APIが有効である必要があります。

以下のコマンドでCompute Engine APIの状態を確認します。

Listed 0 items.と表示されたら、無効な状態です。Compute Engine APIが表示されたら、以降はスキップして大丈夫です。

gcloud services list --enabled --filter="name:compute.googleapis.com"

無効だった場合は以下のコマンドで有効化します。

gcloud services enable compute.googleapis.com

再度list --enabledコマンドで確認すると、以下のようにcompute.googleapis.comが確認できるはずです。

gcloud services list --enabled --filter="name:compute.googleapis.com"
出力例
NAME: compute.googleapis.com
TITLE: Compute Engine API

Terraformでリソース作成

mkdir terraform-test
cd terraform-test
touch main.tf

今回はテスト用にVPCを作成してみます。

以下の内容でコードを用意します。

terraform-test/main.tf
terraform {
  required_providers {
    google = {
      source = "hashicorp/google"
      version = "~> 6.40.0"
    }
  }
}

provider "google" {}

resource "google_compute_network" "this" {
  name = "terraform-test"
}

Terraformを実行してリソースを作成します。

terraform init
terraform plan
terraform apply

Applyが完了後、コンソール上からもリソースが作成されていることを確認できました。

VPC_ネットワーク_–_VPC_ネットワーク_–_sato_masaki_–_Google_Cloud_コンソール.png

検証が終わったら、以下のコマンドでリソースを削除しておきます。

terraform destroy

補足: Providerブロックは空でいいの?

今回は空でOKです。

Cloud Shellは環境変数でProject名がセットされており、Terraformはそれを使います。(環境変数GOOGLE_CLOUD_PROJECT)

$ printenv | grep GOOGLE
GOOGLE_CLOUD_PROJECT=hoge-project
GOOGLE_CLOUD_QUOTA_PROJECT=hoge-project
BASHRC_GOOGLE_PATH=/google/devshell/bashrc.google

リージョンリソースを設定する場合は、regionを設定する必要があります。

今回は、作成リソースがVPC(グローバル)なので不要でした。

Provider Default Values Configuration | Google Provider Configuration Reference | Terraform Registry

おわりに

Cloud ShellはTerraformがプリインストールされていて、さくっとTerraform試すのに便利です。

VSCodeのようなWebエディタ(Code OSS)も簡単に使えて助かります。

Gemini Code Assistも使えるので、Terraformのコード作成が捗りそうです。

以上、AWS事業本部の佐藤(@chari7311)でした。

参考

Build infrastructure | Terraform | HashiCorp Developer
Google Cloud の Terraform 関連ドキュメント

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.