Google ACE: Despliegue, configuración y automatización — Guía de estudio
Forma parte de la Google Associate Cloud Engineer — Guía de estudio. Practica con respuestas verificadas en el centro de exámenes de Google, o realiza tests cronometrados en ExamRoll.io.
Descripción general
El despliegue, la configuración y la automatización en Google Cloud se centran en la entrega de cambios repetible, auditable y segura. Las buenas prácticas se basan en la infraestructura como código (IaC), las plantillas declarativas, los artefactos inmutables y los pipelines estandarizados. La excelencia operativa proviene de diseñar para la idempotencia, previsualizar los cambios, aplicar políticas y planificar despliegues controlados con rutas de rollback claras. Las siguientes secciones proporcionan patrones prácticos, ejemplos de comandos y el razonamiento detrás de las decisiones de diseño, incluyendo errores comunes y compensaciones.
Fundamentos de Infraestructura como Código y Configuración
Principios:
- Las plantillas declarativas describen el estado final deseado; las herramientas reconcilian el estado real para que coincida. Esto mejora la idempotencia, la repetibilidad y la auditabilidad.
- La infraestructura inmutable despliega nuevas instancias o revisiones en lugar de modificar las existentes, lo que simplifica el rollback y reduce el drift.
- Separación de responsabilidades: parametriza los valores específicos del entorno mientras reutilizas módulos o plantillas compartidas.
Terraform en Google Cloud:
- Configuración: los archivos HCL definen recursos, variables y salidas. Usa módulos para encapsular VPCs, cuentas de servicio o clústeres de GKE; publica módulos compartidos internamente para estandarizar patrones.
- Estado: mantén el estado remoto y versionado. Usa un backend de Cloud Storage con versionado de objetos y retención de buckets según corresponda.
- Ejemplo de bloque de backend:
undefined
- Modos de fallo: el estado local o los buckets sin versionar conllevan riesgo de pérdida de datos y escrituras concurrentes. Aplica el acceso de mínimo privilegio al bucket de estado; prefiere credenciales de corta duración y la suplantación de identidad de cuentas de servicio en lugar de claves.
- Planes y aplicaciones:
terraform planproporciona una vista previa; restringe losappliesen CI/CD con aprobación humana para producción. Usa-targetcon moderación; el uso frecuente detargetaumenta el riesgo de drift. - Módulos: versiona los módulos semánticamente; fija las versiones para evitar cambios no planificados. Valida con
terraform validatey comprobaciones de políticas antes de aplicar. - Importaciones y drift:
terraform importpone los recursos existentes bajo gestión; a continuación, realiza una revisión cuidadosa del estado. Detecta el drift ejecutandoterraform planregularmente. - Ejecución remota: ejecuta Terraform en trabajos de Cloud Build o Cloud Run con Workload Identity Federation para evitar las claves de cuentas de servicio. Almacena en caché los proveedores para reducir el tiempo de compilación.
Deployment Manager:
- Aunque muchos equipos estandarizan con Terraform, es posible que te encuentres con Deployment Manager. Actualiza un despliegue sin tiempo de inactividad actualizando la configuración:
undefined
Estándares de configuración:
- Nomenclatura: aplica nombres consistentes y analizables (parseables) con entorno, región, propósito y secuencia, p. ej.,
vpc-prod-usw1-core. - Etiquetas (Labels): adjunta etiquetas como
env,cost_center,owneryappa todos los recursos; hazlo cumplir mediante políticas o validación. - Etiquetas de red (Tags): usa etiquetas de red para delimitar el alcance de las reglas de firewall; evita sobrecargar las etiquetas de red para identidad o propiedad (las etiquetas o labels son mejores para eso).
- Metadatos: aprovecha los metadatos de instancia para los scripts de inicio y la configuración; prefiere metadatos con checksum o indicadores de versión para controlar las reejecuciones. Evita colocar secretos en los metadatos; usa Secret Manager.
APIs, habilitación de servicios, cuotas y cuentas de servicio:
- Habilita los servicios requeridos de forma temprana en la automatización:
undefined
- Valida el margen de cuota durante la planificación; las pruebas de escalado deben incluir verificaciones de cuota para evitar el throttling.
- Usa cuentas de servicio dedicadas por carga de trabajo y entorno; otorga roles de IAM con el mínimo privilegio en el alcance más reducido posible. Prefiere la membresía de grupo para el acceso humano y la suplantación de identidad de cuentas de servicio para la automatización.
Pipelines de Entrega y Promoción de Artefactos
Cloud Build:
- Define los pasos de Cloud Build para construir, probar y empaquetar artefactos. Usa sustituciones para valores dinámicos y utiliza Secret Manager para las credenciales.
- Dispara las compilaciones a partir de cambios en el código fuente; aísla las cuentas de servicio de compilación por repositorio o entorno y otorga solo los permisos necesarios.
- Almacena en caché las capas de Docker y las dependencias de lenguajes para reducir los tiempos de compilación. Vigila los límites de compilaciones concurrentes y las cuotas de los workers efímeros.
Promoción de artefactos:
- Almacena imágenes de contenedor o paquetes de lenguajes en Artifact Registry. Promociona mediante:
- El reetiquetado de digests inmutables para el entorno (p. ej.,
:qa,:prod) o - La copia de artefactos a un repositorio específico del entorno.
- El reetiquetado de digests inmutables para el entorno (p. ej.,
- Compensaciones: un único repositorio con etiquetas simplifica el descubrimiento pero requiere una gobernanza estricta; los repositorios por entorno fortalecen el aislamiento y la aplicación de políticas.
Cloud Deploy:
- Modela un pipeline de entrega con destinos ordenados (p. ej., dev → qa → prod). Los releases hacen referencia a un digest de artefacto específico y a un manifiesto de despliegue.
- Para GKE y Cloud Run, Cloud Deploy usa configuraciones de Skaffold para renderizar y aplicar manifiestos. Configura aprobaciones, verificaciones y puertas (gates).
- Despliegue y rollback:
- El despliegue Canary con desvío de tráfico incremental reduce el radio de impacto.
- El despliegue Blue/green permite un cambio rápido y un rollback a costa de capacidad adicional.
- Realiza un rollback fijando la última release que funcionó correctamente; evita las correcciones in-place que crean drift.
- Modos de fallo: permisos de clúster no coincidentes, APIs faltantes y errores de esquema en los manifiestos. Detecta estos problemas de forma temprana renderizando los manifiestos durante la compilación y validándolos contra las políticas del clúster.
Planificación de cambios seguros:
- Requiere una vista previa (plan o render), pruebas automatizadas, validación de políticas y aprobación humana para producción.
- Para los grupos de instancias administrados de Compute Engine, ajusta la política de actualización
maxSurge/maxUnavailabley la configuración de las comprobaciones de estado para evitar el sobreaprovisionamiento cuando la preparación de la aplicación es lenta.
Operaciones de línea de comandos y gestión de entornos
Configuraciones de Cloud Shell y gcloud:
- Cloud Shell proporciona un entorno de administración gestionado con gcloud preautenticado y un directorio de inicio persistente.
- Usa configuraciones con nombre para cambiar rápidamente de cuenta, proyecto y región: gcloud config configurations create prod gcloud config set project my-prod gcloud config set compute/region us-central1 gcloud config set compute/zone us-central1-a gcloud config configurations activate prod
- Inspecciona la configuración activa con gcloud config list. Para GKE, obtén las credenciales: gcloud container clusters get-credentials my-cluster –region us-central1
Patrones de comandos de Compute:
- Crear una VM con una IP interna reservada: gcloud compute addresses create license-ip –region=us-central1 –subnet=default –addresses=10.0.3.21 gcloud compute instances create license-server –zone=us-central1-a –subnet=default –private-network-ip=10.0.3.21 –tags=license
- Crear una VPC personalizada, una subred y una regla de firewall: gcloud compute networks create core –subnet-mode=custom gcloud compute networks subnets create core-us –network=core –range=10.0.0.0/20 –region=us-central1 gcloud compute firewall-rules create allow-https –network=core –allow=tcp:443 –target-tags=web
Patrones de IAM:
- Otorgar un rol a nivel de proyecto: gcloud projects add-iam-policy-binding my-project –member=group:ops@example.com –role=roles/logging.viewer
- Copiar roles personalizados entre proyectos: gcloud iam roles copy myCustomRole –source=my-dev –destination=my-prod
Patrones de Storage:
- Crear un bucket y subir objetos: gcloud storage buckets create gs://backups-prod –location=us-central1 –class=coldline –uniform-bucket-level-access gcloud storage cp ./backup.tar.gz gs://backups-prod/
- Configurar el ciclo de vida a través de un archivo y aplicarlo con gcloud storage buckets update –lifecycle-file=policy.json
Habilitación y verificación de API:
- Habilitar Pub/Sub para una aplicación: gcloud services enable pubsub.googleapis.com
- Listar los servicios habilitados: gcloud services list –enabled
Gobernanza, Desviación y Automatización
Desviación de la configuración y aplicación de políticas:
- Detecta la desviación ejecutando
terraform plande forma programada; haz que las compilaciones fallen ante cambios inesperados. - Aplica las restricciones de las políticas de la organización (p. ej., restringir IPs externas) y valida las configuraciones de los recursos con política como código (policy-as-code) antes de aplicar los cambios.
- Para Kubernetes, usa Config Sync y Policy Controller para conciliar continuamente y bloquear los cambios que no cumplan con las políticas.
- Auditabilidad: apóyate en los registros de Actividad del Administrador (Admin Activity) y de Acceso a los Datos (Data Access); enrúta los a BigQuery para su análisis. Usa Cloud Asset Inventory para consultas del estado en un punto específico en el tiempo (point-in-time) y a través del tiempo (time-travel).
Cuotas y límites:
- Inspecciona las cuotas por región y proyecto; planifica un margen de crecimiento (headroom) para el autoescalado y los despliegues: gcloud compute regions describe us-central1 –format=“yaml(quotas)”
- Solicita aumentos antes de un crecimiento planificado o de despliegues a gran escala.
Tareas operativas automatizadas:
- Cloud Scheduler activa endpoints HTTP, temas de Pub/Sub o Workflows según una programación cron. Asegura que los manejadores (handlers) sean idempotentes; configura reintentos y temas de mensajes no entregados (dead-letter topics).
- Workflows orquesta la automatización de múltiples pasos a través de las APIs de Google con reintentos, pasos en paralelo y lógica de compensación.
- Los trabajos (jobs) de Cloud Run ejecutan tareas administrativas o por lotes (batch) en contenedores, ya sea bajo demanda o a través de Scheduler. Prefiere los trabajos para cargas de trabajo únicas o iterativas; usa los permisos mínimos en la cuenta de servicio del trabajo.
Seguridad y observabilidad en los despliegues:
- Incorpora verificaciones de estado (health checks) y sondeos de preparación (readiness probes) en los servicios. Para los MIGs con un inicio lento, aumenta el retraso inicial (initial delay) para evitar acciones de escalado prematuras.
- Recopila métricas de despliegue y presupuestos de error (error budgets); pausa o aborta automáticamente los despliegues cuando los SLOs se degraden.
Escenario de Problema Práctico
Altostrat Media necesita estandarizar los despliegues multi-entorno para un servicio basado en GKE, eliminando a la vez la desviación de la configuración y garantizando una reversión (rollback) rápida. También deben reservar una IP interna fija para un servidor de licencias heredado (legacy) sin reconfigurar la aplicación.
- Crear módulos base de Terraform y estado remoto
- Implementa módulos para VPC, subredes, GKE, cuentas de servicio y reglas de firewall. Configura un backend de Cloud Storage con control de versiones y una política de retención para el bucket de estado.
- Justificación: La modularización promueve la reutilización y la consistencia; el estado remoto y versionado permite la colaboración, la recuperabilidad y el bloqueo.
- Habilitar los servicios requeridos y establecer identidades de automatización con privilegios mínimos
- Habilita compute.googleapis.com, container.googleapis.com, clouddeploy.googleapis.com, artifactregistry.googleapis.com.
- Crea cuentas de servicio por entorno para Terraform, Cloud Build y Cloud Deploy; otorga roles mínimos (p. ej.,
roles/container.admina quienes despliegan, no a quienes compilan). - Justificación: La habilitación previa y la definición precisa de roles (scoping) reducen los fallos de despliegue y limitan el radio de impacto (blast radius).
- Aprovisionar la red y reservar la IP heredada
- Con Terraform, crea una VPC personalizada, subredes regionales y reglas de firewall basadas en etiquetas de red (network tags).
- Reservar la IP interna: gcloud compute addresses create license-ip –region=us-central1 –subnet=core-us –addresses=10.0.3.21
- Justificación: La red declarativa garantiza la repetibilidad; reservar la IP preserva las suposiciones de la aplicación.
- Compilar artefactos con Cloud Build y publicarlos en Artifact Registry
- Define un
cloudbuild.yamlpara ejecutar pruebas, compilar el contenedor, escanearlo y enviar un digest inmutable a Artifact Registry. - Justificación: Los artefactos inmutables y escaneados son la base para promociones seguras y para el seguimiento del origen (provenance).
- Configurar el pipeline de Cloud Deploy con destinos dev → qa → prod
- Define un pipeline de entrega y sus destinos; referencia la configuración de Skaffold para renderizar los manifiestos. Requiere aprobación manual para
prody configura verificaciones. - Justificación: La promoción estructurada impone controles; las políticas por destino evitan despliegues accidentales en
prod.
- Desplegar actualizaciones en GKE con una estrategia canary y puertas de salud (health gates)
- Usa una política de despliegue canary para desviar el 10%, luego el 50% y finalmente el 100% del tráfico, dependiendo de las verificaciones de SLO y de la tasa de errores.
- Justificación: La entrega progresiva reduce el riesgo y proporciona puntos de reversión naturales.
- Eliminar la desviación con planes programados y verificaciones de políticas
- Un trabajo nocturno ejecuta
terraform plany un validador de política como código; alerta sobre diferencias (diffs) inesperadas o violaciones. - Justificación: La detección temprana evita que la desviación se acumule y rompa futuras aplicaciones de cambios.
- Poner en operación la VM del servidor de licencias con la IP reservada
- Crea la VM vinculada a la dirección reservada y con las etiquetas adecuadas: gcloud compute instances create license-server –zone=us-central1-a –subnet=core-us –private-network-ip=10.0.3.21 –tags=license
- Justificación: Asegura la alcanzabilidad sin cambiar la aplicación; las etiquetas mantienen las reglas de firewall con un alcance limitado.
- Automatizar tareas recurrentes con Scheduler, Workflows y trabajos (jobs)
- Cloud Scheduler activa un Workflow para rotar las claves de las cuentas de servicio cuando sea inevitable y para lanzar un trabajo de Cloud Run para tareas semanales de
vacuumde la base de datos. - Justificación: La programación centralizada junto con la orquestación produce fiabilidad y observabilidad con reintentos y compensación.
- Planificar reversiones (rollbacks) y validar umbrales de preparación (readiness)
- Define guías de actuación (playbooks) para la reversión con el fin de volver a promocionar la última versión estable. Ajusta los sondeos de preparación (readiness probes) y, para cualquier carga de trabajo basada en MIG, aumenta los retrasos iniciales de la verificación de estado para que coincidan con el calentamiento de la aplicación.
- Justificación: La reversión planificada de antemano y las verificaciones de estado ajustadas evitan fallos en cascada y el sobreaprovisionamiento durante incidentes.
Este enfoque alinea artefactos inmutables, infraestructura declarativa, promociones controladas (gated) y automatización con privilegios mínimos para ofrecer operaciones seguras, auditables y repetibles en Google Cloud.
← Almacenamiento · Todos los dominios · Monitoreo →
Practica estas preguntas → · Práctica cronometrada en ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Aprueba tu examen →