Lista de verificación
Cuenta y Acceso de AWS
| Área | Elemento de verificación | Requisito detallado | Qué / Por qué | Criterios de aceptación | Estado | Valores capturados / Notas |
|---|---|---|---|---|---|---|
| Cuenta | ID de Cuenta de AWS | Se debe compartir un ID de cuenta de AWS válido | Requerido para creación de roles IAM, titularidad de facturación, etiquetado y acceso al backend de Terraform | El ID de cuenta es correcto, la facturación está habilitada y es accesible | ||
| Región | Selección de Región de AWS | La región debe ser compatible con EKS, EC2, VPC, ACM, ElastiCache, Amazon MQ | Algunos servicios están restringidos por región; las regiones no compatibles interrumpen el despliegue | Región confirmada en la consola de AWS y compatible con todos los servicios requeridos | ||
| CLI | AWS CLI Configurada | Usuario IAM con AWS CLI autenticado | Los despliegues de Terraform/Terragrunt requieren acceso programático | aws sts get-caller-identity devuelve la cuenta esperada | ||
| IAM | Permisos de Despliegue | Permisos IAM de administrador | El despliegue abarca EC2, EKS, IAM, S3, ACM, Route 53, MQ, ElastiCache, CloudWatch | La política IAM permite crear/actualizar/eliminar en los servicios requeridos |
Cuotas de Servicio
| Área | Elemento de verificación | Requisito detallado | Qué / Por qué | Criterios de aceptación | Estado | Valores capturados / Notas |
|---|---|---|---|---|---|---|
| EC2 | Cuota de vCPU bajo demanda | Mínimo 100–150 vCPU bajo demanda para instancias estándar (A, C, D, H, I, M, R, T, Z) | El autoescalado, las instancias r6a y Karpenter requieren un margen alto de vCPU | Aumento de cuota aprobado en la consola de Service Quotas | ||
| EC2 | Disponibilidad de familias de instancias | Instancias de las familias C, M, R disponibles en la región | Las cargas de trabajo requieren nodos optimizados para cómputo, memoria y bases de datos | Las familias de instancias son visibles y seleccionables en la consola de EC2 | ||
| EKS | Cuota de Clusters EKS | Al menos 1 cluster EKS permitido según el despliegue de entorno requerido | La creación del cluster se bloquea si la cuota es insuficiente | Cuota >= 1 cluster | ||
| VPC | Cuota de NAT Gateway | 1 NAT Gateway por AZ (recomendado 3) | Las subredes privadas requieren acceso de salida a Internet | Cuota >= número de AZ | ||
| Red | Cuota de Elastic IP | Elastic IPs disponibles para NAT Gateways | Cada NAT Gateway consume un Elastic IP | La cuota de Elastic IP es suficiente para el número de AZs | ||
| ElastiCache | Cuota de ElastiCache | Al menos 2 nodos para el cluster Redis (cache.t3.micro, Redis 7.0) | Requerido cuando ENABLE_AWS_SERVICES=true | Cuota >= 2 nodos | ||
| Amazon MQ | Cuota de Amazon MQ | Al menos 1 broker para RabbitMQ (mq.m5.large, RabbitMQ 3.13) | Requerido cuando ENABLE_AWS_SERVICES=true | Cuota >= 1 broker |
Dominios y SSL
| Área | Elemento de verificación | Requisito detallado | Qué / Por qué | Criterios de aceptación | Estado | Valores capturados / Notas |
|---|---|---|---|---|---|---|
| Dominios | Dominio del Frontend | Dominio público para el frontend web (ej. app.example.com) | Usado para enrutamiento ALB y terminación SSL | El dominio resuelve y la titularidad está confirmada | ||
| Dominios | Dominio de la API Backend | Dominio público para el backend FastAPI (ej. api.example.com) | Requerido para acceso a la API y TLS | El dominio está documentado y aprobado | ||
| Dominios | Dominio del Servicio Automator | Dominio público para el servicio Automator (ej. automations.example.com) | Requerido para acceso a la API y TLS | El dominio está documentado y aprobado | ||
| Dominios | Dominio del Servicio Supabase | Cuando no se usa Supabase Cloud — dominio público para Supabase (ej. supabase.example.com) | Requerido para acceso a la API y TLS cuando se autoaloja Supabase | El dominio está documentado y aprobado | ||
| Certificados | Certificados ACM | Certificados ACM wildcard o individuales creados en la región de despliegue | La terminación TLS en ALB requiere certificados ACM válidos | Los certificados están en estado ISSUED y en la misma región de AWS que el despliegue |
Red
| Área | Elemento de verificación | Requisito detallado | Qué / Por qué | Criterios de aceptación | Estado | Valores capturados / Notas |
|---|---|---|---|---|---|---|
| VPC | Estrategia VPC | Confirmar VPC existente o aprobar creación de nueva VPC | Define aislamiento, enrutamiento y límites de seguridad | ID de VPC o bloque CIDR aprobado | ||
| CIDR | Planificación CIDR | El CIDR no debe superponerse con redes locales u otras VPCs | Los CIDRs superpuestos interrumpen el enrutamiento y la conectividad VPN | CIDR validado contra redes existentes | ||
| Subredes | Subredes Públicas | Subredes públicas por AZ para ALB y NAT Gateways | Requerido para tráfico de entrada y salida | Subredes etiquetadas y enrutables | ||
| Subredes | Subredes Privadas | Subredes privadas por AZ para nodos worker de EKS | Garantiza que las cargas de trabajo no estén expuestas directamente a Internet | Subredes mapeadas y alcanzables a través de NAT Gateway | ||
| Salida | Acceso de Salida | Puertos de salida 80, 443, 53 permitidos desde nodos worker | Necesario para descargas de imágenes de contenedor, llamadas API de AWS y resolución DNS | Reglas de firewall/grupo de seguridad validadas |
Configuración del Servicio
| Área | Elemento de verificación | Requisito detallado | Qué / Por qué | Criterios de aceptación | Estado | Valores capturados / Notas |
|---|---|---|---|---|---|---|
| Supabase | Habilitación de Supabase | Confirmar Supabase autoalojado (ENABLE_SUPABASE=true) o Supabase Cloud | Afecta aprovisionamiento de DB, secretos, ingreso y configuración de red | Decisión documentada; las banderas ENABLE_* correspondientes configuradas en el despliegue | ||
| Servicios AWS | Uso de Redis | Confirmar ElastiCache Redis de AWS (ENABLE_AWS_SERVICES=true) o Redis externo | Afecta alta disponibilidad, costo y diseño de red | Decisión documentada | ||
| Servicios AWS | Uso de RabbitMQ | Confirmar Amazon MQ (ENABLE_AWS_SERVICES=true) o RabbitMQ externo | Impacta confiabilidad de mensajería y HA | Decisión documentada | ||
| Balanceador de Cargas | Controlador ALB | AWS Load Balancer Controller habilitado (ENABLE_ALB_CONTROLLER=true, predeterminado) | Requerido para el provisionamiento de ingreso ALB desde anotaciones de Kubernetes | Pods del controlador ejecutándose en el namespace infrastructure |
Autoescalado
| Área | Elemento de verificación | Requisito detallado | Qué / Por qué | Criterios de aceptación | Estado | Valores capturados / Notas |
|---|---|---|---|---|---|---|
| Karpenter | Karpenter Instalado | Controlador Karpenter desplegado a través del módulo EKS | Maneja el provisionamiento dinámico de nodos; reemplaza el autoescalado de grupos de nodos administrados | Pods de Karpenter saludables en el grupo de nodos dedicado | ||
| Karpenter | Estrategia Spot | Uso de Spot vs bajo demanda definido por clase de nodo | Optimiza el costo manteniendo estabilidad; el manejo de interrupciones Spot debe estar habilitado | Manejo de interrupciones via SQS habilitado si se usan instancias Spot | ||
| KEDA | Autoescalado de Pods | KEDA instalado a través de chart Helm (namespace keda) | Maneja el autoescalado dinámico de pods basado en umbrales de CPU/Memoria | Operador KEDA saludable; ScaledObjects aplicados a todos los servicios |
Almacenamiento
| Área | Elemento de verificación | Requisito detallado | Qué / Por qué | Criterios de aceptación | Estado | Valores capturados / Notas |
|---|---|---|---|---|---|---|
| EBS | Controlador EBS CSI | Controlador EBS CSI instalado (namespace kube-system) | Requerido para el provisionamiento dinámico de volúmenes persistentes a través de StorageClass | Pods del controlador saludables; PVCs provisionándose correctamente |
Seguridad
| Área | Elemento de verificación | Requisito detallado | Qué / Por qué | Criterios de aceptación | Estado | Valores capturados / Notas |
|---|---|---|---|---|---|---|
| Cifrado | Cifrado en reposo | Volúmenes EBS, bucket de estado S3 y cifrado de Redis habilitados | Protege datos sensibles en reposo en todas las capas de almacenamiento | Cifrado confirmado a través de la consola de AWS para cada servicio | ||
| Cifrado | Cifrado en tránsito | TLS enforced para toda la comunicación de servicios externa e interna | Previene la interceptación de datos en tránsito | Endpoints HTTPS verificados; Redis transit_encryption_enabled = true | ||
| Auditoría | Registro de auditoría | CloudTrail, VPC Flow Logs y logs de auditoría de Kubernetes habilitados | Requerido para investigaciones de incidentes, cumplimiento y auditorías | Logs visibles y consultables en CloudWatch / S3 |
Despliegue
| Área | Elemento de verificación | Requisito detallado | Qué / Por qué | Criterios de aceptación | Estado | Valores capturados / Notas |
|---|---|---|---|---|---|---|
| Programación | Ventana de Despliegue | Fecha y horario de despliegue aprobados por el cliente | Garantiza la disponibilidad del equipo del cliente para validación y reversión si es necesario | Confirmación por escrito recibida |
Aprobación
| Área | Elemento de verificación | Requisito detallado | Qué / Por qué | Criterios de aceptación | Estado | Valores capturados / Notas |
|---|---|---|---|---|---|---|
| Aprobación | Aprobación del Cliente | El cliente aprueba formalmente el estimado de costos, alcance y plan de despliegue | Autorización formal de puesta en producción requerida antes de aprovisionar la infraestructura | Aprobación por correo electrónico o documento firmado recibida |
Referencia de Banderas de Habilitación/Deshabilitación de Servicios
Confirme el valor previsto para cada bandera con el cliente antes del despliegue.| Variable de Entorno | Valor predeterminado | Efecto |
|---|---|---|
ENABLE_SUPABASE | false | Desplegar stack de Supabase autoalojado (Kong, Auth, Storage, Studio) |
ENABLE_CNPG | false | Desplegar operador CloudNativePG (prerrequisito para la DB de Supabase autoalojado) |
ENABLE_HA_SUPABASE_DB | false | Desplegar cluster HA de PostgreSQL a través de CloudNativePG (prerrequisito para Supabase) |
ENABLE_AWS_SERVICES | false | Provisionar ElastiCache Redis y Amazon MQ RabbitMQ |
ENABLE_ALB_CONTROLLER | true | Desplegar AWS Load Balancer Controller |
ENABLE_SIGNOZ | false | Desplegar plataforma de observabilidad SigNoz + agente k8s-infra |
Resumen de Valores Capturados
Registre los valores finales recopilados del cliente antes del despliegue.| Parámetro | Valor |
|---|---|
| ID de Cuenta de AWS | |
| Región de AWS | |
| CIDR de la VPC | |
| Zonas de Disponibilidad | |
| Dominio del Frontend | |
| Dominio de la API | |
| Dominio del Automator | |
| Dominio de Supabase (si es autoalojado) | |
| Dominio de SigNoz (si está habilitado) | |
| ARN(s) del Certificado ACM | |
| Modo de Supabase | Cloud / Autoalojado |
| Redis | ElastiCache / Externo |
| RabbitMQ | Amazon MQ / Externo |
| Fecha / Ventana de Despliegue | |
| Referencia de Aprobación del Cliente |