Réplicas de leitura do Amazon RDS

As réplicas de leitura do Amazon RDS aperfeiçoam a performance e a durabilidade para instâncias de banco de dados (DB) do Amazon RDS. Elas facilitam o aumento da escala na horizontal de maneira elástica além dos limites de capacidade de uma única instância de DB para workloads de banco de dados com uso intenso de leitura. Você pode criar uma ou mais réplicas de uma determinada instância de banco de dados de origem e atender ao tráfego de leitura de aplicações de alto volume de várias cópias dos seus dados, aumentando portanto o processamento de leitura agregado. Quando necessário, as réplicas de leitura também podem ser promovidas para instâncias de banco de dados autônomas. Leia réplicas disponíveis no Amazon RDS para MySQL, Amazon RDS para MariaDB, Amazon RDS para PostgreSQL, Amazon RDS para Oracle, e no Amazon RDS para SQL Server, bem como no Amazon Aurora.

Para os mecanismos de banco de dados MySQL, MariaDB, PostgreSQL, Oracle e SQL Server, o Amazon RDS cria uma segunda instância de banco de dados usando um snapshot da instância de banco de dados de origem. Em seguida, o Amazon RDS usa a replicação assíncrona nativa dos mecanismos para atualizar a réplica de leitura sempre que a instância de banco de dados de origem é alterada. A réplica de leitura opera como uma instância de banco de dados que permite somente conexões para leitura. Os aplicativos podem conectar-se a uma réplica de leitura da mesma forma como fariam com qualquer outra instância de BD. O Amazon RDS replica todos os bancos de dados na instância de banco de dados de origem.

O Amazon Aurora amplia ainda mais os benefícios de réplicas de leitura, usando uma camada de armazenamento virtualizado com SSD criada especificamente para workloads de banco de dados. As réplicas do Amazon Aurora compartilham o mesmo armazenamento subjacente da instância de origem, reduzindo custos e evitando a necessidade de copiar dados para os nós de réplica. Para obter mais informações sobre replicação com o Amazon Aurora, consulte a documentação on-line.

Escalabilidade de leitura e recuperação de desastres

Benefícios das réplicas de leitura do Amazon RDS

Você pode reduzir a carga de uma instância de banco de dados de origem roteando consultas de leitura dos aplicativos para a réplica de leitura. As réplicas de leitura permitem que você aumente a escala horizontal de forma elástica além das restrições de capacidade de uma única instância de banco de dados para workloads de banco de dados com uso intensivo de leitura. Como podem ser promovidas ao status de principais, as réplicas de leitura são úteis como parte de uma implementação de fragmentos. Para maximizar a performance de leitura, o Amazon RDS para MySQL permite adicionar índices de tabela diretamente às Réplicas de leitura, sem que esses índices estejam presentes no principal.
As réplicas de leitura do Amazon RDS para MySQL, MariaDB, PostgreSQL, Oracle e SQL Server oferecem um mecanismo de disponibilidade complementar para implantações multi-AZ do Amazon RDS. Você pode promover uma réplica de leitura se a instância de banco de dados de origem falhar e pode configurar uma réplica de leitura com sua própria instância de espera em outra AZ. Esta funcionalidade complementa a replicação síncrona, a detecção automática de falhas e o failover disponibilizado com implantações Multi-AZ.
Quando você cria uma réplica de leitura para o Amazon RDS para MySQL, MariaDB, PostgreSQL, Oracle ou SQL Server, o Amazon RDS configura um canal de comunicação seguro usando a criptografia de chave pública entre a instância de banco de dados de origem e a réplica de leitura, mesmo durante a replicação entre regiões. O Amazon RDS estabelece qualquer configuração de segurança da AWS, como a adição de entradas de grupos de segurança, necessária para habilitar o canal seguro. Também é possível criar réplicas de leitura para instâncias de banco de dados do Amazon RDS para MySQL, MariaDB, PostgreSQL, Oracle e SQL Server criptografadas ociosas usando o AWS Key Management Service (KMS).

Configuração

Ao usar o Console de Gerenciamento da AWS, você pode adicionar facilmente réplicas de leitura a instâncias de bando de dados existentes. Use a opção “Create Read Replica” (Criar réplica de leitura) correspondente à sua instância de banco de dados no Console de Gerenciamento da AWS. O Amazon RDS para MySQL, o Amazon RDS para PostgreSQL, o Amazon RDS para MariaDB e o Amazon RDS para SQL Server permitem que você adicione até 15 réplicas de leitura a cada instância de banco de dados. O Amazon RDS para Oracle permite adicionar até cinco réplicas de leitura a cada instância de banco de dados.

O Amazon RDS para MySQL, o Amazon RDS para PostgreSQL, o Amazon RDS para MariaDB e o Amazon RDS para Oracle oferecem duas opções baseadas em SSD para armazenamento de banco de dados: IOPS de uso geral e IOPS provisionadas. As réplicas de leitura desses mecanismos não devem usar o mesmo tipo de armazenamento que as instâncias de banco de dados principais. Você poderá otimizar sua performance ou seus gastos selecionando um tipo de armazenamento alternativo para réplicas de leitura. Para obter mais informações, consulte a documentação de réplicas para o Amazon RDS para MySQL, o Amazon RDS para MariaDB, o Amazon RDS para PostgreSQL, o Amazon RDS para Oracle, e o Amazon RDS para SQL Server, bem como o Amazon Aurora.

Réplicas de leitura, implantações multi-AZ e implantações em várias regiões

As réplicas de leitura do Amazon RDS complementam as implantações Multi-AZ. Embora ambos os recursos mantenham uma segunda cópia dos dados, há diferenças entre os dois:

Implantações Multi-AZ

Implantações de múltiplas regiões

Réplicas de leitura

O objetivo principal é a alta disponibilidade

O objetivo principal é a recuperação de desastres e desempenho local

O objetivo principal é a escalabilidade

Quando não realizadas com o Aurora: replicação síncrona; quando realizadas com o Aurora: replicação síncrona

Replicação assíncrona

Replicação assíncrona

Não Aurora: apenas a instância primária está ativa; Aurora: todas as instâncias estão ativas

Todas as regiões estão acessíveis e podem ser usadas para leitura

Todas as réplicas de leitura podem ser acessadas e usadas para escalabilidade de leitura

Não Aurora: backups automáticos são realizados usando a espera; Aurora: backups automáticos são realizados usando a camada de armazenamento compartilhada

Backups automatizados podem ser realizados em cada região

Nenhum backup configurado por padrão

Abrange sempre ao menos duas Zonas de disponibilidade em uma única região

Cada região pode ter uma implantação Multi-AZ

Pode estar em uma Zona de disponibilidade, em várias zonas de disponibilidade ou em várias regiões

Não Aurora: os upgrades de versão do mecanismo de banco de dados ocorrem no primário; Aurora: todas as instâncias são atualizadas junto

Não Aurora: os upgrades de versão do mecanismo de banco de dados são independentes em cada região; Aurora: todas as instâncias são atualizadas junto

Não Aurora: os upgrades de versão do mecanismo de banco de dados são independentes de cada instância; Aurora: todas as instâncias são atualizadas junto

Failover automático para espera (não Aurora) ou réplica de leitura (Aurora) quando um problema é detectado

Aurora permite a promoção de uma região secundária para ser a principal

Pode ser promovida manualmente para uma instância de banco de dados autônoma (não Aurora) ou para ser a instância principal (Aurora)

É possível combinar réplicas de leitura com outros recursos do Amazon RDS para aproveitar os benefícios de cada um. Por exemplo, você pode configurar um banco de dados de origem como Multi-AZ para alta disponibilidade e criar uma réplica de leitura (em Single-AZ) para escalabilidade de leitura. Ou você pode usar o Aurora Global Database para replicar dados da implantação do Aurora multi-AZ em regiões adicionais.

Com o RDS para MySQL, RDS para MariaDB, RDS para PostgreSQL, and RDS para Oracle também é possível definir a réplica de leitura como multi-AZ, o que permite usar a réplica de leitura como um destino de recuperação de desastres. Quando você promover a réplica de leitura para um banco de dados autônomo, ele já será habilitado para multi-AZ.