Módulo 6: Stack Completo
Tiempo estimado
20 minutos
En este módulo consolidamos toda la infraestructura en un solo template de CloudFormation.
6.1 Template consolidado
Archivo a crear
cloudformation/full-stack.yml
AWSTemplateFormatVersion: '2010-09-09'
Description: 'Stack completo de infraestructura Arka'
Parameters:
Environment:
Type: String
Default: dev
Resources:
# ==================
# S3 Buckets
# ==================
ProductosBucket:
Type: AWS::S3::Bucket
Properties:
BucketName: !Sub "arka-productos-${Environment}"
ReportesBucket:
Type: AWS::S3::Bucket
Properties:
BucketName: !Sub "arka-reportes-${Environment}"
# ==================
# SQS Queues
# ==================
OrdenesQueue:
Type: AWS::SQS::Queue
Properties:
QueueName: !Sub "arka-ordenes-${Environment}"
NotificacionesQueue:
Type: AWS::SQS::Queue
Properties:
QueueName: !Sub "arka-notificaciones-${Environment}"
# ==================
# Secrets Manager
# ==================
DatabaseSecret:
Type: AWS::SecretsManager::Secret
Properties:
Name: !Sub "arka/${Environment}/database"
SecretString: '{"username":"arka","password":"secret"}'
Outputs:
ProductosBucket:
Value: !Ref ProductosBucket
OrdenesQueueUrl:
Value: !Ref OrdenesQueue
6.2 Limpiar stacks anteriores
# Eliminar stacks individuales
awslocal cloudformation delete-stack --stack-name s3-stack
awslocal cloudformation delete-stack --stack-name sqs-stack
awslocal cloudformation delete-stack --stack-name secrets-stack
6.3 Desplegar stack completo
# Desplegar todo
awslocal cloudformation deploy \
--stack-name arka-infrastructure \
--template-file cloudformation/full-stack.yml \
--parameter-overrides Environment=dev
# Verificar outputs
awslocal cloudformation describe-stacks \
--stack-name arka-infrastructure \
--query 'Stacks[0].Outputs' | jq
Checkpoint
Todos los recursos deben estar creados - verifica con los comandos de cada servicio
Verificación Final
# S3
awslocal s3 ls
# SQS
awslocal sqs list-queues
# Secrets
awslocal secretsmanager list-secrets
Arquitectura Final
Siguiente: Limpieza