Terraform Example: VPC Controlling Access
Este ejemplo implementa una versión Terraform del lab VPC Networks - Controlling Access.
Qué crea
- APIs necesarias:
compute.googleapis.com,iam.googleapis.com. - 2 web servers en la red
default:bluecon tagweb-servergreensin tag
- Instalación automática de
nginx-lighty página diferenciada en cada servidor. - Firewall rule
allow-http-web-serverpara exponertcp:80eicmpsolo a instancias con el tagweb-server. - VM
test-vmpara validar conectividad. - Service account
network-adminadjunta atest-vm, con:roles/compute.networkAdminroles/compute.securityAdminopcional según variable
Uso rápido
- Inicializá:
terraform init
- Definí
terraform.tfvars:
project_id = "tu-project-id"
region = "us-central1"
zone = "us-central1-a"
network_name = "default"
subnetwork_name = "default"
grant_security_admin = true
- Plan y apply:
terraform plan
terraform apply
Notas
- Este ejemplo asume que existe la red
defaulty que conserva la regladefault-allow-internal, igual que en el lab original. - Para reproducir la progresión del lab, podés aplicar primero con
grant_security_admin = falsey verificar que desdetest-vmse pueden listar firewall rules pero no borrarlas; después cambiás atruey volvés a aplicar. - El lab original usa una clave JSON subida manualmente a la VM. Acá se evita esa práctica y se adjunta la service account directamente a
test-vm.