====== Lição dual stack CGP ====== $ vim provider.tf terraform { required_providers { google = { source = "hashicorp/google" version = "4.51.0" } } } provider "google" { credentials = "/home/gean/gcp/svc-account/singular-carver-376919-f09b67c64df6.json" project = "singular-carver-376919" region = "us-central1" } $ vim network.tf resource "google_compute_network" "vpc_network_dual" { name = "vpc-network-dual" auto_create_subnetworks = false enable_ula_internal_ipv6 = true } $ vim subnet.tf resource "google_compute_subnetwork" "subnetwork_external_dual" { name = "subnetwork-external-dual" ip_cidr_range = "10.0.4.0/22" region = "us-central1" stack_type = "IPV4_IPV6" ipv6_access_type = "EXTERNAL" network = google_compute_network.vpc_network_dual.self_link } $ vim firewall.tf resource "google_compute_firewall" "allow-icmp-ssh-ipv4" { name = "allow-icmp-ssh-ipv4" network = google_compute_network.vpc_network_dual.self_link allow { protocol = "icmp" } allow { protocol = "tcp" ports = ["22"] } source_ranges = ["0.0.0.0/0"] } resource "google_compute_firewall" "allow-ssh-icmp-ipv6" { name = "allow-ssh-icmp-ipv6" network = google_compute_network.vpc_network_dual.self_link allow { protocol = "tcp" ports = ["22"] } allow { protocol = "58" /* ipv6-icmp */ } source_ranges = ["::/0"] } $ vim instance.tf resource "google_compute_instance" "gcp-vm-01" { name = "gcp-vm-01" machine_type = "e2-small" zone = "us-central1-a" boot_disk { initialize_params { image = "debian-cloud/debian-11" } } network_interface { subnetwork = google_compute_subnetwork.subnetwork_external_dual.self_link stack_type = "IPV4_IPV6" access_config { network_tier = "PREMIUM" } ipv6_access_config { network_tier = "PREMIUM" } } allow_stopping_for_update = true } $ terraform fmt $ terraform validate $ terraform plan $ terraform apply -auto-approve $ terraform state list $ terraform show $ terraform destroy -auto-approve ===== Referências ===== - [[https://mihaibojin.medium.com/deploy-and-configure-google-compute-engine-vms-with-terraform-f6b708b226c1|Deploy and configure Google Compute Engine VMs with Terraform]] - [[https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_subnetwork|google_compute_subnetwork]]