よっしー
こんにちは。よっしーです(^^)
今日は、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)を示しています。以下に詳細を解説します:
- 更新の表示:
~
シンボルは、既存のリソースが「その場で更新」(update in-place)されることを示しています。
- 更新対象のリソース:
google_compute_instance.vm_instance
が更新されます。
- リソースの詳細:
id
: このインスタンスの完全な識別子を示しています。name
: インスタンスの名前(”terraform-instance”)は変更されません。
- 変更点:
tags
: タグが追加されます。- “dev” と “web” の2つのタグが新たに追加されます。
# (22 unchanged attributes hidden)
: 22の属性が変更されずに隠されています。# (4 unchanged blocks hidden)
: 4つの設定ブロックが変更されずに隠されています。
- 計画の要約:
Plan: 0 to add, 1 to change, 0 to destroy.
- 0個のリソースが追加され、1個のリソースが変更され、0個のリソースが破壊されます。
この計画は、既存のCompute Engineインスタンスに”dev”と”web”というタグを追加する操作のみを行うことを示しています。他の設定は変更されません。
おわりに
今日は、 TerraformでGCPのリソース作成について解説しました。
よっしー
何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。
それでは、また明日お会いしましょう(^^)
コメント