Prácticas de infraestructura (src/examples)
En esta carpeta vas a encontrar prácticas de infraestructura pensadas para acompañar los labs del curso, con foco en Terraform y buenas prácticas (variables reutilizables, outputs, estructura clara por caso de uso, etc.).
Qué incluye hoy
cloud-run/cloud-run-functions-qwik-start/- Ejemplo Terraform basado en el lab Cloud Run Functions Qwik Start.
- Cubre APIs, Cloud Run Functions (gen2), triggers y recursos asociados.
cloud-run/pubsub-with-cloud-run/- Ejemplo Terraform basado en el lab Cloud Pub Sub With Cloud Run.
- Cubre servicios Cloud Run, topic/subscription de Pub/Sub, service account e IAM.
iam/configuring-iam-with-gcloud/- Ejemplo Terraform basado en el lab Configuring IAM Permissions with gcloud.
- Cubre rol custom, bindings IAM para un segundo usuario, service account y una VM con identidad adjunta.
iam/exploring-iam/- Ejemplo Terraform basado en el lab Exploring IAM.
- Cubre bucket de prueba, grants IAM acotados, service account y VM
demoiam.
load-balancer/create-nlb/- Ejemplo Terraform para crear un Network Load Balancer.
load-balancer/application-load-balancer/- Ejemplo Terraform para un Application Load Balancer con autoscaling (MIG + autoscaler).
network/configuring-vpc/- Ejemplo Terraform basado en el lab Configuring VPC Firewalls.
- Cubre VPC auto mode, VMs de demo y reglas de firewall ingress/egress.
network/controlling-access/- Ejemplo Terraform basado en el lab VPC Networks - Controlling Access.
- Cubre VMs web, firewall taggeado y service account para probar permisos de red.
network/multiple-vpc/- Ejemplo Terraform basado en el lab Multiple VPC Networks.
- Cubre VPCs custom/auto mode, VMs y una appliance con múltiples interfaces de red.
network/vpc-flow-logs/- Ejemplo Terraform basado en el lab Analyzing Network Traffic with VPC Flow Logs.
- Cubre VPC custom con Flow Logs, firewall, VM Apache, log sink a BigQuery y permisos IAM del sink.
network/build-secure-network-challenge/- Ejemplo Terraform basado en el lab Build a Secure Network - Challenge.
- Cubre bastion sin IP pública vía IAP,
juice-shopcon HTTP, y reglas de firewall restrictivas por tags/subred.
storage/buckets/- Ejemplo Terraform basado en el lab Cloud Storage (versioning, lifecycle y objetos de muestra).
storage/cloud-sql/- Ejemplo Terraform basado en el lab Implementing Cloud SQL (Cloud SQL, peering privado y VMs de demo).
terraform/automating-infrastructure-deployment/- Ejemplo Terraform basado en el lab Automating the Deployment of Infrastructure Using Terraform.
- Cubre VPC auto mode, firewall ICMP/SSH/HTTP/RDP y dos VM instances en zonas distintas.
virtual-machines/create-vm/- Ejemplo Terraform para crear una VM en Compute Engine.
terraform/build-iac-with-terraform/- Ejemplo Terraform basado en el lab Build IaC with Terraform.
- Cubre import de Compute Engine, bucket para estado remoto, VPC con módulo del registry y firewall.
storage/cloud-storage/bucket/- Ejemplo del SDK de Cloud Storage en Python (
google-cloud-storage): funcionesupload_blob/download_blob. No es Terraform.
- Ejemplo del SDK de Cloud Storage en Python (
observability/ops-agent-monitoring/- Ejemplo Terraform basado en el lab Monitoring a Compute Engine by using Ops Agent.
- Cubre VM con Apache + Ops Agent preconfigurado vía startup script, firewall HTTP, canal de notificación y alerting policy opcionales.
observability/cloud-trace/- Ejemplo Terraform basado en el lab View application latency with Cloud Trace.
- Cubre cluster GKE con scopes para Cloud Trace; la app demo Python + OpenTelemetry se despliega con el script oficial.
observability/alerting-in-gcp/- Ejemplo Terraform basado en el lab Alerting in Google Cloud.
- Cubre App Engine application y un alert policy de Cloud Monitoring (latencia 99th percentile) con notification channel opcional.
observability/service-monitoring/- Ejemplo Terraform basado en el lab Service Monitoring.
- Cubre App Engine application, un SLO de disponibilidad (rolling window) para el servicio
defaulty un alert policy por burn rate del error budget (notification channel opcional).
observability/log-analytics/- Ejemplo Terraform basado en el lab Log Analytics on Google Cloud (GSP1088).
- Cubre GKE, log bucket con Log Analytics habilitado, linked dataset en BigQuery y log sink para enrutar logs
k8s_container.
observability/monitoring-apps-in-gcp/- Ejemplo Terraform basado en el lab Monitoring Applications in Google Cloud.
cicd/devops-pipeline/- Ejemplo Terraform basado en el lab Building a DevOps Pipeline (curso 41).
- Cubre Cloud Build trigger + Artifact Registry conectado a GitHub.
Cómo usar estas prácticas
- Entrá a la carpeta del ejemplo que quieras.
- Inicializá Terraform con
terraform init. - Definí variables (por ejemplo en
terraform.tfvars). - Revisá cambios con
terraform plan. - Aplicá con
terraform apply.
Recomendaciones
- No hardcodear
project_id, región o nombres sensibles: usá variables. - Usar
terraform fmty, si podés,terraform validateantes de aplicar. - Si estás probando en un proyecto temporal, al terminar corré
terraform destroy.