Files
iac-duplicate/docs/ANALISIS_CUENTA_668889063715.md
Jenkins CI 71be2abd2e Add complete SACC v4 infrastructure project
- Terraform modules: VPC, EC2, RDS, S3, CloudFront, Route53, Lambda, IAM, Security Groups
- Ansible playbooks for server configuration
- Scripts: create-test-environment.sh, destroy-test-environment.sh, validate-environment.sh
- Documentation: README, QUICKSTART, AGENTS
- Jenkins pipeline for automated deployment
- Jenkins pipeline for environment destruction
2026-06-03 04:39:01 +00:00

15 KiB

Analisis de Cuenta AWS 668889063715 - SACC v4 Test Environment

Fecha de analisis: 2026-06-01 Cuenta AWS: 668889063715 Region: mx-central-1 Proyecto: SACC v4 (Duplicacion de Produccion) Estado: Documento de analisis y planificacion - SIN CAMBIOS APLICADOS


1. Resumen Ejecutivo

Este documento analiza la cuenta AWS 668889063715 para determinar la viabilidad y estrategia de duplicacion del entorno de produccion SACC v4. No se han ejecutado cambios - este es un documento de planificacion basado en la arquitectura conocida de produccion.

Objetivo

Crear un entorno de pruebas identico al de produccion en la cuenta 668889063715, utilizando naming convention sacc4-test-* para evitar conflictos.

Alcance

  • Infraestructura completa (VPC, EC2, RDS, S3, CloudFront, Route53, Lambda)
  • Configuracion de servidor (Nginx, Systemd, Usuarios)
  • Scripts de automatizacion para creacion, validacion y destruccion

2. Estado de la Cuenta (Basado en Credenciales Proporcionadas)

2.1 Acceso Verificado

Dato Valor
Cuenta AWS 668889063715
Region mx-central-1
Tipo de credencial Temporal (Session Token)
Acceso requerido IAM con permisos para EC2, RDS, S3, VPC, CloudFront, Route53, Lambda, IAM, DynamoDB

2.2 Recursos Esperados en Cuenta

Segun el usuario, la cuenta ya cuenta con:

  • Route53: Subdominio configurado (a verificar)
  • VPC: Posiblemente VPC default o existentes (a verificar)

2.3 Verificacion Recomendada (NO EJECUTADA)

Antes de desplegar, ejecutar manualmente:

# Verificar identidad
aws sts get-caller-identity

# Listar regiones disponibles
aws account list-regions

# VPCs existentes
aws ec2 describe-vpcs

# Buckets S3
aws s3 ls

# Certificados ACM
aws acm list-certificates --region mx-central-1
aws acm list-certificates --region us-east-1

# Instancias EC2
aws ec2 describe-instances

# RDS
aws rds describe-db-instances

# Route53
aws route53 list-hosted-zones

3. Recursos a Crear

3.1 Infraestructura de Red

Recurso Nombre CIDR / Configuracion
VPC sacc4-test-vpc 10.3.0.0/16
Subnet Publica 1 sacc4-test-public-1 10.3.1.0/24 (mx-central-1a)
Subnet Publica 2 sacc4-test-public-2 10.3.2.0/24 (mx-central-1b)
Subnet Privada 1 sacc4-test-private-1 10.3.10.0/24 (mx-central-1a)
Subnet Privada 2 sacc4-test-private-2 10.3.11.0/24 (mx-central-1b)
Internet Gateway sacc4-test-igw Asociado a VPC
Route Table Publica sacc4-test-public-rt 0.0.0.0/0 -> IGW

Razonamiento del CIDR:

  • Produccion usa 10.2.0.0/16
  • Test usa 10.3.0.0/16 para evitar solapamiento
  • Si existen otras VPCs, verificar que no usen 10.3.0.0/16

3.2 Computo (EC2)

Recurso Nombre Configuracion
Instancia EC2 sacc4-test-api-prod t3.small, Ubuntu 22.04
Elastic IP sacc4-test-eip Asociada a EC2
Key Pair sacc4-test-thoth Llave publica de thoth
Volume Root - 8 GB gp2, encriptado

Puertos abiertos (Security Group EC2):

Puerto Origen Proposito
22 VPC CIDR o IPs especificas SSH
80 0.0.0.0/0 HTTP
443 0.0.0.0/0 HTTPS
8080-8085 VPC CIDR Microservicios API

3.3 Base de Datos (RDS)

Recurso Nombre Configuracion
Instancia RDS sacc4-test-db-prod MariaDB 10.11.16
Clase db.t3.micro 1 vCPU, 1 GB RAM
Almacenamiento 20 GB gp2, encriptado
DB Name ccsoft_sacc4_test
Master User sacc_admin_test
App User sacc_app_user (creado por user data)
Backup 7 dias Ventana 03:00-04:00

Security Group RDS:

Puerto Origen Proposito
3306 Security Group EC2 MariaDB desde API

3.4 Frontend (S3 + CloudFront)

Recurso Nombre Configuracion
Bucket S3 sacc4-frontend-test-668889063715 Privado, OAC
CloudFront Auto-generado PriceClass_100, HTTPS
OAC sacc4-test-oac SigV4, S3 origin

3.5 DNS (Route53)

Recurso Nombre Valor
Hosted Zone ccsoft.mx (existente) Data source
Record A test-sacc.ccsoft.mx Alias a CloudFront
Record A api.test-sacc.ccsoft.mx IP publica EC2

Nota: Se asume que existe una hosted zone para ccsoft.mx o subdominio. Si no existe, crearla primero o usar otro dominio.

3.6 Scheduling (Lambda + EventBridge)

Recurso Nombre Proposito
Lambda Start sacc4-test-start-instances Iniciar EC2/RDS L-V 8AM
Lambda Stop sacc4-test-stop-instances Detener EC2/RDS L-V 7PM
Schedule Start sacc4-test-start-morning cron(0 13 ? * MON-FRI *)
Schedule Stop sacc4-test-stop-evening cron(0 0 ? * TUE-SAT *)
IAM Role Lambda sacc4-test-lambda-scheduler-role Permisos EC2/RDS
IAM Role Scheduler sacc4-test-eventbridge-scheduler-role Invocar Lambda

Horario (America/Mexico_City):

  • Inicio: 8:00 AM L-V (13:00 UTC)
  • Apagado: 7:00 PM L-V (00:00 UTC+1)

3.7 Estado Terraform

Recurso Nombre Proposito
Bucket S3 sacc4-terraform-state-test-668889063715 Estado remoto
Tabla DynamoDB sacc4-terraform-locks-test-668889063715 Bloqueo de estado

4. Dependencias y Orden de Creacion

1. Backend Terraform (S3 + DynamoDB)
   |
2. VPC (VPC, Subnets, IGW, Route Tables)
   |
3. Security Groups (EC2, RDS)
   |
4. IAM Roles (Lambda, EC2, Scheduler)
   |
5. RDS (Subnet Group, Instance)
   |
6. EC2 (Instance, EIP, Key Pair)
   |
7. S3 + CloudFront (Bucket, Distribution, OAC)
   |
8. Route53 (Records A)
   |
9. Lambda + EventBridge (Functions, Schedules)
   |
10. Ansible (Configuracion servidor)

Dependencias criticas:

  • EC2 depende de VPC, Security Groups, IAM
  • RDS depende de VPC, Security Groups
  • CloudFront depende de S3
  • Route53 depende de EC2 (IP) y CloudFront (dominio)
  • Lambda depende de EC2 (ID) y RDS (ID)

5. Costos Estimados (Mensual)

Recurso Especificacion Costo Mensual (USD)
EC2 t3.small 11h/dia (scheduling) ~$5.25
RDS db.t3.micro 11h/dia (scheduling) ~$4.54
S3 ~1 GB storage ~$0.02
CloudFront 100GB transferencia ~$2.00
Route53 1 hosted zone + queries ~$0.50
Lambda 2 funciones, poca ejecucion ~$0.00
Data Transfer Salida a internet ~$1.00
TOTAL ~$13.31

Notas de costos:

  • Con scheduling (apagado fuera de horario laboral): ~60% de ahorro
  • Sin scheduling (24/7): ~$35-40/mes
  • Los costos son estimados y pueden variar
  • CloudFront: PriceClass_100 (Norte America y Europa)

6. Riesgos y Mitigaciones

Riesgo Probabilidad Impacto Mitigacion
Conflicto de CIDR con VPC existente Media Alto Verificar aws ec2 describe-vpcs antes. Usar 10.3.0.0/16
Nombre de bucket S3 ya existe Alta Medio Usar sufijo de cuenta ID: sacc4-frontend-test-668889063715
Falta de permisos IAM Media Alto Verificar politicas antes. Script valida credenciales
Route53 zone no existe Media Alto Verificar con aws route53 list-hosted-zones. Ajustar dominio
AMI no disponible en mx-central-1 Baja Alto Verificar AMI antes o usar data source aws_ami
Credenciales temporales expiran Media Medio Renovar session token si es necesario
Costos inesperados Baja Medio Scheduling habilitado por defecto. Monitorear Billing
Destruccion accidental Baja Alto Script de destruccion requiere confirmacion doble

7. Conflictos Potenciales con Recursos Existentes

7.1 Nombres Unicos Globales

Los siguientes recursos requieren nombres unicos globalmente en AWS:

  • S3 Buckets: sacc4-frontend-test-668889063715 (incluye ID de cuenta)
  • DynamoDB Tables: sacc4-terraform-locks-test-668889063715

7.2 Nombres Unicos por Cuenta

  • EC2 Key Pairs: sacc4-test-thoth
  • IAM Roles: sacc4-test-lambda-scheduler-role, sacc4-test-eventbridge-scheduler-role
  • RDS Instances: sacc4-test-db-prod
  • Lambda Functions: sacc4-test-start-instances, sacc4-test-stop-instances

7.3 Estrategia de Evitacion

  1. Todos los recursos usan prefijo sacc4-test-*
  2. Bucket S3 incluye ID de cuenta
  3. Tabla DynamoDB incluye ID de cuenta
  4. Script create-test-environment.sh verifica conflictos antes de crear

8. Checklist Pre-Despliegue

8.1 Verificacion Manual (Obligatoria)

  • Ejecutar aws sts get-caller-identity y confirmar cuenta 668889063715
  • Verificar region mx-central-1
  • Listar VPCs existentes: aws ec2 describe-vpcs
  • Verificar CIDR 10.3.0.0/16 no este en uso
  • Listar hosted zones Route53: aws route53 list-hosted-zones
  • Verificar dominio test-sacc.ccsoft.mx este disponible
  • Listar certificados ACM: aws acm list-certificates --region us-east-1

8.2 Preparacion Local

  • Instalar AWS CLI v2
  • Instalar Terraform >= 1.5.0
  • Instalar Ansible (opcional, para configuracion)
  • Generar par de llaves SSH: ssh-keygen -t ed25519 -f ~/.ssh/sacc4-test-key
  • Copiar terraform.tfvars.example a terraform.tfvars
  • Completar todas las variables en terraform.tfvars
  • Cambiar contrasena RDS por una segura

8.3 Configuracion de Credenciales

export AWS_ACCESS_KEY_ID=ASIAZXPHFEERTQJHLDJC
export AWS_SECRET_ACCESS_KEY=Xa58LDQt+WOBgGVQhwoYbATz/sk2G80RpIcjvKuo
export AWS_SESSION_TOKEN=IQoJb3JpZ2luX2VjECYaDG14LWNlbnRyYWwtMSJHMEUCIQCDI8BwOq2g1G/g7bNRoTJlolwJas0IxPU0PcLMFWbVEgIgJfC5/CoCt9rL6xGrC3hUtjzXb/SHk5owM6ImoK4GKdYq9wIIFhAAGgw2Njg4ODkwNjM3MTUiDMlcZz9jDpE28Mvr3yrUAihBZtNJ4vZs5iU16XgogqOWzA54lBjSnFsrq17u30F88mQL3sKNns7jGjgfHDIoPy0MmyA+cWd+q9DCtuZr+DUNS81n0DGDtI+oCkPfAmlkhHCtskzoyUzMb0XSRBIv2IUDqUqsOps/QBiTZcqJ3JIYeUaDntA1ZHCYCTH1C2hsgkznkPgwQE9/UrVmkkwoWAfRlln9DYpUpH5x/y+Cmzd5a7W/bhCYBF6vYbPvhr5Zr1t8EKcDPz4ANX+OFaa6v7AL2aHDuyVPiHU/YDXD6uSeTlfpLFYuQvx2HdBeHvHNyMcPpAsQ8c4YflzJGZmPBqnXrnpkOZBhNqjxlHFjXxSlNEv0X7ceKwOPCz4TLHA+cS18KkGKARzfVSfCeCmhQ+5LS8uCGdDV6u3tTUHY/rFyZ6uKVWrbl0Ky9apJRl2TOlXwQd6NyHsw2PkUgacitEfO0vswieX30AY6pQHT7j02zLvQClYhLqpyt+EHGVzlvRNN0dH92RRtQGtryQ+er5YUatzrth8VyBs659qLeIf1bmrCBBWpvJRDIsRAxnWU3Wq3nBqwxgFshaoPS8j99g9Q8Iky0MahSKEi30CLNaFZh6k8PoqQeGUrJLmT7cUH0gP9u+J+jJoPHb9568+yDLtCItb2p0q4JejISOKXniMKm6nja0/dJwl1uYMMtEalvVk=
export AWS_DEFAULT_REGION=mx-central-1

9. Arquitectura del Entorno Test

                                 +------------------+
                                 |     Usuario      |
                                 +--------+---------+
                                          |
                                          v
+------------------+           +----------+-----------+
|   Route53        |<----------|    CloudFront CDN    |
| (test-sacc... )  |           |  (SSL via ACM)       |
+------------------+           +----------+-----------+
                                          |
                    +---------------------+---------------------+
                    |                                           |
                    v                                           v
           +----------------+                         +------------------+
           |  S3 Bucket     |                         |  EC2 Instance    |
           | (Frontend      |                         | (Backend API     |
           |  React)        |                         |  Spring Boot)    |
           +----------------+                         +--------+---------+
                                                               |
                                                               v
                                                      +------------------+
                                                      |   Nginx (reverse |
                                                      |    proxy)        |
                                                      +--------+---------+
                                                               |
                                                               v
                                                      +------------------+
                                                      |  RDS MariaDB     |
                                                      |  (Base de datos) |
                                                      +------------------+
                                                               ^
                                                               |
                                                      +------------------+
                                                      |  Lambda Scheduler|
                                                      |  (Start/Stop)    |
                                                      +------------------+

10. Scripts Generados

Script Ruta Proposito
create-test-environment.sh iac-duplicate/scripts/ Crea el entorno completo
validate-environment.sh iac-duplicate/scripts/ Valida funcionamiento
destroy-test-environment.sh iac-duplicate/scripts/ Destruye de forma segura

Uso de Scripts

# 1. Configurar credenciales
export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...
export AWS_SESSION_TOKEN=...
export AWS_DEFAULT_REGION=mx-central-1

# 2. Crear entorno
cd iac-duplicate/scripts
./create-test-environment.sh

# 3. Validar entorno
./validate-environment.sh --full

# 4. Destruir entorno (cuando ya no se necesite)
./destroy-test-environment.sh

11. Diferencias con Produccion

Aspecto Produccion Test
Cuenta AWS 523761210517 668889063715
CIDR VPC 10.2.0.0/16 10.3.0.0/16
Dominio prod-sacc.ccsoft.mx test-sacc.ccsoft.mx
Scheduling L-V 8AM-7PM L-V 8AM-7PM
Instancia EC2 t3a.medium t3.small
Certificado SSL Let's Encrypt + ACM CloudFront default (inicial)
Backup RDS 7 dias 7 dias

12. Notas y Advertencias

  1. NO APLICAR EN PRODUCCION: Estos scripts estan disenados exclusivamente para el entorno de test en cuenta 668889063715.

  2. Credenciales Temporales: Las credenciales proporcionadas incluyen un session token, lo que indica que son temporales y expiraran. Renovar segun sea necesario.

  3. Costos: Aunque el scheduling reduce costos significativamente, monitorear la facturacion de AWS para evitar cargos inesperados.

  4. SSL/TLS: En produccion se usa Let's Encrypt para la API y ACM para CloudFront. En test, inicialmente CloudFront usara el certificado default. Para produccion-like, solicitar certificado ACM en us-east-1.

  5. Datos Sensibles: El archivo terraform.tfvars contiene contrasenas. NO commitear en git. Usar .gitignore o AWS Secrets Manager para entornos reales.

  6. AMI: La AMI ami-0f553e2869648134e es para Ubuntu 22.04 en mx-central-1. Verificar disponibilidad antes de desplegar.


13. Proximos Pasos

  1. Verificar cuenta: Ejecutar comandos AWS CLI de la seccion 2.3
  2. Preparar terraform.tfvars: Completar todas las variables
  3. Generar llaves SSH: Crear par de llaves para acceso EC2
  4. Ejecutar create-test-environment.sh: Crear la infraestructura
  5. Desplegar aplicacion: Subir JARs de microservicios a EC2
  6. Configurar SSL: Solicitar certificado ACM para dominio custom
  7. Validar: Ejecutar validate-environment.sh

Documento generado automaticamente - 2026-06-01
Cómputo Contable Soft SA de CV - Proyecto SACC4