Identifica la arquitectura
- EC2: máquina virtual; puede correr una aplicación o contenedores.
- ECS: orquesta contenedores. Fargate administra la capacidad de cómputo; ECS sobre EC2 usa instancias del equipo.
- ECR: registro privado de imágenes de contenedor.
- RDS: base de datos relacional administrada.
- IAM: identidades y permisos; busca privilegios mínimos.
- CloudWatch: métricas, logs y alarmas.
También puede haber Elastic Beanstalk, Lambda, EKS u otro diseño. Encuentra el pipeline y la infraestructura como código (Terraform, CloudFormation, CDK) del proyecto.
Flujo habitual de una versión
- Revisión del cambio y verificaciones automáticas.
- Build de artefacto o imagen etiquetada con el commit.
- Publicación en el registro, como ECR si usa contenedores.
- Despliegue al entorno mediante pipeline aprobado.
- Revisión de health checks, logs y métricas.
- Rollback según runbook si falla.
Antes de desplegar, confirma entorno objetivo, responsable de aprobación y procedimiento de rollback.
Configuración y secretos
Inyecta secretos en runtime mediante el mecanismo aprobado, por ejemplo Secrets Manager o Parameter Store. El rol de IAM de una tarea o instancia debe tener solo los permisos necesarios.
No pongas claves en Dockerfile, argumentos de build, repositorio ni logs.
Dónde mirar cuando falla
- Pipeline: etapa fallida y artefacto.
- ECS: estado de tarea/servicio, eventos y health check del balanceador.
- CloudWatch Logs: arranque de aplicación, error y stack trace.
- RDS: estado, red, secreto y migraciones.
- IAM: permiso denegado y rol asignado.
- Configuración: perfil Spring y variables requeridas.
Correlaciona hora, commit y request ID. Evita copiar datos sensibles en una incidencia.