Recuperação de desastres
Recuperação de desastres traz a carga de volta depois de um evento que derruba uma Região ou destrói dados, dentro do tempo parado e da perda de dados combinados. Faz parte da tarefa 2.2 de Design Resilient Architectures, 26% do conteúdo pontuado.
Os 2 objetivos de recuperação que o negócio define para cada carga. Eles determinam a estratégia de DR e o seu custo.
Pontos-chave
- RTO: o atraso máximo aceitável entre a interrupção e a volta do serviço. Quanto tempo podemos ficar fora.
- RPO: o tempo máximo aceitável desde o último ponto de recuperação dos dados. Quantos dados podemos perder.
- Custo: RPO e RTO menores custam mais em recursos e complexidade. Se a recuperação custa mais que a perda, não vale montá-la, a menos que a regulação exija.
- Replicação não é backup: a replicação contínua também copia corrupção e exclusões maliciosas, então mantenha backups pontuais.
- Multi-AZ primeiro: as AZs ficam distantes o bastante para que a maioria dos desastres atinja só uma, então um design Multi-AZ pode já cobrir boa parte do risco.
Na prova
"Pode perder no máximo 15 minutos de dados" é requisito de RPO. "Precisa voltar em até 1 hora" é requisito de RTO. Veja qual dos dois a questão restringe antes de escolher a estratégia.
O whitepaper Disaster Recovery of Workloads on AWS agrupa o DR em 4 estratégias, da barata e lenta à cara e quase instantânea.
Pontos-chave
- Backup and restore: faça backup dos dados, das AMIs e da infraestrutura como código e reconstrua tudo na Região de recuperação depois do evento.
- Pilot light: os dados são replicados ao vivo e a infraestrutura central existe, mas os servidores de aplicação ficam desligados e são ligados e escalados no failover.
- Warm standby: uma cópia menor, porém completa, já consegue atender tráfego. O failover só precisa escalar.
- Multi-site active/active: todas as Regiões atendem tráfego. Hot standby é a variante ativo-passivo em escala total.
- Failover pelo data plane: faça o failover com operações de data plane, como health checks do Route 53 ou routing controls do ARC, e não com mudanças de control plane.
Na prova
"Os dados precisam estar ao vivo na segunda Região, mas os servidores podem subir no failover" -> pilot light. "Precisa receber tráfego na hora com capacidade reduzida" -> warm standby. A diferença é se a cópia de DR atende requisições sem antes ser ligada.
Estratégias de DR comparadas
| Estratégia | RPO / RTO e custo |
|---|---|
| Backup and restore | Horas. Custo $. Cargas de menor prioridade, todos os recursos criados após o evento. |
| Pilot light | Dezenas de minutos. Custo $$. Dados ao vivo, serviços parados. |
| Warm standby | Minutos. Custo $$$. Sempre rodando, porém menor, crítico para o negócio. |
| Multi-site active/active | Tempo real, perda de dados quase zero. Custo $$$$. Serviços de missão crítica. |
Backup central e baseado em políticas para EC2, EBS, RDS, Aurora, DynamoDB, EFS, FSx, S3 e outros, com cópias para outras Regiões e contas.
Pontos-chave
- Backup plans: agenda, retenção e transição para cold storage, aplicados aos recursos por tags.
- Cópia entre Regiões: regras de cópia mandam cada recovery point para um vault na Região de DR, por agenda ou sob demanda.
- Cópia entre contas: cópias para vaults de outras contas da mesma organização no AWS Organizations protegem contra uma conta comprometida. A restauração ocorre depois da cópia para a conta de destino.
- Vault Lock: proteção WORM. O modo governance pode ser removido com permissões IAM. O modo compliance fica imutável depois de um período de carência de pelo menos 72 horas, até para o usuário root e para a AWS.
- Audit Manager: controles prontos e relatórios diários mostram se os backups seguem a política.
Na prova
"Centralizar backups de muitas contas e copiá-los para outra Região" -> AWS Backup com Organizations. "Ransomware não pode apagar os backups" -> Vault Lock em modo compliance mais cópias para outra conta.
Elastic Disaster Recovery
AWS Elastic Disaster Recovery
Replicação contínua em nível de bloco de servidores on-premises, de outra nuvem ou de outra Região da AWS para uma área de staging de baixo custo na AWS.
Pontos-chave
- Metas: RPO de segundos e RTO de minutos.
- Área de staging: os dados chegam a uma sub-rede de staging com armazenamento barato e computação mínima. Instâncias em capacidade total só sobem para testes ou recuperação.
- Ponto no tempo: recupere o estado mais recente ou um ponto anterior, por exemplo de antes de um ransomware.
- Failback: depois de corrigir o site principal, replique de volta e faça o failback quando quiser.
- Escopo: aplicações e bancos que rodam em servidores, não serviços gerenciados como o RDS. Segue o padrão pilot light.
Na prova
"Replicar servidores on-premises para a AWS com RPO de segundos e RTO de minutos" -> Elastic Disaster Recovery. O AWS Backup é o distrator: faz backups pontuais, não replicação contínua.
Replicação no S3
Amazon S3 Replication
Cópia assíncrona de objetos para buckets em outra Região (CRR) ou na mesma Região (SRR), da mesma conta ou de outra.
Pontos-chave
- Requisitos: versionamento na origem e no destino e uma role IAM que permita ao S3 replicar. Object Lock na origem exige Object Lock no destino.
- Só objetos novos: a replicação ao vivo copia o que for gravado depois da regra. Use S3 Batch Replication para objetos existentes, falhas e réplicas de réplicas.
- Exclusões: delete markers não são replicados por padrão nas regras atuais, e apagar uma versão específica nunca é replicado, o que protege a cópia contra exclusões maliciosas.
- S3 Replication Time Control: replica a maioria dos objetos em segundos com SLA de 15 minutos, mais métricas e eventos para objetos atrasados.
- CRR vs SRR: CRR para distância exigida por compliance, menor latência e DR. SRR para juntar logs, copiar de produção para teste e soberania de dados dentro de uma Região.
Na prova
"Copiar objetos para outra Região em até 15 minutos previsíveis" -> CRR com S3 RTC. "Objetos que já existiam antes da regra não foram copiados" -> Batch Replication.
Replicação gerenciada entre Regiões para dados relacionais e NoSQL mantém o RPO baixo sem você construir pipelines próprios.
Pontos-chave
- Aurora Global Database: 1 Região primária e até 10 Regiões secundárias somente leitura, replicação no nível do storage normalmente abaixo de 1 segundo. Uma secundária assume as escritas em menos de 1 minuto.
- Switchover vs failover: o switchover move a primária sem perda de dados em operações planejadas. O failover recupera de uma queda da Região primária.
- Write forwarding: clusters Aurora secundários podem encaminhar comandos de escrita para o primário.
- DynamoDB global tables: multiativo, toda réplica aceita leitura e escrita. A consistência eventual entre Regiões (padrão) resolve conflitos pela última escrita, e a consistência forte entre Regiões é o outro modo. SLA de 99,999% de disponibilidade.
- Réplicas de leitura do RDS entre Regiões: assíncronas, promovidas manualmente no DR, o que leva alguns minutos e inclui um reboot.
Na prova
"Banco relacional, queda de Região, RPO de segundos e RTO abaixo de 1 minuto" -> Aurora Global Database. "Usuários em várias Regiões precisam escrever localmente" -> DynamoDB global tables.
Opções de dados entre Regiões
| Serviço | Papel no DR |
|---|---|
| Aurora Global Database | Escrita global: uma Região escreve, leitoras em até 10 outras. |
| DynamoDB global tables | Escrita local: ativo-ativo em todas as Regiões. |
| Réplica de leitura do RDS | Banco do pilot light, promoção manual. |
| S3 CRR | Objetos, regras nos dois sentidos para buckets ativo-ativo. |
Snapshots do EBS
Amazon EBS snapshots
Backups de bloco incrementais e pontuais, guardados no S3 e replicados entre as AZs da Região, base do backup e restore de EC2.
Pontos-chave
- Incremental: só os blocos alterados são salvos. A AWS não faz backup dos volumes sozinha, então agende os snapshots.
- Cópia entre Regiões: copie snapshots concluídos e AMIs para a Região de DR. A primeira cópia para uma Região é completa, as seguintes podem ser incrementais.
- Data Lifecycle Manager: automatiza criação, retenção e exclusão de snapshots e AMIs com EBS, inclusive cópias para outras Regiões ou contas, sem custo adicional.
- Fast snapshot restore: volumes criados a partir do snapshot já nascem totalmente inicializados, sem latência na primeira leitura. Cobrado por snapshot, por AZ, por hora.
- Recycle Bin: recupera snapshots, volumes e AMIs com EBS apagados por engano antes do fim do período de retenção.
Na prova
"Automatizar snapshots diários do EBS e copiá-los para outra Região sem custo extra" -> Data Lifecycle Manager. Escolha o AWS Backup quando o escopo cobre muitos serviços e contas.
Levar os usuários para a Região de recuperação exige roteamento de tráfego, capacidade que de fato consiga subir e a mesma configuração nas duas Regiões.
Pontos-chave
- Roteamento failover do Route 53: health checks trocam as respostas DNS para a Região de DR automaticamente, uma operação de data plane.
- Routing controls do ARC: chaves liga/desliga apoiadas em health checks do Route 53 para um failover iniciado manualmente e roteirizado.
- Global Accelerator: IPs anycast estáticos na frente de endpoints em várias Regiões. Health checks redirecionam o tráfego sem o atraso do cache de DNS.
- Service quotas na Região standby: aumente com antecedência para que o pilot light ou o warm standby escale até o tamanho de produção.
- Infraestrutura como código: CloudFormation (StackSets entre contas e Regiões) e golden AMIs copiadas para as duas Regiões reconstroem o ambiente de forma consistente. Teste o plano com frequência.
Na prova
"A Região de DR não conseguiu escalar no teste" -> as service quotas não foram aumentadas lá. "Clientes guardam DNS em cache e o failover demora" -> Global Accelerator em vez de failover por DNS.