Saltar al contenido principal
Esta lista de verificación debe completarse y revisarse con el cliente antes de desplegar la infraestructura EKB EKS en su cuenta de AWS. Todos los elementos deben ser confirmados, documentados y aprobados antes del despliegue.

Lista de verificación

Cuenta y Acceso de AWS

ÁreaElemento de verificaciónRequisito detalladoQué / Por quéCriterios de aceptaciónEstadoValores capturados / Notas
CuentaID de Cuenta de AWSSe debe compartir un ID de cuenta de AWS válidoRequerido para creación de roles IAM, titularidad de facturación, etiquetado y acceso al backend de TerraformEl ID de cuenta es correcto, la facturación está habilitada y es accesible
RegiónSelección de Región de AWSLa región debe ser compatible con EKS, EC2, VPC, ACM, ElastiCache, Amazon MQAlgunos servicios están restringidos por región; las regiones no compatibles interrumpen el despliegueRegión confirmada en la consola de AWS y compatible con todos los servicios requeridos
CLIAWS CLI ConfiguradaUsuario IAM con AWS CLI autenticadoLos despliegues de Terraform/Terragrunt requieren acceso programáticoaws sts get-caller-identity devuelve la cuenta esperada
IAMPermisos de DesplieguePermisos IAM de administradorEl despliegue abarca EC2, EKS, IAM, S3, ACM, Route 53, MQ, ElastiCache, CloudWatchLa política IAM permite crear/actualizar/eliminar en los servicios requeridos

Cuotas de Servicio

ÁreaElemento de verificaciónRequisito detalladoQué / Por quéCriterios de aceptaciónEstadoValores capturados / Notas
EC2Cuota de vCPU bajo demandaMí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 vCPUAumento de cuota aprobado en la consola de Service Quotas
EC2Disponibilidad de familias de instanciasInstancias de las familias C, M, R disponibles en la regiónLas cargas de trabajo requieren nodos optimizados para cómputo, memoria y bases de datosLas familias de instancias son visibles y seleccionables en la consola de EC2
EKSCuota de Clusters EKSAl menos 1 cluster EKS permitido según el despliegue de entorno requeridoLa creación del cluster se bloquea si la cuota es insuficienteCuota >= 1 cluster
VPCCuota de NAT Gateway1 NAT Gateway por AZ (recomendado 3)Las subredes privadas requieren acceso de salida a InternetCuota >= número de AZ
RedCuota de Elastic IPElastic IPs disponibles para NAT GatewaysCada NAT Gateway consume un Elastic IPLa cuota de Elastic IP es suficiente para el número de AZs
ElastiCacheCuota de ElastiCacheAl menos 2 nodos para el cluster Redis (cache.t3.micro, Redis 7.0)Requerido cuando ENABLE_AWS_SERVICES=trueCuota >= 2 nodos
Amazon MQCuota de Amazon MQAl menos 1 broker para RabbitMQ (mq.m5.large, RabbitMQ 3.13)Requerido cuando ENABLE_AWS_SERVICES=trueCuota >= 1 broker

Dominios y SSL

ÁreaElemento de verificaciónRequisito detalladoQué / Por quéCriterios de aceptaciónEstadoValores capturados / Notas
DominiosDominio del FrontendDominio público para el frontend web (ej. app.example.com)Usado para enrutamiento ALB y terminación SSLEl dominio resuelve y la titularidad está confirmada
DominiosDominio de la API BackendDominio público para el backend FastAPI (ej. api.example.com)Requerido para acceso a la API y TLSEl dominio está documentado y aprobado
DominiosDominio del Servicio AutomatorDominio público para el servicio Automator (ej. automations.example.com)Requerido para acceso a la API y TLSEl dominio está documentado y aprobado
DominiosDominio del Servicio SupabaseCuando 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 SupabaseEl dominio está documentado y aprobado
CertificadosCertificados ACMCertificados ACM wildcard o individuales creados en la región de despliegueLa terminación TLS en ALB requiere certificados ACM válidosLos certificados están en estado ISSUED y en la misma región de AWS que el despliegue

Red

ÁreaElemento de verificaciónRequisito detalladoQué / Por quéCriterios de aceptaciónEstadoValores capturados / Notas
VPCEstrategia VPCConfirmar VPC existente o aprobar creación de nueva VPCDefine aislamiento, enrutamiento y límites de seguridadID de VPC o bloque CIDR aprobado
CIDRPlanificación CIDREl CIDR no debe superponerse con redes locales u otras VPCsLos CIDRs superpuestos interrumpen el enrutamiento y la conectividad VPNCIDR validado contra redes existentes
SubredesSubredes PúblicasSubredes públicas por AZ para ALB y NAT GatewaysRequerido para tráfico de entrada y salidaSubredes etiquetadas y enrutables
SubredesSubredes PrivadasSubredes privadas por AZ para nodos worker de EKSGarantiza que las cargas de trabajo no estén expuestas directamente a InternetSubredes mapeadas y alcanzables a través de NAT Gateway
SalidaAcceso de SalidaPuertos de salida 80, 443, 53 permitidos desde nodos workerNecesario para descargas de imágenes de contenedor, llamadas API de AWS y resolución DNSReglas de firewall/grupo de seguridad validadas

Configuración del Servicio

ÁreaElemento de verificaciónRequisito detalladoQué / Por quéCriterios de aceptaciónEstadoValores capturados / Notas
SupabaseHabilitación de SupabaseConfirmar Supabase autoalojado (ENABLE_SUPABASE=true) o Supabase CloudAfecta aprovisionamiento de DB, secretos, ingreso y configuración de redDecisión documentada; las banderas ENABLE_* correspondientes configuradas en el despliegue
Servicios AWSUso de RedisConfirmar ElastiCache Redis de AWS (ENABLE_AWS_SERVICES=true) o Redis externoAfecta alta disponibilidad, costo y diseño de redDecisión documentada
Servicios AWSUso de RabbitMQConfirmar Amazon MQ (ENABLE_AWS_SERVICES=true) o RabbitMQ externoImpacta confiabilidad de mensajería y HADecisión documentada
Balanceador de CargasControlador ALBAWS Load Balancer Controller habilitado (ENABLE_ALB_CONTROLLER=true, predeterminado)Requerido para el provisionamiento de ingreso ALB desde anotaciones de KubernetesPods del controlador ejecutándose en el namespace infrastructure

Autoescalado

ÁreaElemento de verificaciónRequisito detalladoQué / Por quéCriterios de aceptaciónEstadoValores capturados / Notas
KarpenterKarpenter InstaladoControlador Karpenter desplegado a través del módulo EKSManeja el provisionamiento dinámico de nodos; reemplaza el autoescalado de grupos de nodos administradosPods de Karpenter saludables en el grupo de nodos dedicado
KarpenterEstrategia SpotUso de Spot vs bajo demanda definido por clase de nodoOptimiza el costo manteniendo estabilidad; el manejo de interrupciones Spot debe estar habilitadoManejo de interrupciones via SQS habilitado si se usan instancias Spot
KEDAAutoescalado de PodsKEDA instalado a través de chart Helm (namespace keda)Maneja el autoescalado dinámico de pods basado en umbrales de CPU/MemoriaOperador KEDA saludable; ScaledObjects aplicados a todos los servicios

Almacenamiento

ÁreaElemento de verificaciónRequisito detalladoQué / Por quéCriterios de aceptaciónEstadoValores capturados / Notas
EBSControlador EBS CSIControlador EBS CSI instalado (namespace kube-system)Requerido para el provisionamiento dinámico de volúmenes persistentes a través de StorageClassPods del controlador saludables; PVCs provisionándose correctamente

Seguridad

ÁreaElemento de verificaciónRequisito detalladoQué / Por quéCriterios de aceptaciónEstadoValores capturados / Notas
CifradoCifrado en reposoVolúmenes EBS, bucket de estado S3 y cifrado de Redis habilitadosProtege datos sensibles en reposo en todas las capas de almacenamientoCifrado confirmado a través de la consola de AWS para cada servicio
CifradoCifrado en tránsitoTLS enforced para toda la comunicación de servicios externa e internaPreviene la interceptación de datos en tránsitoEndpoints HTTPS verificados; Redis transit_encryption_enabled = true
AuditoríaRegistro de auditoríaCloudTrail, VPC Flow Logs y logs de auditoría de Kubernetes habilitadosRequerido para investigaciones de incidentes, cumplimiento y auditoríasLogs visibles y consultables en CloudWatch / S3

Despliegue

ÁreaElemento de verificaciónRequisito detalladoQué / Por quéCriterios de aceptaciónEstadoValores capturados / Notas
ProgramaciónVentana de DespliegueFecha y horario de despliegue aprobados por el clienteGarantiza la disponibilidad del equipo del cliente para validación y reversión si es necesarioConfirmación por escrito recibida

Aprobación

ÁreaElemento de verificaciónRequisito detalladoQué / Por quéCriterios de aceptaciónEstadoValores capturados / Notas
AprobaciónAprobación del ClienteEl cliente aprueba formalmente el estimado de costos, alcance y plan de despliegueAutorización formal de puesta en producción requerida antes de aprovisionar la infraestructuraAprobació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 EntornoValor predeterminadoEfecto
ENABLE_SUPABASEfalseDesplegar stack de Supabase autoalojado (Kong, Auth, Storage, Studio)
ENABLE_CNPGfalseDesplegar operador CloudNativePG (prerrequisito para la DB de Supabase autoalojado)
ENABLE_HA_SUPABASE_DBfalseDesplegar cluster HA de PostgreSQL a través de CloudNativePG (prerrequisito para Supabase)
ENABLE_AWS_SERVICESfalseProvisionar ElastiCache Redis y Amazon MQ RabbitMQ
ENABLE_ALB_CONTROLLERtrueDesplegar AWS Load Balancer Controller
ENABLE_SIGNOZfalseDesplegar plataforma de observabilidad SigNoz + agente k8s-infra

Resumen de Valores Capturados

Registre los valores finales recopilados del cliente antes del despliegue.
ParámetroValor
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 SupabaseCloud / Autoalojado
RedisElastiCache / Externo
RabbitMQAmazon MQ / Externo
Fecha / Ventana de Despliegue
Referencia de Aprobación del Cliente