Ativo-ativo e ativo-passivo em várias Regiões
Direcione o tráfego simultaneamente para várias Regiões com o roteamento por latência do Route 53 ou faça failover para um ambiente de espera aquecido usando verificações de integridade.
Ativo-ativo e ativo-passivo em várias Regiões é uma aula grátis de AWS Solutions Architect no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AWS Solutions Architect, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AWS Solutions Architect inclui 4 aulas no total.
Por que usar uma arquitetura multi-região?
O Multi-AZ protege contra falhas de uma única AZ, mas uma região inteira da AWS pode ficar indisponível durante desastres de grande escala, interrupções graves ou devido a requisitos regulatórios. As arquiteturas multi-região lidam com isso executando cargas de trabalho em duas ou mais regiões geograficamente separadas. Há dois padrões principais: ativo-passivo (uma região atende ao tráfego enquanto outra aguarda em Standby) e ativo-ativo (ambas as regiões atendem ao tráfego simultaneamente).
Ativo-passivo: o padrão Warm Standby
Em uma configuração multi-região ativo-passivo, a região PRIMARY lida com todo o tráfego de produção. A região Secondary executa uma cópia funcional, porém reduzida, que permanece aquecida e pronta. Os dados são replicados continuamente da PRIMARY para a Secondary. Quando a PRIMARY falha, o senhor promove a Secondary a ativa usando o roteamento de failover do Route 53. Esse padrão oferece um custo menor que o ativo-ativo, mas tem um RTO maior (o tempo necessário para promover e dimensionar a Standby).
# 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"
}
}]
}'Ativo-ativo: tráfego nas duas regiões
Em uma configuração ativo-ativo, ambas as regiões atendem simultaneamente ao tráfego de produção. O Route 53, com roteamento baseado em latência ou roteamento ponderado, direciona os usuários para a região mais próxima ou mais adequada. Quando uma região falha, as verificações de integridade do Route 53 detectam a falha e direcionam todo o tráfego para a região saudável. O ativo-ativo oferece o melhor RTO (próximo de zero), reduz a latência para usuários distribuídos globalmente e aumenta a vazão ao distribuir a carga entre as regiões.
# 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"}
}
}
]
}'Replicação de dados entre regiões
A parte mais difícil de uma arquitetura multi-região é manter os dados consistentes entre as regiões. Principais ferramentas: o S3 Cross-Region Replication (CRR) replica objetos do S3 de forma assíncrona para um Bucket em outra região. As DynamoDB Global Tables oferecem replicação multi-PRIMARY e multi-região com consistência eventual. O Aurora Global Database replica dados de uma região PRIMARY para até cinco regiões Secondary, com atraso inferior a 1 segundo. Cada mecanismo de replicação tem diferentes garantias de consistência e características de atraso.
# 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 ativo-ativo
As DynamoDB Global Tables habilitam uma replicação verdadeiramente ativo-ativo, multi-região e multi-PRIMARY. Sua aplicação pode gravar no DynamoDB em qualquer região, e as alterações são normalmente replicadas para todas as outras regiões em até 1 segundo. A resolução de conflitos usa o último gravador vence, com base nos carimbos de data e hora. Isso torna as Global Tables ideais para aplicações distribuídas globalmente, como classificações de jogos, perfis de usuários e armazenamentos de sessões, nas quais leituras e gravações locais de baixa latência são essenciais.
# 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
O Aurora Global Database abrange várias regiões da AWS, com uma única região PRIMARY responsável pelas gravações e até cinco regiões Secondary responsáveis pelas leituras, com atraso de replicação inferior a 1 segundo. Para DR, é possível promover uma região Secondary a PRIMARY em menos de 1 minuto, o que a torna adequada para um padrão ativo-passivo com RTO agressivo. As regiões Secondary também podem atender ao tráfego de leitura com baixa latência, formando um padrão híbrido: ativo-ativo para leituras e ativo-passivo para gravações.
# 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-1Verificações de integridade do Route 53 para failover
O failover multi-região depende das verificações de integridade do Route 53 para detectar falhas regionais. As verificações de integridade podem monitorar um endpoint (HTTP/HTTPS/TCP), um alarme do CloudWatch ou ser calculadas a partir de outras verificações de integridade. O Route 53 consulta continuamente seus endpoints a partir de vários locais no mundo. Quando uma verificação falha, o Route 53 deixa automaticamente de retornar os registros dessa região e redireciona o tráfego para regiões saudáveis dentro do período de TTL do 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 ativo-ativo
O AWS Global Accelerator fornece dois endereços IP Anycast estáticos que encaminham o tráfego pela rede global da AWS até o endpoint ideal. Diferentemente do failover de DNS do Route 53 (que depende do TTL), o Global Accelerator detecta falhas de endpoint em 1–3 segundos e redireciona o tráfego instantaneamente — muito mais rápido que a propagação do DNS. Use o Global Accelerator quando precisar de failover inferior a um segundo, IPs consistentes para listas de permissões ou quando o roteamento baseado em TTL do DNS for lento demais para seu 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=100Resolução de conflitos em ativo-ativo
As arquiteturas multi-região ativo-ativo enfrentam um desafio fundamental: conflitos de gravação. Se duas regiões atualizarem simultaneamente o mesmo registro, qual atualização deverá prevalecer? As DynamoDB Global Tables usam o último gravador vence. As estratégias de resolução de conflitos no nível da aplicação incluem: origem de eventos (registros somente para anexação com mesclagem por CRDT), versionamento (rejeitar gravações com números de versão desatualizados) ou gravações particionadas (cada região é responsável por uma partição de dados e grava somente nela). Projete seu modelo de dados para minimizar conflitos de gravação entre regiões.
# 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"}}'Custos e complexidade operacional
As arquiteturas multi-região aumentam significativamente o custo e a complexidade. O senhor paga pelos recursos em várias regiões, pelos custos de replicação de dados (transferência de dados entre regiões), pelos custos das verificações de integridade e, muitas vezes, precisa de ferramentas operacionais duplicadas em cada região. O ativo-passivo é mais econômico porque a Standby é executada com capacidade reduzida. O ativo-ativo é o mais caro, mas oferece a melhor experiência para o usuário e o melhor RTO. Sempre avalie o custo em relação ao valor comercial da resiliência 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 regionsEscolha do padrão multi-região adequado
Escolha o padrão multi-região com base nos requisitos comerciais: se o RTO for > 1 hora e o custo for a prioridade, use Backup and Restore em outra região. Se o RTO for de minutos, use ativo-passivo com Warm Standby. Se o RTO for < 1 minuto e os usuários estiverem distribuídos globalmente, use ativo-ativo. Considere os requisitos regulatórios — alguns setores exigem que os dados permaneçam em regiões específicas, o que pode limitar suas opções de replicação. Documente sua decisão de arquitetura explicitando as compensações.
# 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 AcceleratorVerificação rápida
Teste sua compreensão dos conceitos do AWS Solutions Architect (SAA-C03) apresentados nesta lição.
Recapitulação da lição
Nesta lição, o senhor aprendeu que: o ativo-passivo executa uma região Standby que é ativada em caso de falha, o ativo-ativo atende ao tráfego de várias regiões simultaneamente, e as DynamoDB Global Tables e o Aurora Global Database são serviços fundamentais para a replicação de dados multi-região. As verificações de integridade do Route 53 e o Global Accelerator cuidam das decisões de roteamento do tráfego. A seguir, exploraremos verificações de integridade, disjuntores de circuito e lógica de novas tentativas.
Perguntas Frequentes
A aula “Ativo-ativo e ativo-passivo em várias Regiões” é grátis?
Sim — o texto completo de “Ativo-ativo e ativo-passivo em várias Regiões” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AWS Solutions Architect, atualize para CoddyKit PRO. O curso de AWS Solutions Architect inclui 4 aulas no total.
O que vou aprender em “Ativo-ativo e ativo-passivo em várias Regiões”?
Direcione o tráfego simultaneamente para várias Regiões com o roteamento por latência do Route 53 ou faça failover para um ambiente de espera aquecido usando verificações de integridade. Você pratica AWS Solutions Architect com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar AWS Solutions Architect?
Nenhuma experiência prévia é necessária. AWS Solutions Architect no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Ativo-ativo e ativo-passivo em várias Regiões”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de AWS Solutions Architect?
Sim. Cada aula de AWS Solutions Architect inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- HA versus tolerância a falhas: definições e diferenças
- Padrões Multi-AZ para serviços com estado
- Ativo-ativo e ativo-passivo em várias Regiões
- Verificações de integridade, disjuntores e lógica de repetição