terraform { required_providers { google = { source = "hashicorp/google" } } } provider "google" { version = "3.5.0" project = "qwiklabs-gcp-01-71b122d8e557" region = "us-central1" zone = "us-central1-c" } resource "google_compute_network" "vpc_network" { name = "terraform-network" } resource "google_compute_instance" "vm_instance" { name = "terraform-instance" machine_type = "f1-micro" tags = ["web", "dev"] boot_disk { initialize_params { image = "cos-cloud/cos-stable" } } network_interface { network = google_compute_network.vpc_network.self_link access_config { nat_ip = google_compute_address.vm_static_ip.address } } } resource "google_compute_address" "vm_static_ip" { name = "terraform-static-ip" } # 새로운 리소스를 만든다. 새로운 버킷 resource "google_storage_bucket" "example_bucket" { name = "gcp-tts-dev-bucket" location = "US" website { main_page_suffix = "index.html" not_found_page = "404.html" } } # 버킷 리소스를 사용해 새로운 인스턴스를 만든다. 의존성이 있는 인스턴스 2이다. resource "google_compute_instance" "another_instance" { # Tells Terraform that this VM instance must be created only after the # storage bucket has been created. depends_on = [google_storage_bucket.example_bucket] name = "terraform-instance-2" machine_type = "f1-micro" boot_disk { initialize_params { image = "cos-cloud/cos-stable" } } network_interface { network = google_compute_network.vpc_network.self_link access_config { } } }