main
- 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
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
# 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
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
cp terraform.tfvars.example terraform.tfvars
# Editar terraform.tfvars con valores de la nueva cuenta
4. Desplegar Infraestructura
terraform init
terraform plan
terraform apply
5. Configurar Servidor (Ansible)
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
- Revisar
docs/PRODUCTION_CONFIG_EXTRACTION.mdpara detalles exactos - Configurar Bitbucket Pipeline con variables de entorno
- Desplegar aplicación Java a
/opt/sacc4/*/current/ - 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
Description
Languages
Shell
58.7%
HCL
40.5%
Jinja
0.8%