GCP入門: Terraform を使用した IaC -Vol.3-

スポンサーリンク
GCP入門: Terraform を使用した IaC -Vol.3- ノウハウ
GCP入門: Terraform を使用した IaC -Vol.3-
この記事は約4分で読めます。
よっしー
よっしー

こんにちは。よっしーです(^^)

今日は、TerraformでGCPのリソース作成について解説しています。

スポンサーリンク

背景

前回の記事の続きになります。

実施内容

main.tfに下記の緑部分を追記します。

resource "google_compute_instance" "vm_instance" {
  name         = "terraform-instance"
  machine_type = "e2-micro"
  tags         = ["web", "dev"]

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }

  network_interface {
    network = google_compute_network.vpc_network.name
    access_config {
    }
  }
}


# 実行プランの作成
terraform plan

# 変更を適用
terraform apply

# 状態ファイルの確認
terraform show

解説

terraform plan

terraform planを実行すると下記のような出力になります。

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # google_compute_instance.vm_instance will be updated in-place
  ~ resource "google_compute_instance" "vm_instance" {
        id                   = "projects/プロジェクト/zones/us-west1-c/instances/terraform-instance"
        name                 = "terraform-instance"
      ~ tags                 = [
          + "dev",
          + "web",
        ]
        # (22 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.

この出力は、Terraformの実行計画(execution plan)を示しています。以下に詳細を解説します:

  1. 更新の表示:
  • ~ シンボルは、既存のリソースが「その場で更新」(update in-place)されることを示しています。
  1. 更新対象のリソース:
  • google_compute_instance.vm_instance が更新されます。
  1. リソースの詳細:
  • id: このインスタンスの完全な識別子を示しています。
  • name: インスタンスの名前(”terraform-instance”)は変更されません。
  1. 変更点:
  • tags: タグが追加されます。
    • “dev” と “web” の2つのタグが新たに追加されます。
  • # (22 unchanged attributes hidden): 22の属性が変更されずに隠されています。
  • # (4 unchanged blocks hidden): 4つの設定ブロックが変更されずに隠されています。
  1. 計画の要約:
  • Plan: 0 to add, 1 to change, 0 to destroy.
    • 0個のリソースが追加され、1個のリソースが変更され、0個のリソースが破壊されます。

この計画は、既存のCompute Engineインスタンスに”dev”と”web”というタグを追加する操作のみを行うことを示しています。他の設定は変更されません。

おわりに

今日は、 TerraformでGCPのリソース作成について解説しました。

よっしー
よっしー

何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。

それでは、また明日お会いしましょう(^^)

コメント

タイトルとURLをコピーしました