# SACC v4 - Scripts de Duplicación de Infraestructura # ==================================================== # Este directorio contiene scripts para duplicar automáticamente # el entorno de producción SACC v4 en una cuenta AWS de pruebas. # # ATENCIÓN: NO ejecutar en producción. Solo para entornos de test. ## Estructura ``` iac-duplicate/ ├── terraform/ # Infraestructura como código │ ├── main.tf # Orquestación principal │ ├── variables.tf # Variables configurables │ ├── bootstrap.tf # Backend S3/DynamoDB │ └── modules/ # Módulos reutilizables │ ├── vpc/ │ ├── ec2/ │ ├── rds/ │ ├── security-groups/ │ ├── iam/ │ ├── s3-cloudfront/ │ ├── route53/ │ └── lambda-scheduler/ ├── ansible/ # Configuración post-deploy │ └── playbooks/ │ └── site.yml # Playbook principal ├── bitbucket/ # Pipeline CI/CD │ └── bitbucket-pipelines.yml └── scripts/ # Scripts auxiliares └── ec2-user-data.sh ``` ## Uso Rápido ### 1. Preparar Cuenta AWS Test ```bash # Configurar credenciales export AWS_ACCESS_KEY_ID=ASIAXT4UZ2SK5SFE4QVR export AWS_SECRET_ACCESS_KEY=... export AWS_SESSION_TOKEN=... export AWS_DEFAULT_REGION=mx-central-1 ``` ### 2. Crear Backend Terraform ```bash cd iac-duplicate/terraform terraform init terraform apply -target=aws_s3_bucket.terraform_state terraform apply -target=aws_dynamodb_table.terraform_locks ``` ### 3. Configurar Variables ```bash cp terraform.tfvars.example terraform.tfvars # Editar terraform.tfvars con valores de la nueva cuenta ``` ### 4. Desplegar Infraestructura ```bash terraform init terraform plan terraform apply ``` ### 5. Configurar Servidor (Ansible) ```bash cd ../ansible ansible-playbook -i inventory playbooks/site.yml ``` ## Variables Importantes | Variable | Descripción | Ejemplo | |----------|-------------|---------| | `my_ip` | Tu IP pública para SSH | `192.168.1.1/32` | | `db_password` | Contraseña RDS | `Cambiar123!` | | `domain_name` | Dominio para la app | `test-sacc.ccsoft.mx` | | `certificate_arn` | ARN certificado ACM | `arn:aws:acm:...` | ## Próximos Pasos 1. Revisar `docs/PRODUCTION_CONFIG_EXTRACTION.md` para detalles exactos 2. Configurar Bitbucket Pipeline con variables de entorno 3. Desplegar aplicación Java a `/opt/sacc4/*/current/` 4. Verificar health checks en puertos 8080-8085 ## Notas de Seguridad - Cambiar todas las contraseñas por defecto - Restringir Security Groups (no usar 0.0.0.0/0) - Habilitar CloudTrail para auditoría - Configurar AWS Config para compliance