Activo-activo y activo-pasivo entre varias regiones
Enrute el tráfico simultáneamente a varias Regiones con el enrutamiento por latencia de Route 53 o cambie a un sistema en espera activa mediante la conmutación por error basada en comprobaciones de estado
Activo-activo y activo-pasivo entre varias regiones es una lección gratuita de Cloud & IT Cert Prep en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cloud & IT Cert Prep, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cloud & IT Cert Prep incluye 4 lecciones en total.
¿Por qué una arquitectura Multi-Region?
Multi-AZ protege frente a fallos de una sola AZ, pero una región de AWS completa puede dejar de estar disponible durante desastres a gran escala, interrupciones importantes o por requisitos normativos. Las arquitecturas multirregión abordan este problema mediante la ejecución de cargas de trabajo en dos o más regiones geográficamente separadas. Hay dos patrones principales: activo-pasivo (una región atiende el tráfico mientras otra permanece en espera) y activo-activo (ambas regiones atienden tráfico simultáneamente).
Activo-pasivo: el patrón de espera en caliente
En una configuración multirregión activo-pasivo, la región principal gestiona todo el tráfico de producción. La región secundaria ejecuta una copia funcional, aunque reducida, que permanece activa y lista para usarse. Los datos se replican continuamente de la región principal a la secundaria. Cuando falla la región principal, se promueve la secundaria a activa mediante el enrutamiento de conmutación por error de Route 53. Este patrón ofrece un coste menor que activo-activo, pero tiene un RTO mayor (el tiempo necesario para promover y escalar la región en espera).
# Route 53 failover routing configuration
# Primary record: us-east-1 ALB (primary)
# Secondary record: us-west-2 ALB (failover)
aws route53 change-resource-record-sets \
--hosted-zone-id Z123 \
--change-batch '{
"Changes": [{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "app.example.com",
"Type": "A",
"Failover": "PRIMARY",
"HealthCheckId": "hc-primary"
}
}]
}'Activo-activo: tráfico en ambas regiones
En una configuración activo-activo, ambas regiones atienden simultáneamente el tráfico de producción. Route 53, con enrutamiento basado en latencia o enrutamiento ponderado, distribuye los usuarios entre la región más cercana o más adecuada. Cuando falla una región, las comprobaciones de estado de Route 53 detectan el fallo y enrutan todo el tráfico a la región disponible. Activo-activo proporciona el mejor RTO (casi cero), reduce la latencia para los usuarios distribuidos por todo el mundo y mejora el rendimiento al repartir la carga entre las regiones.
# Route 53 latency-based routing for active-active
aws route53 change-resource-record-sets \
--hosted-zone-id Z123 \
--change-batch '{
"Changes": [
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "app.example.com",
"Type": "A",
"Region": "us-east-1",
"SetIdentifier": "us-east-1",
"HealthCheckId": "hc-use1",
"AliasTarget": {"DNSName": "alb-use1.amazonaws.com"}
}
}
]
}'Replicación de datos entre regiones
La parte más difícil de una arquitectura multirregión es mantener la coherencia de los datos entre regiones. Herramientas clave: S3 Cross-Region Replication (CRR) replica objetos de S3 de forma asíncrona en un bucket de otra región. DynamoDB Global Tables proporciona replicación multimaestro y multirregión con coherencia eventual. Aurora Global Database replica desde una región principal a un máximo de cinco regiones secundarias con un retraso inferior a 1 segundo. Cada mecanismo de replicación ofrece distintas garantías de coherencia y características de latencia.
# Enable S3 Cross-Region Replication
aws s3api put-bucket-replication \
--bucket source-bucket-us-east-1 \
--replication-configuration '{
"Role": "arn:aws:iam::123:role/replication-role",
"Rules": [{
"Status": "Enabled",
"Destination": {
"Bucket": "arn:aws:s3:::dest-bucket-us-west-2"
}
}]
}'DynamoDB Global Tables para activo-activo
DynamoDB Global Tables permite una replicación real activo-activo, multirregión y multimaestro. Su aplicación puede escribir en DynamoDB desde cualquier región, y los cambios se replican en todas las demás regiones normalmente en un plazo de 1 segundo. La resolución de conflictos utiliza last-writer-wins según las marcas de tiempo. Esto hace que Global Tables sea ideal para aplicaciones distribuidas globalmente, como clasificaciones de juegos, perfiles de usuario y almacenes de sesiones, donde las lecturas y escrituras locales de baja latencia son fundamentales.
# Create DynamoDB Global Table
aws dynamodb create-global-table \
--global-table-name UserProfiles \
--replication-group \
RegionName=us-east-1 \
RegionName=eu-west-1 \
RegionName=ap-southeast-1
# Applications in each region write to local DynamoDB
# Replication is automatic and bi-directionalAurora Global Database
Aurora Global Database abarca varias regiones de AWS, con una única región principal que gestiona las escrituras y hasta cinco regiones secundarias que gestionan las lecturas, con un retraso de replicación inferior a 1 segundo. Para la recuperación ante desastres, puede promover una región secundaria a principal en menos de 1 minuto, lo que la hace adecuada para un patrón activo-pasivo con un RTO exigente. Las regiones secundarias también pueden atender tráfico de lectura de baja latencia, lo que crea un patrón híbrido: activo-activo para las lecturas y activo-pasivo para las escrituras.
# Create Aurora Global Database
aws rds create-global-cluster \
--global-cluster-identifier my-global-db \
--engine aurora-postgresql \
--engine-version 14.5
# Add secondary region
aws rds create-db-cluster \
--db-cluster-identifier secondary-cluster \
--global-cluster-identifier my-global-db \
--engine aurora-postgresql \
--region eu-west-1Comprobaciones de estado de Route 53 para la conmutación por error
La conmutación por error multirregión depende de las comprobaciones de estado de Route 53 para detectar fallos regionales. Las comprobaciones de estado pueden supervisar un endpoint (HTTP/HTTPS/TCP), una alarma de CloudWatch o ser calculadas a partir de otras comprobaciones de estado. Route 53 consulta continuamente sus endpoints desde varias ubicaciones de todo el mundo. Cuando una comprobación falla, Route 53 deja de devolver automáticamente los registros de esa región y redirige el tráfico a las regiones disponibles dentro del periodo TTL de DNS.
# Create Route 53 health check
aws route53 create-health-check \
--caller-reference unique-ref-001 \
--health-check-config '{
"Type": "HTTPS",
"FullyQualifiedDomainName": "app.us-east-1.example.com",
"Port": 443,
"ResourcePath": "/health",
"RequestInterval": 30,
"FailureThreshold": 3
}'Global Accelerator para activo-activo
AWS Global Accelerator proporciona dos direcciones IP Anycast estáticas que enrutan el tráfico a través de la red global de AWS hasta el endpoint óptimo. A diferencia de la conmutación por error mediante DNS de Route 53 (que depende del TTL), Global Accelerator detecta los fallos de los endpoints en 1-3 segundos y redirige el tráfico al instante, mucho más rápido que la propagación de DNS. Utilice Global Accelerator cuando necesite una conmutación por error inferior a un segundo, direcciones IP constantes para incluirlas en listas de permitidos o cuando el enrutamiento basado en el TTL de DNS sea demasiado lento para su RTO.
# Create Global Accelerator
aws globalaccelerator create-accelerator \
--name my-accelerator \
--ip-address-type IPV4
# Add endpoints in multiple regions
aws globalaccelerator create-endpoint-group \
--listener-arn arn:aws:globalaccelerator::123:accelerator/xxx/listener/yyy \
--endpoint-group-region us-east-1 \
--endpoint-configurations EndpointId=alb-us-east-1-arn,Weight=100Resolución de conflictos en activo-activo
Las arquitecturas multirregión activo-activo afrontan un desafío fundamental: los conflictos de escritura. Si dos regiones actualizan simultáneamente el mismo registro, ¿qué actualización prevalece? DynamoDB Global Tables utiliza last-writer-wins. Entre las estrategias de resolución de conflictos a nivel de aplicación se incluyen: event sourcing (registros de solo anexado con combinación mediante CRDT), versionado (rechazar escrituras con números de versión obsoletos) o escrituras particionadas (cada región es propietaria de un fragmento de datos y solo escribe en él). Diseñe el modelo de datos para minimizar los conflictos de escritura entre regiones.
# DynamoDB conditional write to prevent conflicts
aws dynamodb update-item \
--table-name Orders \
--key '{"orderId":{"S":"ord-123"}}' \
--update-expression 'SET #s = :newStatus' \
--condition-expression '#v = :expectedVersion' \
--expression-attribute-names '{"#s":"status","#v":"version"}' \
--expression-attribute-values '{":newStatus":{"S":"shipped"},":expectedVersion":{"N":"1"}}'Costes y complejidad operativa
Las arquitecturas multirregión aumentan considerablemente el coste y la complejidad. Debe pagar los recursos de varias regiones, los costes de replicación de datos (transferencia de datos entre regiones), los costes de las comprobaciones de estado y, a menudo, duplicar las herramientas operativas en cada región. Activo-pasivo es más rentable porque la región en espera se ejecuta con una capacidad reducida. Activo-activo es el patrón más costoso, pero ofrece la mejor experiencia de usuario y el mejor RTO. Sopese siempre el coste frente al valor empresarial de una resiliencia regional adicional.
# Key costs in multi-region architecture:
# - EC2/RDS in each region: full compute costs
# - Cross-region data transfer: ~$0.02/GB
# - Route 53 health checks: ~$0.50/check/month
# - Global Accelerator: $0.025/hour + data transfer
# - DynamoDB Global Table replication: per-write charges per region
# - Aurora Global Database: storage replicated to all regionsElección del patrón multirregión adecuado
Elija el patrón multirregión según los requisitos empresariales: si el RTO > 1 hora y el coste es la prioridad, utilice Backup and Restore en otra región. Si el RTO es de minutos, utilice activo-pasivo con espera en caliente. Si el RTO < 1 minuto y los usuarios están distribuidos por todo el mundo, utilice activo-activo. Tenga en cuenta los requisitos normativos: algunos sectores exigen que los datos permanezcan en regiones específicas, lo que puede limitar las opciones de replicación. Documente explícitamente las ventajas y desventajas de su decisión de arquitectura.
# Decision matrix:
# RTO > 1 hour, RPO > 1 hour: Backup & Restore
# RTO ~minutes, RPO ~minutes: Active-Passive (Warm Standby)
# RTO < 1 minute, RPO ~0: Active-Active
# Key services for each:
# Backup & Restore: AWS Backup + S3 CRR
# Active-Passive: Aurora Global DB + Route 53 failover
# Active-Active: DynamoDB Global Tables + Global AcceleratorComprobación rápida
Compruebe sus conocimientos sobre los conceptos de AWS Solutions Architect (SAA-C03) de esta lección.
Resumen de la lección
En esta lección ha aprendido que activo-pasivo ejecuta una región en espera que se activa cuando se produce un fallo, que activo-activo atiende el tráfico desde varias regiones simultáneamente y que DynamoDB Global Tables y Aurora Global Database son servicios clave para la replicación de datos multirregión. Las comprobaciones de estado de Route 53 y Global Accelerator gestionan las decisiones de enrutamiento del tráfico. A continuación, exploraremos las comprobaciones de estado, los circuit breakers y la lógica de reintentos.
Aprende Cloud & IT Cert Prep con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 150
- Lecciones
- 600
Preguntas frecuentes
¿La lección «Activo-activo y activo-pasivo entre varias regiones» es gratis?
Sí — el texto completo de «Activo-activo y activo-pasivo entre varias regiones» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cloud & IT Cert Prep, actualiza a CoddyKit PRO. El curso de Cloud & IT Cert Prep incluye 4 lecciones en total.
¿Qué aprenderé en «Activo-activo y activo-pasivo entre varias regiones»?
Enrute el tráfico simultáneamente a varias Regiones con el enrutamiento por latencia de Route 53 o cambie a un sistema en espera activa mediante la conmutación por error basada en comprobaciones de e… Practicas Cloud & IT Cert Prep con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Cloud & IT Cert Prep?
No se requiere experiencia previa. Cloud & IT Cert Prep en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Activo-activo y activo-pasivo entre varias regiones»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Cloud & IT Cert Prep?
Sí. Cada lección de Cloud & IT Cert Prep incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Alta disponibilidad frente a tolerancia a fallos: definiciones y compensaciones
- Patrones Multi-AZ para servicios con estado
- Activo-activo y activo-pasivo entre varias regiones
- Comprobaciones de estado, disyuntores y lógica de reintento