Replicação com o Amazon Aurora - Amazon Aurora

Replicação com o Amazon Aurora

Existem várias opções de replicação no Aurora. Cada cluster de banco de dados do Aurora tem replicação interna entre várias instâncias de banco de dados no mesmo cluster. Você também pode configurar a replicação com o cluster Aurora como a origem ou o destino. Quando você replica dados para ou fora de um cluster de Aurora cluster, você pode escolher entre recursos internos, como bancos de dados Aurora globais ou os mecanismos tradicionais de replicação para os mecanismos de banco de dados MySQL ou PostgreSQL. Você pode escolher as opções apropriadas com base em qual fornece a combinação certa de alta disponibilidade, conveniência e performance para suas necessidades. As seções a seguir explicam como e quando escolher cada técnica.

Réplicas do Aurora

Quando você cria uma segunda, terceira e outras instâncias de banco de dados e assim por diante em um cluster de banco de dados Aurora provisionado, Aurora configura automaticamente a replicação da instância de banco de dados do gravador para todas as outras instâncias de banco de dados. Essas outras instâncias de banco de dados são somente leitura e são conhecidas como réplicas de Aurora. Também nos referimos a elas como instâncias de leitor ao discutir as maneiras de combinar instâncias de banco de dados de escritor e leitor dentro de um cluster.

As réplicasAurora têm dois propósitos principais. Você pode emitir consultas para eles para dimensionar as operações de leitura da aplicação. Normalmente, você faz isso conectando-se ao endpoint do leitor do cluster. Dessa forma, Aurora pode espalhar a carga para conexões somente leitura na quantidade de réplicas de Aurora que você tem no cluster. As réplicas de Aurora também ajudam a aumentar a disponibilidade. Se a instância do gravador em um cluster ficar indisponível, Aurora promove automaticamente uma das instâncias do leitor para ocupar seu lugar como o novo gravador.

Um cluster de banco de dados do Aurora pode conter até 15 Aurora réplicas. As réplicas do Aurora podem ser distribuídas entre as zonas de disponibilidade abrangidas por um cluster de banco de dados em uma região da AWS.

Os dados em seu cluster de banco de dados têm seus próprios recursos de alta disponibilidade e confiabilidade, independentemente das instâncias de banco de dados no cluster. Se você não estiver familiarizado com os recursos de armazenamento do Aurora, consulte Visão geral do armazenamento do Amazon Aurora. O volume do cluster de banco de dados é composto fisicamente por várias cópias dos dados do cluster de banco de dados. A instância primária e as réplicas de Aurora no cluster do banco de dados visualizam os dados no volume de cluster como um volume lógico único.

Como resultado, todas as réplicas do Aurora retornam os mesmos dados para os resultados da consulta com o mínimo de atraso da réplica. Esse atraso é geralmente muito inferior a 100 milissegundos, depois que a instância primária grava uma atualização. O atraso da réplica varia de acordo com a taxa de mudança no banco de dados. Ou seja, durante os períodos em que uma grande quantidade de operações de gravação ocorre para o banco de dados, você pode ver um aumento no atraso da réplica.

nota

A réplica do Aurora é reiniciada quando perde a comunicação com a instância de banco de dados do gravador por mais de 60 segundos nas seguintes versões do Aurora PostgreSQL:

  • 14.6 e versões posteriores

  • 13.9 e versões posteriores

  • 12.13 e versões posteriores

  • Todas as versões do Aurora PostgreSQL 11

As réplicas do Aurora funcionam bem para a escalabilidade de leitura porque são totalmente dedicadas a operações de leitura no seu volume de cluster. As operações de gravação são gerenciadas pela instância principal. Como o volume do cluster é compartilhado entre todas as instâncias de banco de dados no cluster de banco de dados, um trabalho adicional mínimo é necessário para replicar uma cópia dos dados para cada réplica do Aurora.

Para aumentar a disponibilidade, você pode usar as réplicas do Aurora como destinos de failover. Em outras palavras, se a instância primária falhar, uma réplica do Aurora será promovida à instância primária. Há uma breve interrupção durante a qual as solicitações de leitura e gravação feitas na instância principal falharão com uma exceção.

Promover uma réplica do Aurora por failover é muito mais rápido do que recriar a instância primária. Se o cluster de banco de dados Aurora não incluir todas as réplicas do Aurora, o cluster de banco de dados não estará disponível durante o período necessário para a instância de banco de dados se recuperar do evento de falha.

Quando acontece um failover, algumas das réplicas do Aurora podem ser reinicializadas, dependendo da versão do mecanismo de banco de dados. Por exemplo, no Aurora MySQL 2.10 ou posterior, o Aurora reinicia somente a instância de banco de dados do gravador e o destino de failover durante um failover. Para obter mais informações sobre o comportamento de reinicialização de diferentes versões do mecanismo de banco de dados Aurora, consulte Reinicializar um cluster de banco de dados do Amazon Aurora ou instância de banco de dados do Amazon Aurora. Para obter informações sobre o que acontece com os caches de páginas durante a reinicialização ou o failover, consulte Cache de página perdurável.

Para cenários de alta disponibilidade, recomendamos criar uma ou mais réplicas do Aurora. Eles devem ser iguais à mesma classe da instância de banco de dados da instância primária em zonas de disponibilidade diferentes para o cluster de banco de dados do Aurora. Para obter mais informações sobre réplicas do Aurora como destinos de failover, consulte Tolerância a falhas para um cluster de banco de dados do Aurora.

Você não pode criar uma réplica do Aurora criptografada para um cluster de banco de dados do Aurora não criptografado. Você não pode criar uma réplica do Aurora não criptografada para um cluster de banco de dados do Aurora criptografado.

dica

Você pode usar réplicas do Aurora em um cluster do Aurora como sua única forma de replicação para manter seus dados altamente disponíveis. Você também pode combinar a replicação interna de Aurora com os outros tipos de replicação. Desta forma, pode ajudar a fornecer um nível extra de alta disponibilidade e distribuição geográfica de seus dados.

Para obter detalhes sobre como criar uma réplica do Aurora, consulte Adicionar réplicas do Aurora a um cluster de banco de dados.

Replicação com o Aurora MySQL

Além das réplicas do Aurora, você tem as seguintes opções de replicação com o Aurora MySQL:

  • Clusters de banco de dados do Aurora MySQL em diferentes regiões da AWS.

    • Você pode replicar dados em várias regiões usando um banco de dados Aurora global. Para obter mais detalhes, consulte Alta disponibilidade entre as regiões da AWS com bancos de dados globais do Aurora

    • É possível criar uma réplica de leitura do Aurora de um cluster de banco de dados Aurora MySQL em uma região da AWS diferente com a replicação de log binário (binlog) do MySQL. Cada cluster pode ter até cinco réplicas de leitura criadas dessa maneira, cada uma em uma região diferente.

  • Dois clusters de banco de dados do Aurora MySQL na mesma região da usando a replicação do log binário do MySQL (binlog).

  • Uma instância de banco de dados RDS para MySQL como a fonte de um cluster de banco de dados Aurora MySQL, criando uma réplica de leitura do Aurora de uma instância de banco de dados RDS para MySQL. Normalmente, essa abordagem é usada para migrar para o Aurora MySQL em vez de uma replicação contínua.

Para obter mais informações sobre a replicação com o Aurora MySQL, consulte Replicação com o Amazon Aurora MySQL.

Replicação com o Aurora PostgreSQL

Além das réplicas do Aurora, você tem as seguintes opções de replicação com o Aurora PostgreSQL:

  • Um cluster de banco de dados primário do Aurora em uma região e até cinco clusters de banco de dados secundários apenas para leitura em diferentes regiões usando um banco de dados global Aurora. O Aurora PostgreSQL não é compatível com réplicas do Aurora entre regiões. No entanto, você pode usar o banco de dados global Aurora para escalar os recursos de leitura do cluster de banco de dados Aurora PostgreSQL para mais de uma região da AWS e para atingir as metas de disponibilidade. Para obter mais informações, consulte Usar bancos de dados globais do Amazon Aurora.

  • Dois clusters de banco de dados de Aurora PostgreSQL na mesma região, usando o recurso de replicação lógica do PostgreSQL.

  • Uma instância de banco de dados RDS para PostgreSQL como fonte de dados e um cluster de banco de dados Aurora PostgreSQL, criando uma réplica de leitura do Aurora de uma instância de banco de dados RDS para PostgreSQL. Normalmente, essa abordagem é usada para migrar para o Aurora MySQL em vez de uma replicação contínua.

Para obter mais informações sobre a replicação com o Aurora PostgreSQL, consulte Replicação com Amazon Aurora PostgreSQL.