Implemente a recuperação de desastres entre regiões com o AWS DMS Amazon Aurora - Recomendações da AWS

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á.

Implemente a recuperação de desastres entre regiões com o AWS DMS Amazon Aurora

Criado por Mark Hudson () AWS

Ambiente: produção

Tecnologias: bancos de dados

AWSserviços: AWSDMS; AmazonRDS; Amazon Aurora

Resumo

Desastres naturais ou induzidos pelo homem podem ocorrer a qualquer momento e podem afetar a disponibilidade de serviços e cargas de trabalho em execução em uma determinada região da Amazon Web Services (). AWS Para mitigar os riscos, você deve desenvolver um plano de recuperação de desastres (DR) que incorpore os recursos integrados de serviços entre regiões. AWS Para AWS serviços que não fornecem inerentemente funcionalidade entre regiões, o plano de DR também deve fornecer uma solução para lidar com o failover entre regiões. AWS

Esse padrão orienta você em uma configuração de recuperação de desastres envolvendo dois clusters de banco de dados Amazon Aurora My SQL -Compatible Edition em uma única região. Para atender aos requisitos de DR, os clusters de banco de dados são configurados para usar o recurso de banco de dados global Amazon Aurora, com um único banco de dados abrangendo várias regiões. AWS Uma tarefa do AWS Database Migration Service (AWSDMS) replica dados entre os clusters na região local. AWSDMS, no entanto, atualmente não oferece suporte ao failover de tarefas entre regiões. Esse padrão inclui as etapas necessárias para contornar essa limitação e configurar de forma independente AWS DMS nas duas regiões.

Pré-requisitos e limitações

Pré-requisitos

  • AWSRegiões primárias e secundárias selecionadas que oferecem suporte aos bancos de dados globais do Amazon Aurora.

  • Dois clusters de banco de dados independentes do Amazon Aurora My SQL -Compatible Edition em uma única conta na região principal.

  • Classe de instância de banco de dados db.r5 ou superior (recomendado).

  • Uma AWS DMS tarefa na região primária que executa a replicação contínua entre os clusters de banco de dados existentes.

  • Recursos da região de DR disponíveis para atender aos requisitos de criação de instâncias de banco de dados. Para obter mais informações, consulte Como trabalhar com uma instância de banco de dados em um VPC.

Limitações 

Versões do produto

  • Amazon Aurora My SQL — Edição 5.7 ou 8.0 compatível. Para obter mais informações, consulte  Versões do Amazon Aurora.

Arquitetura

Pilha de tecnologias de destino

  • Cluster de banco de dados global Amazon Aurora My SQL -Compatible Edition

  • AWS DMS

Arquitetura de destino

O diagrama a seguir mostra um banco de dados global para duas AWS regiões, uma com os bancos de dados principal e de repórter e AWS DMS replicação e outra com os bancos de dados secundários principais e de repórter.

Diagrama de arquitetura do banco de dados global entre regiões.

Automação e escala

Você pode usar AWS CloudFormation para criar a infraestrutura de pré-requisito na região secundária, como a nuvem privada virtual (VPC), sub-redes e grupos de parâmetros. Você também pode usar AWS CloudFormation para criar os clusters secundários na região de DR e adicioná-los ao banco de dados global. Se você usou CloudFormation modelos para criar os clusters de banco de dados na região primária, poderá atualizá-los ou aumentá-los com um modelo adicional para criar o recurso de banco de dados global. Para obter mais informações, consulte Criação de um cluster de banco de dados Amazon Aurora com duas instâncias de banco de dados e Criação de um cluster de banco de dados global para o Aurora My. SQL

Por fim, você pode criar as AWS DMS tarefas nas regiões primária e secundária usando CloudFormation após a ocorrência de eventos de failover e failback. Para obter mais informações, consulte AWS:DMS:: ReplicationTask.

Ferramentas

  • Amazon Aurora — O Amazon Aurora é um mecanismo de banco de dados relacional totalmente gerenciado que é compatível com o My e o Postgre. SQL SQL Esse padrão usa Amazon Aurora My SQL -Compatible Edition.

  • Amazon Aurora global databases - Os bancos de dados globais Amazon Aurora são projetados para aplicativos distribuídos globalmente. Um único banco de dados global do Amazon Aurora pode abranger várias AWS regiões. Ele replica seus dados sem afetar o desempenho do banco de dados. Ele também permite leituras locais rápidas com baixa latência em cada região e fornece recuperação de desastres de interrupções em toda a região.

  • AWSDMS- O AWS Database Migration Service (AWSDMS) fornece migração única ou replicação contínua. Uma tarefa de replicação contínua mantém seus bancos de dados de origem e destino sincronizados. Depois de configurada, a tarefa de replicação contínua aplica continuamente as alterações de origem ao destino com latência mínima. Todos os AWS DMS recursos, como validação e transformações de dados, estão disponíveis para qualquer tarefa de replicação.

Épicos

TarefaDescriçãoHabilidades necessárias

Modifique o grupo de parâmetros do cluster de banco de dados.

No grupo de parâmetros do cluster de banco de dados existente, ative o registro binário em nível de linha definindo o parâmetro binlog_format como um valor de linha.

AWSDMSrequer registro binário em nível de linha para bancos de dados MYSQL compatíveis ao realizar a replicação contínua ou a captura de dados de alteração (). CDC Para obter mais informações, consulte Usando um banco de dados AWS SQL gerenciado compatível com My como fonte para AWS DMS.

AWSadministrador

Atualize o período de retenção do log binário do banco de dados.

Usando um My SQL client instalado em seu dispositivo de usuário final ou uma instância do Amazon Elastic Compute Cloud (AmazonEC2), execute o seguinte procedimento armazenado fornecido pelo Amazon Relational Database Service (RDSAmazon) no nó gravador do cluster de banco de dados principal, XX onde é o número de horas para reter os registros.

call mysql.rds_set_configuration('binlog retention hours', XX)

Confirme a configuração executando o seguinte comando.

call mysql.rds_show_configuration;

Meus bancos SQL de dados compatíveis são gerenciados pela AWS limpeza dos registros binários o mais rápido possível. Portanto, o período de retenção deve ser longo o suficiente para garantir que os registros não sejam eliminados antes da execução da AWS DMS tarefa. Um valor de 24 horas geralmente é suficiente, mas o valor deve ser baseado no tempo necessário para configurar a AWS DMS tarefa na região de DR.

DBA
TarefaDescriçãoHabilidades necessárias

Grave a AWS DMS tarefaARN.

Use o Amazon Resource Name (ARN) para obter o nome da AWS DMS tarefa para uso posterior. Para recuperar a AWS DMS tarefaARN, visualize-a no console ou execute o comando a seguir.

aws dms describe-replication-tasks

E ARN se parece com o seguinte.

arn:aws:dms:us-east-1:<accountid>:task:AN6HFFMPM246XOZVEUHCNSOVF7MQCLTOZUIRAMY

Os caracteres após os dois últimos pontos correspondem ao nome da tarefa usado em uma etapa posterior.

AWSadministrador

Modifique a AWS DMS tarefa existente para registrar o ponto de verificação.

AWSDMScria pontos de verificação que contêm informações para que o mecanismo de replicação conheça o ponto de recuperação do fluxo de alterações. Para registrar as informações do ponto de verificação, execute as seguintes etapas no console:

  1. Pare a AWS DMS tarefa.

  2. Use o JSON editor na tarefa para definir o TaskRecoveryTableEnabled parâmetro como verdadeiro.

  3. Inicie a AWS DMS tarefa.

AWSadministrador

Valide as informações do ponto de verificação.

Usando um My SQL client conectado ao endpoint do gravador do cluster, consulte a nova tabela de metadados no cluster do banco de dados do relator para verificar se ela existe e contém as informações do estado de replicação. Execute o seguinte comando .

select * from awsdms_control.awsdms_txn_state;

O nome da tarefa do ARN deve ser encontrado nessa tabela na Task_Name coluna.

DBA
TarefaDescriçãoHabilidades necessárias

Crie uma infraestrutura básica na região de DR.

Crie os componentes básicos necessários para a criação e o acesso aos clusters do Amazon Aurora:

  • Nuvem privada virtual (VPC)

  • Sub-redes

  • Grupo de segurança

  • Listas de controle de acesso à rede

  • Grupo de sub-redes

  • DB parameter group (grupo de parâmetros de banco de dados)

  • Grupo de parâmetros do cluster de banco de dados

Certifique-se de que a configuração de ambos os grupos de parâmetros corresponda à configuração na região primária.

AWSadministrador

Adicione a região de DR aos dois clusters do Amazon Aurora.

Adicione uma região secundária (a região de DR) aos clusters principal e relator do Amazon Aurora. Para obter mais informações, consulte Adicionar uma AWS região a um banco de dados global do Amazon Aurora.

AWSadministrador
TarefaDescriçãoHabilidades necessárias

Pare a AWS DMS tarefa.

A AWS DMS tarefa na região principal não funcionará adequadamente após a ocorrência do failover e deverá ser interrompida para evitar erros.

AWSadministrador

Execute um failover gerenciado.

Execute um failover gerenciado do cluster de banco de dados principal para a região de DR. Para ver as instruções, consulte Failover planejado gerenciado para Amazon Aurora Global Databases. Após a conclusão do failover no cluster de banco de dados principal, execute a mesma atividade no cluster de banco de dados do relator.

AWSadministrador, DBA

Carregue dados no banco de dados principal.

Insira dados de teste no nó gravador do banco de dados principal no cluster de banco de dados DR. Esses dados serão usados para validar se a replicação está funcionando adequadamente.

DBA

Crie a instância de AWS DMS replicação.

Para criar a instância de AWS DMS replicação na região de DR, consulte Criação de uma instância de replicação.

AWSadministrador, DBA

Crie os endpoints AWS DMS de origem e de destino.

Para criar os endpoints de AWS DMS origem e destino na região de DR, consulte Criação de endpoints de origem e destino. A origem deve apontar para a instância do gravador do cluster de banco de dados principal. O destino deve apontar para a instância do gravador do cluster de banco de dados do relator.

AWSadministrador, DBA

Obtenha o ponto de verificação de replicação.

Para obter o ponto de verificação de replicação, use Meu SQL cliente para consultar a tabela de metadados executando o seguinte no nó do gravador no cluster de banco de dados do repórter na região de DR.

select * from awsdms_control.awsdms_txn_state;

Na tabela, encontre o valor task_name que corresponde à AWS DMS tarefa existente na região primária ARN que você obteve no segundo épico.

DBA

Crie uma AWS DMS tarefa.

Usando o console, crie uma AWS DMS tarefa na região DR. Na tarefa, especifique um método de migração de Replicar somente alterações de dados. Para obter mais informações, consulte Criar uma tarefa

  1. Nas configurações da tarefa, use o assistente para especificar o seguinte:

    • CDCmodo de início para transações de origem — Ative o modo de CDC início personalizado

    • Ponto CDC inicial personalizado para transações de origem — Especifique um ponto de verificação de recuperação

  2. Na caixa Ponto de verificação de recuperação, insira o valor do ponto de verificação de replicação obtido anteriormente por meio da consulta ao banco de dados na tabela awsdms_txn_state

  3. Na seção de configurações da tarefa, selecione o JSON editor e defina o TaskRecoveryTableEnabledparâmetro como verdadeiro.  

Defina a configuração de AWS DMS tarefa Iniciar tarefa de migração como Automaticamente ao criar.

AWSadministrador, DBA

Grave a AWS DMS tarefaARN.

Use o ARN para obter o nome da AWS DMS tarefa para uso posterior. Para recuperar a AWS DMS tarefaARN, execute o comando a seguir.

aws dms describe-replication-tasks
AWSadministrador, DBA

Valide os dados replicados.

Consulte o cluster de banco de dados do relator na região de DR para confirmar se os dados de teste que você carregou no cluster de banco de dados principal foram replicados.

DBA
TarefaDescriçãoHabilidades necessárias

Pare a AWS DMS tarefa.

A AWS DMS tarefa na região de DR não funcionará adequadamente após a ocorrência do failback e deverá ser interrompida para evitar erros.

AWSadministrador

Execute um failback gerenciado.

Faça o failback do cluster de banco de dados principal para a região primária. Para ver as instruções, consulte Failover planejado gerenciado para Amazon Aurora Global Databases. Após a conclusão do failback no cluster de banco de dados principal, execute a mesma atividade no cluster de banco de dados do relator.

AWSadministrador, DBA

Obtenha o ponto de verificação de replicação.

Para obter o ponto de verificação de replicação, use Meu SQL cliente para consultar a tabela de metadados executando o seguinte no nó do gravador no cluster de banco de dados do repórter na região de DR.

select * from awsdms_control.awsdms_txn_state;

Na tabela, encontre o task_name valor que corresponde às AWS DMS tarefas existentes na região de ARN DR que você obteve no quarto épico.

DBA

Atualize os endpoints de AWS DMS origem e destino.

Depois que os clusters do banco de dados falharem, verifique os clusters na região primária para determinar quais nós são as instâncias do gravador. Em seguida, verifique se os endpoints de AWS DMS origem e destino existentes na região primária estão apontando para as instâncias do gravador. Caso contrário, atualize os endpoints com os nomes Domain Name System (DNS) da instância do gravador.

AWSadministrador

Crie uma AWS DMS tarefa.

Usando o console, crie uma AWS DMS tarefa na região principal. Na tarefa, especifique um método de migração de Replicar somente alterações de dados. Para obter mais informações, consulte Criar uma tarefa

  1. Nas configurações da tarefa, use o assistente e especifique o seguinte:

    • CDCmodo de início para transações de origem — Ative o modo de CDC início personalizado

    • Ponto CDC inicial personalizado para transações de origem — Especifique um ponto de verificação de recuperação

  2. Na caixa Ponto de verificação de recuperação, insira o valor do ponto de verificação de replicação obtido anteriormente por meio da consulta ao banco de dados na tabela  awsdms_txn_state

  3. Também na seção de configurações da tarefa, selecione o JSON editor e defina o TaskRecoveryTableEnabledparâmetro como verdadeiro.

  4. Por fim, defina a configuração de AWS DMS tarefa Iniciar tarefa de migração como Automaticamente ao criar.

AWSadministrador, DBA

Registre a AWS DMS tarefa Amazon Resource Name (ARN).

Use o ARN para obter o nome da AWS DMS tarefa para uso posterior. Para recuperar a AWS DMS tarefaARN, execute o seguinte comando:

aws dms describe-replication-tasks

O nome da tarefa será necessário ao realizar outro failover gerenciado ou durante um cenário de DR.

AWSadministrador, DBA

Exclua AWS DMS tarefas.

Exclua a AWS DMS tarefa original (atualmente interrompida) na região primária e a AWS DMS tarefa existente (atualmente interrompida) na região secundária.

AWSadministrador

Recursos relacionados

Mais informações

Os bancos de dados globais Amazon Aurora são usados neste exemplo para DR porque fornecem um objetivo de tempo de recuperação efetivo (RTO) de 1 segundo e um objetivo de ponto de recuperação (RPO) de menos de 1 minuto, ambos inferiores às soluções replicadas tradicionais e ideais para cenários de DR.

Os bancos de dados globais Amazon Aurora oferecem muitas outras vantagens, incluindo as seguintes:

  • Leituras globais com latência local: consumidores globais podem acessar informações em uma região local, com latência local.

  • Clusters de banco de dados secundários escaláveis do Amazon Aurora: os clusters secundários podem ser escalados de forma independente, adicionando até 16 réplicas somente para leitura.

  • Replicação rápida de clusters de banco de dados do Amazon Aurora primários para secundários: a replicação tem pouco impacto na performance no cluster primário. Isso ocorre na camada de armazenamento, com latências de replicação entre regiões típicas de menos de 1 segundo.

Esse padrão também é usado AWS DMS para replicação. Os bancos de dados Amazon Aurora oferecem a capacidade de criar réplicas de leitura, o que pode simplificar o processo de replicação e a configuração de DR. No entanto, geralmente AWS DMS é usado para replicar quando são necessárias transformações de dados ou quando o banco de dados de destino exige índices adicionais que o banco de dados de origem não tem.