As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Automatização do failover e do failback entre regiões usando o DR Orchestrator Framework
Jitendra Kumar, Pavithra Balasubramanian e Oliver Francis, Amazon Web Services
Resumo
Este padrão descreve como usar o DR Orchestrator Framework para a orquestração e a automatização das etapas manuais e propensas a erros, que são necessárias para realizar a recuperação de desastres entre regiões da Amazon Web Services (AWS). O padrão abrange os seguintes bancos de dados:
Amazon Relational Database Service (Amazon RDS) para MySQL, Amazon RDS para PostgreSQL ou Amazon RDS para MariaDB
Edição compatível com MySQL do Amazon Aurora ou Edição compatível com PostgreSQL do Amazon Aurora (usando um arquivo centralizado)
Amazon ElastiCache (Redis OSS)
A fim de demonstrar o funcionamento do DR Orchestrator Framework, você deve criar duas instâncias ou dois clusters de banco de dados. O primário está no Região da AWS us-east-1, e o secundário está dentrous-west-2. Para criar esses recursos, você usa os AWS CloudFormation modelos na App-Stack pasta do GitHub repositório aws-cross-region-dr-databases
Pré-requisitos e limitações
Pré-requisitos gerais
Estrutura do DR Orchestrator implantada tanto no primário quanto no secundário Regiões da AWS
Dois buckets do Amazon Simple Storage Service
Uma nuvem privada virtual (VPC)
com duas sub-redes e um grupo de segurança AWS
Pré-requisitos específicos por mecanismo
Amazon Aurora — Pelo menos um banco de dados global do Aurora deve estar disponível em dois. Regiões da AWS Você pode usar
us-east-1como região primária eus-west-2como região secundária.Amazon ElastiCache (Redis OSS) — Um armazenamento de dados ElastiCache global deve estar disponível em dois. Regiões da AWS Você pode
use us-east-1como região primária eus-west-2como região secundária.
Limitações do Amazon RDS
O DR Orchestrator Framework não verifica o atraso de replicação antes de executar um failover ou failback. O atraso de replicação deve ser verificado manualmente.
Esta solução foi testada usando uma instância de banco de dados primário com uma réplica de leitura. Se você desejar usar mais de uma réplica de leitura, teste a solução minuciosamente antes de implementá-la em um ambiente de produção.
Limitações do Aurora
A disponibilidade e a compatibilidade de recursos variam entre versões específicas de cada mecanismo de banco de dados e entre Regiões da AWS. Para obter mais informações sobre a disponibilidade de recursos e regiões para a replicação entre regiões, consulte Cross-Region read replicas.
Os bancos de dados globais do Aurora têm requisitos de configuração específicos para as classes de instância de banco de dados Aurora suportadas e o número máximo de. Regiões da AWS Para obter mais informações, consulte Configuration requirements of an Amazon Aurora Global Database.
Esta solução foi testada usando uma instância de banco de dados primário com uma réplica de leitura. Se você desejar usar mais de uma réplica de leitura, teste a solução minuciosamente antes de implementá-la em um ambiente de produção.
ElastiCache Limitações
Para obter informações sobre a disponibilidade regional para o armazenamento de dados global e os requisitos ElastiCache de configuração, consulte Pré-requisitos e limitações na documentação. ElastiCache
Versões de produtos do Amazon RDS
O Amazon RDS é compatível com as seguintes versões de mecanismos:
MySQL: o Amazon RDS oferece suporte a instâncias de banco de dados que executam as seguintes versões do mecanismo MySQL: MySQL 8.0 e MySQL 5.7.
PostgreSQL: para obter informações sobre as versões compatíveis do Amazon RDS para PostgreSQL, consulte Available PostgreSQL database versions.
MariaDB: o Amazon RDS oferece suporte a instâncias de banco de dados que executam as seguintes versões do mecanismo MariaDB:
MariaDB 10.11
MariaDB 10.6
MariaDB 10.5
Versões de produtos do Aurora
A transição do Amazon Aurora Global Database requer o Aurora compatível com MySQL com compatibilidade para o mecanismo MySQL 5.7, versão 2.09.1 ou versões posteriores
Para obter mais informações, consulte Limitations of Amazon Aurora global databases.
ElastiCache Versões do produto (Redis OSS)
A Amazon ElastiCache (Redis OSS) oferece suporte às seguintes versões do Redis:
Redis 7.1 (aprimorado)
Redis 7.0 (aprimorado)
Redis 6.2 (aprimorado)
Redis 6.0 (aprimorado)
Redis 5.0.6 (aprimorado)
Para obter mais informações, consulte Versões suportadas ElastiCache (Redis OSS).
Arquitetura
Arquitetura do Amazon RDS
A arquitetura do Amazon RDS inclui os seguintes recursos:
A instância de banco de dados primária do Amazon RDS criada na região primária (
us-east-1) com read/write acesso para clientesUma réplica de leitura do Amazon RDS, criada na região secundária (
us-west-2), com acesso somente de leitura para clientesO Framework DR Orchestrator implantado tanto na região primária quanto na região secundária

O diagrama mostra o seguinte:
Replicação assíncrona entre a instância primária e a instância secundária
Acesso de leitura e de gravação para clientes na região primária
Acesso somente de leitura para clientes na região secundária
Arquitetura do Aurora
A arquitetura do Amazon Aurora inclui os seguintes recursos:
O cluster de banco de dados principal do Aurora criado na região primária (
us-east-1) com um endpoint de gravação ativoUm cluster de banco de dados do Aurora criado na região secundária (
us-west-2) com um endpoint de gravação inativoO Framework DR Orchestrator implantado tanto na região primária quanto na região secundária

O diagrama mostra o seguinte:
Replicação assíncrona entre o cluster primário e o cluster secundário
O cluster de banco de dados primário com um endpoint de gravação ativo
O cluster de banco de dados secundário com um endpoint de gravação inativo
ElastiCache Arquitetura (Redis OSS)
A arquitetura Amazon ElastiCache (Redis OSS) inclui os seguintes recursos:
Um armazenamento de dados global ElastiCache (Redis OSS) criado com dois clusters:
O cluster primário na região primária (
us-east-1)O cluster secundário na região secundária (
us-west-2)
Um link da Amazon entre regiões com criptografia TLS 1.2 entre os dois clusters
O Framework DR Orchestrator implantado tanto na região primária quanto na região secundária

Automação e escala
O DR Orchestrator Framework é escalável e oferece suporte ao failover ou failback de mais de um banco de dados em paralelo. AWS
Você pode usar o seguinte código de carga útil para fazer o failover de vários AWS bancos de dados em sua conta. Neste exemplo, três AWS bancos de dados (dois bancos de dados globais, como o Aurora compatível com MySQL ou o Aurora PostgreSQL, e uma instância do Amazon RDS for MySQL) fazem o failover para a região de recuperação de desastres:
{ "StatePayload": [ { "layer": 1, "resources": [ { "resourceType": "PlannedFailoverAurora", "resourceName": "Switchover (planned failover) of Amazon Aurora global databases (MySQL)", "parameters": { "GlobalClusterIdentifier": "!Import dr-globaldb-cluster-mysql-global-identifier", "DBClusterIdentifier": "!Import dr-globaldb-cluster-mysql-cluster-identifier" } }, { "resourceType": "PlannedFailoverAurora", "resourceName": "Switchover (planned failover) of Amazon Aurora global databases (PostgreSQL)", "parameters": { "GlobalClusterIdentifier": "!Import dr-globaldb-cluster-postgres-global-identifier", "DBClusterIdentifier": "!Import dr-globaldb-cluster-postgres-cluster-identifier" } }, { "resourceType": "PromoteRDSReadReplica", "resourceName": "Promote RDS for MySQL Read Replica", "parameters": { "RDSInstanceIdentifier": "!Import rds-mysql-instance-identifier", "TargetClusterIdentifier": "!Import rds-mysql-instance-global-arn" } } ] } ] }
Ferramentas
AWS serviços
O Amazon Aurora é um mecanismo de banco de dados relacional totalmente gerenciado criado para a nuvem e compatível com o MySQL e o PostgreSQL.
ElastiCacheA Amazon ajuda você a configurar, gerenciar e escalar ambientes distribuídos de cache na memória no Nuvem AWS. Esse padrão usa Amazon ElastiCache (Redis OSS).
O AWS Lambda
é um serviço de computação que ajuda a executar código sem exigir provisionamento ou gerenciamento de servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado. Nesse padrão, as funções Lambda são usadas AWS Step Functions para executar as etapas. O Amazon Relational Database Service (Amazon RDS) ajuda você a configurar, operar e escalar um banco de dados relacional na Nuvem AWS. Este padrão é compatível com Amazon RDS para MySQL, Amazon RDS para PostgreSQL e Amazon RDS para MariaDB.
AWS SDK para Python (Boto3)
ajuda você a integrar seu aplicativo, biblioteca ou script Python com o. Serviços da AWS Nesse padrão, o Boto3 APIs é usado para se comunicar com as instâncias do banco de dados ou bancos de dados globais. AWS Step Functions
é um serviço de orquestração sem servidor que ajuda você a combinar AWS Lambda funções e outras Serviços da AWS para criar aplicativos essenciais para os negócios. Neste padrão, máquinas de estado do Step Functions são usadas para realizar a orquestração e executar o failover e o failback entre regiões das instâncias de banco de dados ou de bancos de dados globais.
Repositório de código
O código desse padrão está disponível no repositório aws-cross-region-dr-databases
Épicos
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Clone o GitHub repositório. | Para clonar o repositório, execute o seguinte comando:
| AWS DevOps, administrador da AWS |
Empacote o código das funções do Lambda em um arquivo .zip. | Crie os arquivos de compactação das funções do Lambda para incluir as dependências do DR Orchestrator Framework:
| Administrador da AWS |
Crie os buckets do S3. | Os buckets do S3 são necessários para armazenar o DR Orchestrator Framework juntamente com a configuração mais recente. Crie dois buckets do S3, sendo um na região primária (
Substitua | Administrador da AWS |
Crie sub-redes e grupos de segurança. | Tanto na região primária (
| Administrador da AWS |
Atualize os arquivos de parâmetros do DR Orchestrator. | Na pasta
Use os seguintes valores de parâmetro, substituindo
| Administrador da AWS |
Faça o upload do código do DR Orchestrator Framework para o bucket do S3. | O código estará mais seguro em um bucket do S3 do que no diretório local. Faça o upload do diretório Para fazer o upload do código, execute as seguintes etapas:
| Administrador da AWS |
Faça a implantação do DR Orchestrator Framework na região primária. | Para implantar o DR Orchestrator Framework na região primária (
| Administrador da AWS |
Faça a implantação do DR Orchestrator Framework na região secundária. | Na região secundária (
| Administrador da AWS |
Verificar a implantação. | Se o CloudFormation comando for executado com êxito, ele retornará a seguinte saída:
Como alternativa, você pode navegar até o CloudFormation console e verificar o status da | Administrador da AWS |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Crie as sub-redes e os grupos de segurança do banco de dados. | Na sua VPC, crie duas sub-redes e um grupo de segurança para a instância de banco de dados ou para o banco de dados global em ambas as regiões, primária (
| Administrador da AWS |
Atualize o arquivo de parâmetros da instância ou do cluster de banco de dados primário. | Na pasta Amazon RDS No arquivo
Amazon Aurora No arquivo
Amazon ElastiCache (Redis OSS) No arquivo
| Administrador da AWS |
Implante a instância ou o cluster de banco de dados na região primária. | Para implantar a instância ou o cluster na região primária ( Amazon RDS
Amazon Aurora
Amazon ElastiCache (Redis OSS)
Verifique se os CloudFormation recursos foram implantados com êxito. | Administrador da AWS |
Atualize o arquivo de parâmetros da instância ou do cluster de banco de dados secundário. | Na pasta Amazon RDS No arquivo
Amazon Aurora No arquivo
Amazon ElastiCache (Redis OSS) No arquivo
| Administrador da AWS |
Implante a instância ou o cluster de banco de dados na região secundária. | Execute os comandos apresentados a seguir, de acordo com o seu mecanismo de banco de dados. Amazon RDS
Amazon Aurora
Amazon ElastiCache (Redis OSS)
Verifique se os CloudFormation recursos foram implantados com êxito. | Administrador da AWS |
Recursos relacionados
Estratégia de recuperação de desastres para bancos de dados em AWS (estratégia de orientação AWS prescritiva)
Automatize sua solução de DR para bancos de dados relacionais em AWS(guia de orientação AWS prescritiva)
Automatize sua solução de DR para bancos de dados relacionais em AWS(guia de orientação AWS prescritiva)