Criar uma réplica de leitura de instância de banco de dados de um cluster de banco de dados multi-AZ
Você pode criar uma réplica de leitura de instância de banco de dados por meio de um cluster de banco de dados multi-AZ para escalar além da capacidade computacional ou de E/S do cluster para workloads de banco de dados de uso intenso de leitura. Você pode direcionar esse tráfego de leitura excessivo a uma ou mais réplicas de leitura de instância de banco de dados. Também é possível usar réplicas de leitura para migrar de um cluster de banco de dados multi-AZ para uma instância de banco de dados.
Para criar uma réplica de leitura, especifique um cluster de banco de dados multi-AZ como origem de replicação. Uma das instâncias de leitor do cluster de banco de dados multi-AZ é sempre a origem da replicação, não a instância do gravador. Essa condição garante que a réplica esteja sempre sincronizada com o cluster de origem, mesmo em casos de failover.
Tópicos
- Comparar instâncias de banco de dados de leitor e réplicas de leitura de instância de banco de dados
- Considerações
- Criar uma réplica de leitura de instância de banco de dados
- Promover a réplica de leitura de instância de banco de dados
- Limitações à criação de uma réplica de leitura de instância de banco de dados de um cluster de banco de dados multi-AZ
Comparar instâncias de banco de dados de leitor e réplicas de leitura de instância de banco de dados
Uma réplica de leitura de instância de banco de dados de um cluster de banco de dados multi-AZ é diferente das instâncias de banco de dados de leitor do cluster de banco de dados multi-AZ das seguintes formas:
-
As instâncias de banco de dados do leitor atuam como destinos de failover automático, enquanto as réplicas de leitura de instância de banco de dados não.
-
As instâncias de banco de dados do leitor devem reconhecer uma alteração da instância de banco de dados de gravador para poder confirmar a alteração. No entanto, para réplicas de leitura de instância de banco de dados, as atualizações são copiadas de forma assíncrona na réplica de leitura sem exigir confirmação.
-
As instâncias de banco de dados do leitor sempre compartilham a mesma classe de instância, tipo de armazenamento e versão do mecanismo da instância de banco de dados do gravador do cluster de banco de dados multi-AZ. No entanto, as réplicas de leitura de instância de banco de dados não precisam necessariamente compartilhar as mesmas configurações do cluster de origem.
-
Você pode promover uma réplica de leitura de banco de dados para uma instância de banco de dados autônoma. Não é possível promover uma instância de banco de dados do leitor de um cluster de banco de dados multi-AZ para uma instância autônoma.
-
O endpoint do leitor somente encaminha as solicitações para as instâncias de banco de dados do leitor do cluster de banco de dados multi-AZ. Ele nunca encaminha solicitações para uma réplica de leitura de instância de banco de dados.
Para ter mais informações sobre instâncias de banco de dados do leitor e do gravador, consulte Arquitetura de cluster de banco de dados multi-AZ.
Considerações
Considere o seguinte antes de criar uma réplica de leitura de instância de banco de dados de um cluster de banco de dados multi-AZ:
-
Ao criar a réplica de leitura de instância de banco de dados, ela deve estar na mesma versão principal do cluster de origem e na mesma versão secundária ou superior. Depois de criá-la, você pode atualizar a réplica de leitura para uma versão secundária superior à do cluster de origem.
-
Quando você cria a réplica de leitura da instância de banco de dados, o armazenamento alocado deve ser igual ao armazenamento alocado do cluster de banco de dados multi-AZ de origem. Você pode alterar o armazenamento alocado após a criação da réplica de leitura.
-
Para o RDS para MySQL, o parâmetro
gtid-mode
deve ser definido comoON
para o cluster de banco de dados multi-AZ de origem. Para ter mais informações, consulte Trabalhar com grupos de parâmetros de clusters de banco de dados multi-AZ. -
Uma transação ativa e de longa duração pode atrasar o processo de criação da réplica de leitura. Recomendamos que você aguarde até que as transações de longa duração sejam concluídas antes de criar uma réplica de leitura.
-
Se você excluir o cluster de banco de dados multi-AZ de uma réplica de leitura de instância de banco de dados, todas as réplicas de leitura nas quais ela estiver sendo gravada serão promovidas para instâncias de banco de dados autônomas.
Criar uma réplica de leitura de instância de banco de dados
Você pode criar uma réplica de leitura de instância de banco de dados de um cluster de banco de dados multi-AZ usando o AWS Management Console, a AWS CLI ou a API do RDS.
nota
É altamente recomendável criar todas as réplicas de leitura na mesma nuvem privada virtual (VPC) com base na mesma Amazon VPC do cluster de banco de dados multi-AZ de origem.
Se você criar uma réplica de leitura em uma VPC diferente do cluster de banco de dados multi-AZ de origem, os intervalos de Encaminhamento Entre Domínios Sem Classificação (CIDR) podem se sobrepor entre a réplica e o sistema do RDS. A sobreposição de CIDR torna a réplica instável, o que pode afetar negativamente as aplicações que se conectam a ela. Se você receber um erro ao criar a réplica de leitura, escolha um grupo de sub-redes de banco de dados de destino diferente. Para ter mais informações, consulte Trabalhar com uma instância de banco de dados em uma VPC.
Para criar uma réplica de leitura de instância de banco de dados de um cluster de banco de dados multi-AZ, execute as etapas a seguir usando o AWS Management Console.
-
Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/
. -
No painel de navegação, escolha Bancos de dados.
-
Selecione o cluster de banco de dados multi-AZ que você deseja usar como a origem da réplica de leitura.
-
Em Actions (Ações), escolha Create read replica (Criar réplica de leitura).
-
Para Origem de réplica, o cluster de banco de dados multi-AZ correto deve estar selecionado.
-
Em Identificador de banco de dados, insira um nome para a réplica de leitura.
-
Nas seções restantes, especifique suas configurações de instância de banco de dados. Para obter informações sobre a configuração, consulte Configurações para instâncias de banco de dados.
nota
O armazenamento alocado para a réplica de leitura de instância de banco de dados deve ser igual ao armazenamento alocado do cluster de banco de dados multi-AZ de origem.
-
Escolha Create read replica (Criar réplica de leitura).
Para criar uma réplica de leitura de instância de banco de dados de um cluster de banco de dados multi-AZ, use o comando create-db-instance-read-replica
da AWS CLI. Para --source-db-cluster-identifier
, especifique o identificador do cluster de banco de dados multi-AZ.
Para Linux, macOS ou Unix:
aws rds create-db-instance-read-replica \ --db-instance-identifier
myreadreplica
\ --source-db-cluster-identifiermymultiazdbcluster
Para Windows:
aws rds create-db-instance-read-replica ^ --db-instance-identifier
myreadreplica
^ --source-db-cluster-identifiermymultiazdbcluster
Para criar uma réplica de leitura de instância de banco de dados de um cluster de banco de dados multi-AZ, use a operação CreateDBInstanceReadReplica
.
Promover a réplica de leitura de instância de banco de dados
Se você não precisar mais da réplica de leitura de instância de banco de dados, poderá promovê-la para uma instância de banco de dados autônoma. Ao promover uma réplica de leitura, a instância de banco de dados é reiniciada antes que ela fique disponível. Para obter instruções, consulte Promoção de uma réplica de leitura a uma instância de banco de dados autônoma.
Se você estiver usando a réplica de leitura para migrar uma implantação de cluster de banco de dados multi-AZ para uma implantação single-AZ ou implantação de instância de banco de dados multi-AZ, interrompa todas as transações que estejam sendo gravadas no cluster de banco de dados de origem. Depois, aguarde até que todas as atualizações sejam realizadas na réplica de leitura. As atualizações do banco de dados serão realizadas na réplica de leitura depois que forem feitas em uma das instâncias de banco de dados do leitor do cluster de banco de dados multi-AZ. Esse atraso na replicação pode variar significativamente. Use a métrica ReplicaLag
para determinar quando todas as atualizações foram feitas na réplica de leitura. Para ter mais informações sobre o atraso na replicação, consulte Monitoramento da replicação de leitura.
Depois de promover a réplica de leitura, aguarde o status da instância de banco de dados promovida ser Available
antes de direcionar suas aplicações a usarem a instância de banco de dados promovida. Opcionalmente, exclua a implantação de cluster de banco de dados multi-AZ se não precisar mais dela. Para obter instruções, consulte Excluir um cluster de banco de dados multi-AZ para o Amazon RDS.
Limitações à criação de uma réplica de leitura de instância de banco de dados de um cluster de banco de dados multi-AZ
As limitações a seguir se aplicam à criação de uma réplica de leitura de instância de banco de dados de uma implantação de cluster de banco de dados multi-AZ.
-
Não é possível criar uma réplica de leitura de instância de banco de dados em uma Conta da AWS diferente da Conta da AWS que tem o cluster de banco de dados multi-AZ de origem.
-
Não é possível criar uma réplica de leitura de instância de banco de dados em uma Região da AWS diferente da do cluster de banco de dados multi-AZ de origem.
-
Não é possível recuperar uma réplica de leitura de instância de banco de dados para um ponto no tempo.
-
A criptografia de armazenamento deve ter as mesmas configurações no cluster de banco de dados multi-AZ de origem e na réplica de leitura de instância de dados.
-
Se o cluster de banco de dados multi-AZ de origem estiver criptografado, a réplica de leitura de instância de banco de dados deverá ser criptografada usando a mesma chave do KMS.
-
Para realizar uma atualização de versão secundária no cluster de banco de dados multi-AZ de origem, primeiro você deve realizar a atualização da versão secundária na réplica de leitura de instância de banco de dados.
-
A réplica de leitura de instância de banco de dados não comporta réplicas de leitura em cascata.
-
Para o RDS para PostgreSQL, o cluster de banco de dados multi-AZ de origem deve estar executando o PostgreSQL versão 13.11, 14.8 ou 15.2.R2 ou posterior para criar uma réplica de leitura da instância de banco de dados.
-
Você pode realizar uma atualização da versão principal no cluster de banco de dados multi-AZ de origem de uma réplica de leitura da instância de banco de dados, mas a replicação para a réplica de leitura será interrompida e não poderá ser reiniciada.