Replicar clusters de banco de dados do Amazon Aurora MySQL entre Regiões da AWS - Amazon Aurora

Replicar clusters de banco de dados do Amazon Aurora MySQL entre Regiões da AWS

Você pode criar um cluster de banco de dados do Amazon Aurora MySQL como uma réplica de leitura em uma Região da AWS diferente do cluster de banco de dados de origem. O uso dessa abordagem pode melhorar sua capacidade de recuperação de desastres, permite que você aumente as operações de leitura em uma Região da AWS mais próxima a seus usuários e facilita a migração de uma Região da AWS para outra.

Você pode criar réplicas de leitura de clusters de banco de dados criptografados e descriptografados. A réplica de leitura deverá ser criptografada se o cluster de banco de dados de origem estiver criptografado.

Para cada cluster de banco de dados de origem, você só pode ter até cinco clusters de banco de dados entre regiões que são réplicas de leitura.

nota

Como alternativa a réplicas de leitura entre regiões, é possível escalar as operações de leitura com o tempo de atraso mínimo utilizando um banco de dados global Aurora. Um banco de dados global do Aurora tem um cluster de banco de dados primário do Aurora em uma Região da AWS e até cinco clusters de banco de dados somente leitura secundários em diferentes regiões. Cada cluster de banco de dados secundário pode incluir até 16 réplicas (em vez de 15) de Aurora. A replicação do cluster de banco de dados primário para todos os secundários é tratada pela camada de armazenamento de Aurora e não pelo mecanismo de banco de dados. Portanto, o tempo de atraso para replicar as alterações é mínimo, geralmente menos de 1 segundo. Manter o mecanismo de banco de dados fora do processo de replicação significa que o mecanismo de banco de dados é dedicado ao processamento de workloads. Isso também significa que você não precisa configurar ou gerenciar a replicação de log binário do Aurora MySQL. Para saber mais, consulte Usar bancos de dados globais do Amazon Aurora.

Ao criar uma réplica de leitura de cluster de banco de dados do Aurora MySQL em outra Região da AWS, esteja ciente de que:

  • Tanto o cluster de banco de dados de origem quanto o cluster de banco de dados da réplica de leitura entre regiões podem ter até 15 réplicas do Aurora em conjunto com a instância primária para o cluster de banco de dados. Usando essa funcionalidade, é possível melhorar as operações de leitura para sua Região da AWS de origem e de sua Região da AWS de replicação de destino.

  • Em um cenário entre regiões, há mais tempo de atraso entre o cluster de banco de dados de origem e a réplica de leitura devido aos canais de rede mais longos entre as Regiões da AWS.

  • Os dados transferidos para a replicação entre regiões incorrem em cobranças de transferência de dados do Amazon RDS. As seguintes ações de replicação entre regiões geram cobranças referentes aos dados transferidos da Região da AWS de origem:

    • Quando você cria a réplica de leitura, o Amazon RDS gera um snapshot do cluster de origem e transfere esse snapshot para a Região da AWS que contém a réplica de leitura.

    • Para cada modificação de dados feita nos bancos de dados de origem, o Amazon RDS transfere os dados da região de origem para a Região da AWS que contém a réplica de leitura.

    Para obter mais informações sobre a definição de preço da transferência de dados do Amazon RDS, consulte Definição de preço do Amazon Aurora.

  • Você pode executar várias ações simultâneas de criação ou exclusão para réplicas de leitura que referenciam o mesmo cluster de bando de dados de origem. No entanto, você deve permanecer dentro do limite de cinco réplicas de leitura para cada cluster de banco de dados de origem.

  • Para que a replicação funcione efetivamente, cada réplica de leitura deve ter a mesma quantidade de recursos de computação e de armazenamento que o cluster de banco de dados de origem. Se você dimensionar o cluster de banco de dados de origem, também deverá dimensionar as réplicas de leitura.

Antes de começar

Para que você possa criar um cluster de banco de dados do Aurora MySQL que seja uma réplica de leitura entre regiões, precisa habilitar o registro em log binário no seu cluster de banco de dados do Aurora MySQL de origem. A replicação entre regiões do Aurora MySQL usa a replicação binária do MySQL para reproduzir as mudanças no cluster de banco de dados da réplica de leitura entre regiões.

Para habilitar o registro em log binário em um cluster de banco de dados do Aurora MySQL, atualize o parâmetro binlog_format para o seu cluster de banco de dados de origem. O parâmetro binlog_format é um parâmetro em nível de cluster que se encontra no parameter group de cluster padrão. Se seu cluster de banco de dados usar o grupo de parâmetros do cluster de banco de dados padrão, crie um novo grupo de parâmetro do cluster de banco de dados para modificar as configurações do binlog_format. Recomendamos que você defina binlog_format como MIXED. No entanto, você também pode definir binlog_format como ROW ou STATEMENT se precisar de um formato específico de log binário. Reinicie seu cluster de banco de dados Aurora para que a alteração entre em vigor.

Para obter mais informações sobre o registro em log binário com o Aurora MySQL, consulte Replicação entre Aurora e o MySQL ou entre Aurora e outro cluster de banco de dados do Aurora (replicação de log binário). Para obter mais informações sobre como modificar parâmetros de configuração do Aurora MySQL, consulte Parâmetros do cluster de banco de dados e da instância de bancos de dados Amazon Aurora e Trabalhar com grupos de parâmetros.

Criar um cluster de banco de dados do Amazon Aurora MySQL que seja uma réplica de leitura entre regiões

Você pode criar um cluster de banco de dados do Aurora que seja uma réplica de leitura entre regiões usando o AWS Management Console , a AWS Command Line Interface (AWS CLI) ou a API do Amazon RDS. Você pode criar réplicas de leitura entre regiões de clusters de banco de dados criptografados e descriptografados.

Quando você cria uma réplica de leitura entre Regiões para o Aurora MySQL usando o AWS Management Console, o Amazon RDS cria um cluster de banco de dados na Região da AWS de destino e depois cria automaticamente uma instância de banco de dados que passa a ser a instância principal desse cluster de banco de dados.

Quando você cria uma réplica de leitura entre Regiões usando a AWS CLI ou a API do RDS, crie primeiro o cluster de banco de dados na Região da AWS de destino e aguarde até que fique ativo. Assim que estiver ativo, crie uma instância de banco de dados que seja a instância primária desse cluster de banco de dados.

A replicação começará quando a instância primária do cluster de banco de dados da réplica de leitura estiver disponível.

Use os seguintes procedimentos para criar uma réplica de leitura entre regiões a partir de um cluster de banco de dados do Aurora MySQL. Esses procedimentos funcionam para criar réplicas de leitura a partir de clusters de banco de dados criptografados ou descriptografados.

Para criar um cluster de banco de dados do Aurora MySQL que seja uma réplica de leitura entre regiões com o AWS Management Console
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No canto superior direito do AWS Management Console, escolha a Região da AWS que hospeda seu cluster de banco de dados de origem.

  3. No painel de navegação, escolha Databases (Bancos de dados).

  4. Escolha o cluster de banco de dados de origem para o qual você deseja criar uma réplica de leitura entre Regiões.

  5. Para Actions (Ações), escolha Create cross region read replica (Criar réplica de leitura entre Regiões).

  6. Na página Create cross region read replica (Criar réplica de leitura entre regiões), escolha as configurações das opções de seu cluster de banco de dados da réplica de leitura entre regiões, conforme descrito na tabela a seguir.

    Opção Descrição

    Região de destino

    Escolha a Região da AWS para hospedar o novo cluster de banco de dados da réplica de leitura entre Regiões.

    Destination DB subnet group

    Escolha o group de sub-redes de banco de dados para usar para o cluster de banco de dados da réplica de leitura entre regiões.

    Publicly accessible

    Escolha Yes (Sim) para dar um endereço IP público ao cluster de banco de dados da réplica de leitura entre regiões; do contrário, selecione No (Não).

    Criptografia

    Selecione Enable Encryption (Habilitar criptografia) para habilitar a criptografia em repouso nesse cluster de banco de dados. Para obter mais informações, consulte Criptografar recursos do Amazon Aurora.

    AWS KMS key

    Disponível apenas quando Encryption estiver definido como Enable Encryption. Escolha a AWS KMS key a ser usada para criptografar esse cluster de banco de dados. Para obter mais informações, consulte Criptografar recursos do Amazon Aurora.

    Classe de instância de banco de dados

    Escolha uma classe de instância de banco de dados que defina os requisitos de processamento e memória para a instância principal no cluster de banco de dados. Para ter mais informações sobre as opções de classe de instância de banco de dados, consulte Classes de instância de banco de dados Aurora.

    implantação multi-AZ

    Escolha Yes (Sim) para criar uma réplica de leitura do novo cluster de banco de dados em outra zona de disponibilidade na Região da AWS de destino para suporte de failover. Para obter mais informações sobre várias Zonas de disponibilidade, consulte Regiões e zonas de disponibilidade.

    Read replica source

    Escolha o cluster de banco de dados de origem para criar uma réplica de leitura entre regiões.

    DB instance identifier

    Digite um nome para a instância primária no seu cluster de banco de dados da réplica de leitura entre regiões. Esse identificador é usado no endereço do endpoint da instância principal do novo cluster de banco de dados.

    O DB instance identifier tem as seguintes restrições:

    • Deve conter de 1 a 63 caracteres alfanuméricos ou hífens.

    • O primeiro caractere deve ser uma letra.

    • Não pode terminar com um hífen ou conter dois hifens consecutivos.

    • Deve ser exclusivo para todas as instâncias de banco de dados para cada Conta da AWS por cada Região da AWS.

    Como o cluster de banco de dados da réplica de leitura entre regiões é criado a partir de um snapshot do cluster do banco de dados de origem, o nome de usuário mestre e a senha mestre da réplica de leitura são os mesmos nome e senha mestre do cluster do banco de dados de origem.

    Identificador do cluster de banco de dados

    Insira um nome para o seu cluster de banco de dados da réplica de leitura entre regiões. Esse nome é exclusivo para sua conta de destino para a sua réplica. Esse identificador é usado no endereço do endpoint do cluster para o seu cluster de banco de dados. Para obter informações sobre o endpoint do cluster, consulte Gerenciamento de conexões do Amazon Aurora.

    O identificador do cluster de banco de dados tem as seguintes restrições:

    • Deve conter de 1 a 63 caracteres alfanuméricos ou hífens.

    • O primeiro caractere deve ser uma letra.

    • Não pode terminar com um hífen ou conter dois hifens consecutivos.

    • Deve ser exclusivo para todos os clusters de banco de dados para cada Conta da AWS por cada Região da AWS.

    Priority

    Escolha uma prioridade de failover para a instância primária do novo cluster de banco de dados. Essa prioridade determina a ordem em que as réplicas do Aurora são promovidas durante a recuperação de uma falha de instância primária. Se você não selecionar um valor, o padrão será tier-1. Para obter mais informações, consulte Tolerância a falhas para um cluster de banco de dados do Aurora.

    Porta de banco de dados

    Especifique a porta que as aplicações e os utilitários usam para acessar o banco de dados. Os clusters de banco de dados do Aurora são definidos para a porta padrão do MySQL, 3306. Em algumas empresas, os firewalls bloqueiam conexões a esta porta. Se o firewall da sua empresa bloquear a porta padrão, escolha outra porta para o novo cluster de banco de dados.

    Monitoramento avançado

    Escolha Enable enhanced monitoring (Habilitar monitoramento avançado) para habilitar a coleta de métricas em tempo real do sistema operacional em que o cluster de banco de dados é executado. Para obter mais informações, consulte Monitorar métricas do SO com o monitoramento avançado.

    Monitoring Role (Monitoramento de perfis)

    Disponível apenas quando Enhanced Monitoring estiver definido como Enable enhanced monitoring. Escolha o perfil do IAM que você criou para permitir que o Amazon RDS se comunique com o Amazon CloudWatch Logs para você. Ou escolha Default (Padrão) para que o RDS crie um perfil para você chamado rds-monitoring-role. Para obter mais informações, consulte Monitorar métricas do SO com o monitoramento avançado.

    Granularity

    Disponível apenas quando Enhanced Monitoring estiver definido como Enable enhanced monitoring. Defina o intervalo, em segundos, em que as métricas são coletadas para o seu cluster de banco de dados.

    Atualização da versão secundária automática

    Essa configuração não é aplicável aos clusters de banco de dados do Aurora MySQL.

    Para obter mais informações sobre atualizações de mecanismos para o Aurora MySQL, consulte Atualizações do mecanismo de banco de dados Amazon Aurora MySQL.

  7. Escolha Create (Criar) para criar sua réplica de leitura entre regiões para o Aurora.

Para criar um cluster de banco de dados do Aurora MySQL que seja uma réplica de leitura entre regiões com a CLI
  1. Chame o comando create-db-cluster da AWS CLI na Região da AWS em que você deseja criar um cluster de banco de dados de réplica de leitura. Inclua a opção --replication-source-identifier e especifique o nome de recurso da Amazon (ARN) do cluster de banco de dados de origem para o qual criar uma réplica de leitura.

    Para replicação entre regiões em que o cluster de banco de dados identificado por --replication-source-identifier é criptografado, especifique as opções --kms-key-id e --storage-encrypted.

    nota

    Você pode configurar a replicação entre regiões de um cluster de banco de dados descriptografado para uma réplica de leitura criptografada, especificando --storage-encrypted e fornecendo um valor para --kms-key-id.

    Não é possível especificar os parâmetros --master-username e --master-user-password. Esses valores são obtidos do cluster de banco de dados de origem.

    O exemplo de código a seguir cria uma réplica de leitura na região us-east-1 de um snapshot de cluster de banco de dados descriptografado na região us-west-2. O comando é chamado na região us-east-1. Este exemplo especifica a opção --manage-master-user-password para gerar a senha mestra do usuário e gerenciá-la no Secrets Manager. Para obter mais informações, consulte Gerenciamento de senhas com Amazon Aurora e AWS Secrets Manager. Como alternativa, você pode usar a opção --master-password para especificar e gerenciar a senha por conta própria.

    Para Linux, macOS ou Unix:

    aws rds create-db-cluster \ --db-cluster-identifier sample-replica-cluster \ --engine aurora \ --replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster

    Para Windows:

    aws rds create-db-cluster ^ --db-cluster-identifier sample-replica-cluster ^ --engine aurora ^ --replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster

    O exemplo de código a seguir cria uma réplica de leitura na região us-east-1 de um snapshot de cluster de banco de dados criptografado na região us-west-2. O comando é chamado na região us-east-1.

    Para Linux, macOS ou Unix:

    aws rds create-db-cluster \ --db-cluster-identifier sample-replica-cluster \ --engine aurora \ --replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster \ --kms-key-id my-us-east-1-key \ --storage-encrypted

    Para Windows:

    aws rds create-db-cluster ^ --db-cluster-identifier sample-replica-cluster ^ --engine aurora ^ --replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster ^ --kms-key-id my-us-east-1-key ^ --storage-encrypted

    A opção --source-region é necessária para a replicação entre as regiões GovCloud (Leste dos EUA) da AWS e GovCloud (Oeste dos EUA) da AWS, em que o cluster de banco de dados identificado por --replication-source-identifier é criptografado. Em --source-region, especifique a Região da AWS do cluster de banco de dados de origem.

    Se a --source-region não estiver especificada, especifique um valor de --pre-signed-url. URL pré-assinado é aquele que contém uma solicitação assinada do Signature Versão 4 para o comando create-db-cluster chamado na Região da AWS de origem. Para saber mais sobre a opção pre-signed-url, consulte create-db-cluster na Referência de comandos da AWS CLI.

  2. Verifique se o cluster de banco de dados está disponível para ser usado com o comando describe-db-clusters da AWS CLI, conforme mostrado no exemplo a seguir.

    aws rds describe-db-clusters --db-cluster-identifier sample-replica-cluster

    Quando os resultados do describe-db-clusters mostram um status de available, crie a instância primária para o cluster de banco de dados para que a replicação possa começar. Para fazer isso, use o comando create-db-instance da AWS CLI, conforme mostrado no exemplo a seguir.

    Para Linux, macOS ou Unix:

    aws rds create-db-instance \ --db-cluster-identifier sample-replica-cluster \ --db-instance-class db.r3.large \ --db-instance-identifier sample-replica-instance \ --engine aurora

    Para Windows:

    aws rds create-db-instance ^ --db-cluster-identifier sample-replica-cluster ^ --db-instance-class db.r3.large ^ --db-instance-identifier sample-replica-instance ^ --engine aurora

    Quando a instância de banco de dados for criada e estiver disponível, a replicação começará. É possível determinar se a instância de banco de dados está disponível chamando o comando describe-db-instances da AWS CLI.

Para criar um cluster de banco de dados do Aurora MySQL que seja uma réplica de leitura entre regiões com a API
  1. Chame a operação CreateDBCluster da API do RDS na Região da AWS em que você deseja criar o cluster de banco de dados da réplica de leitura. Inclua o parâmetro ReplicationSourceIdentifier e especifique o nome de recurso da Amazon (ARN) do cluster de banco de dados de origem para o qual criar uma réplica de leitura.

    Para replicação entre regiões em que o cluster de banco de dados identificado por ReplicationSourceIdentifier é criptografado, especifique o parâmetro KmsKeyId e defina o parâmetro StorageEncrypted como true.

    nota

    Você pode configurar a replicação entre regiões de um cluster de banco de dados descriptografado para uma réplica de leitura criptografada, especificando StorageEncrypted como true e fornecendo um valor para KmsKeyId. Nesse caso, você não precisa especificar PreSignedUrl.

    Você não precisa incluir os parâmetros MasterUsername e MasterUserPassword, pois os valores são obtidos do cluster de banco de dados de origem.

    O exemplo de código a seguir cria uma réplica de leitura na região us-east-1 de um snapshot de cluster de banco de dados descriptografado na região us-west-2. A ação é chamada na região us-east-1.

    https://rds.us-east-1.amazonaws.com/ ?Action=CreateDBCluster &ReplicationSourceIdentifier=arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster &DBClusterIdentifier=sample-replica-cluster &Engine=aurora &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request &X-Amz-Date=20160201T001547Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=a04c831a0b54b5e4cd236a90dcb9f5fab7185eb3b72b5ebe9a70a4e95790c8b7

    O exemplo de código a seguir cria uma réplica de leitura na região us-east-1 de um snapshot de cluster de banco de dados criptografado na região us-west-2. A ação é chamada na região us-east-1.

    https://rds.us-east-1.amazonaws.com/ ?Action=CreateDBCluster &KmsKeyId=my-us-east-1-key &StorageEncrypted=true &PreSignedUrl=https%253A%252F%252Frds.us-west-2.amazonaws.com%252F %253FAction%253DCreateDBCluster %2526DestinationRegion%253Dus-east-1 %2526KmsKeyId%253Dmy-us-east-1-key %2526ReplicationSourceIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-west-2%25253A123456789012%25253Acluster%25253Asample-master-cluster %2526SignatureMethod%253DHmacSHA256 %2526SignatureVersion%253D4 %2526Version%253D2014-10-31 %2526X-Amz-Algorithm%253DAWS4-HMAC-SHA256 %2526X-Amz-Credential%253DAKIADQKE4SARGYLE%252F20161117%252Fus-west-2%252Frds%252Faws4_request %2526X-Amz-Date%253D20161117T215409Z %2526X-Amz-Expires%253D3600 %2526X-Amz-SignedHeaders%253Dcontent-type%253Bhost%253Buser-agent%253Bx-amz-content-sha256%253Bx-amz-date %2526X-Amz-Signature%253D255a0f17b4e717d3b67fad163c3ec26573b882c03a65523522cf890a67fca613 &ReplicationSourceIdentifier=arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster &DBClusterIdentifier=sample-replica-cluster &Engine=aurora &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request &X-Amz-Date=20160201T001547Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=a04c831a0b54b5e4cd236a90dcb9f5fab7185eb3b72b5ebe9a70a4e95790c8b7

    Para a replicação entre as regiões GovCloud (Leste dos EUA) da AWS e GovCloud (Oeste dos EUA) da AWS, em que o cluster de banco de dados identificado por ReplicationSourceIdentifier é criptografado, especifique também o parâmetro PreSignedUrl. O URL pré-assinado deve ser uma solicitação válida para a operação CreateDBCluster da API que pode ser executada na Região da AWS de origem que contém o cluster de banco de dados criptografado a ser replicado. O identificador da chave do KMS é usado para criptografar a réplica de leitura e deve ser uma chave do KMS válida para a Região da AWS de destino. Para gerar um URL pré-assinado automaticamente, em vez de manualmente, use o comando copy-db-cluster da AWS CLI com a opção --source-region.

  2. Verifique se o cluster de banco de dados está disponível para ser usado com a operação DescribeDBClusters da API do RDS, conforme mostrado no exemplo a seguir.

    https://rds.us-east-1.amazonaws.com/ ?Action=DescribeDBClusters &DBClusterIdentifier=sample-replica-cluster &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request &X-Amz-Date=20160201T002223Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=84c2e4f8fba7c577ac5d820711e34c6e45ffcd35be8a6b7c50f329a74f35f426

    Quando os resultados de DescribeDBClusters mostrarem um status de available, crie a instância primária para o cluster de banco de dados para que a replicação possa ser iniciada. Para fazer isso, use a ação CreateDBInstance da API do RDS, conforme mostrado no exemplo a seguir.

    https://rds.us-east-1.amazonaws.com/ ?Action=CreateDBInstance &DBClusterIdentifier=sample-replica-cluster &DBInstanceClass=db.r3.large &DBInstanceIdentifier=sample-replica-instance &Engine=aurora &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request &X-Amz-Date=20160201T003808Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=125fe575959f5bbcebd53f2365f907179757a08b5d7a16a378dfa59387f58cdb

    Quando a instância de banco de dados for criada e estiver disponível, a replicação começará. É possível determinar se a instância de banco de dados está disponível chamando o comando DescribeDBInstance da AWS CLI.

Visualizar réplicas entre regiões do Amazon Aurora MySQL

É possível visualizar as relações de replicação entre regiões de seus clusters de banco de dados do Amazon Aurora MySQL chamando o comando describe-db-clusters da AWS CLI ou a operação DescribeDBClusters da API do RDS. Na resposta, consulte o campo ReadReplicaIdentifiers para obter os identificadores de cluster de banco de dados de qualquer cluster de banco de dados de réplica de leitura entre regiões. Consulte o elemento ReplicationSourceIdentifier para obter o ARN do cluster de banco de dados de origem que é a origem da replicação.

Promoção de uma réplica de leitura para um cluster de banco de dados

Você pode promover uma réplica de leitura do Aurora MySQL para um cluster de banco de dados autônomo. Quando você promove uma réplica de leitura do Aurora MySQL, suas instâncias de banco de dados são reiniciadas antes de se tornarem disponíveis.

Normalmente, você promove uma réplica de leitura do Aurora MySQL para um cluster de banco de dados autônomo como um esquema de recuperação de dados se houver uma falha no cluster de banco de dados de origem.

Para isso, primeiro crie uma réplica de leitura e monitore o cluster de banco de dados de origem para identificar se há falhas. Em caso de falha, faça o seguinte:

  1. Promova a réplica de leitura.

  2. Direcione o tráfego do banco de dados para o cluster de banco de dados promovido.

  3. Crie uma réplica de leitura de substituição com o cluster de banco de dados promovido como origem.

Quando você promove uma réplica de leitura, a réplica de leitura se torna um cluster de banco de dados do Aurora autônomo. O processo de promoção pode levar vários minutos ou mais para ser concluído, dependendo do tamanho da réplica de leitura. Depois da promoção da réplica de leitura para um novo cluster de banco de dados, ela será semelhante a qualquer outro cluster de banco de dados. Por exemplo, você pode criar réplicas de leitura dele e executar operações de recuperação pontuais. Você também pode criar réplicas do Aurora para o cluster de banco de dados.

Como o cluster de banco de dados promovido não é mais uma réplica de leitura, não é possível usá-lo como um destino de replicação.

As etapas a seguir mostram o processo geral para promover uma réplica de leitura para um cluster de banco de dados:

  1. Interrompa a gravação de todas as transações no cluster de banco de dados de origem da réplica de leitura e aguarde todas as atualizações a serem feitas na réplica de leitura. As atualizações do banco de dados ocorrem na réplica de leitura após terem ocorrido no cluster de banco de dados de origem e esse atraso de replicação pode variar significativamente. Use a métrica ReplicaLag para determinar quando todas as atualizações foram feitas na réplica de leitura. A métrica ReplicaLag registra a quantidade de tempo que uma instância de banco de dados de réplica de leitura atrasa em relação à instância de banco de dados de origem. Quando a métrica ReplicaLag chega a 0, isso mostra que a réplica de leitura alcançou a instância do banco de dados de origem.

  2. Promova a réplica de leitura usando a opção Promote (Promover) no console do Amazon RDS, o comando promote-read-replica-db-cluster da AWS CLI ou a operação PromoteReadReplicaDBCluster da API do Amazon RDS.

    Você escolhe uma instância de banco de dados do Aurora MySQL para promover a réplica de leitura. Depois que a réplica de leitura é promovida, o cluster de banco de dados do Aurora MySQL é promovido para um cluster de banco de dados autônomo. A instância de banco de dados com a prioridade de failover mais alta é promovida para a instância de banco de dados principal para o cluster de banco de dados. As outras instâncias de banco de dados se tornam réplicas do Aurora.

    nota

    O processo de promoção leva alguns minutos para ser concluído. Ao promover uma réplica de leitura, a replicação é interrompida, e as instâncias de banco de dados são reiniciadas. Quando a reinicialização é concluída, a réplica de leitura está disponível como um novo cluster de banco de dados.

Para promover uma réplica de leitura do Aurora MySQL para um cluster de banco de dados
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No console, escolha Instances (Instâncias).

    O painel Instance (Instância) é exibido.

  3. No painel Instances (Instâncias), escolha a réplica de leitura que você deseja promover.

    As réplicas de leitura aparecem como instâncias de banco de dados do Aurora MySQL.

  4. Em Actions (Ações), escolha Promote read replica (Promover réplica de leitura).

  5. Na página de confirmação, escolha Promote read replica (Promover réplica de leitura).

Para promover uma réplica de leitura para um cluster de banco de dados, use o comando promote-read-replica-db-cluster da AWS CLI.

exemplo

Para Linux, macOS ou Unix:

aws rds promote-read-replica-db-cluster \ --db-cluster-identifier mydbcluster

Para Windows:

aws rds promote-read-replica-db-cluster ^ --db-cluster-identifier mydbcluster

Para promover uma réplica de leitura para um cluster de banco de dados, chame PromoteReadReplicaDBCluster.

Solucionar problemas de réplicas entre regiões do Amazon Aurora MySQL

A seguir, você pode encontrar uma lista de mensagens de erro comuns que podem ocorrer ao criar uma réplica de leitura entre regiões do Amazon Aurora, e como resolver os erros especificados.

O cluster de origem [ARN de cluster do banco de dados] não possui logs binários ativados

Para resolver esse problema, habilite o registro em log binário no cluster de banco de dados de origem. Para obter mais informações, consulte Antes de começar.

O cluster de origem [ARN do cluster de banco de dados] não apresenta um grupo de parâmetros de cluster em sincronia no gravador

Você encontrará esse erro caso tenha atualizado o parâmetro do cluster de banco de dados binlog_format, mas não tenha reiniciado a instância primária do cluster de banco de dados. Reinicie a instância primária (ou seja, o gravador) do cluster de banco de dados e tente novamente.

O cluster de origem [ARN do cluster de banco de dados] já possui uma réplica de leitura nesta região

É possível ter até cinco clusters de banco de dados entre regiões que são réplicas de leitura para cada cluster de banco de dados de origem em qualquer Região da AWS. Se você já tiver o número máximo de réplicas de leitura para um cluster de banco de dados em uma determinada Região da AWS, será necessário excluir um existente, para poder criar um novo cluster de banco de dados entre regiões nessa região.

O cluster de banco de dados [ARN do cluster de banco de dados] requer uma atualização do mecanismo de banco de dados para oferecer suporte à replicação entre regiões

Para resolver esse problema, atualize a versão do mecanismo de banco de dados de todas as instâncias no cluster de banco de dados de origem para a versão mais recente do mecanismo de banco de dados e depois tente criar um banco de dados da réplica de leitura entre regiões novamente.