

# Configurar e gerenciar uma implantação multi-AZ para o Amazon RDS
<a name="Concepts.MultiAZ"></a>

Implantações Multi-AZ podem ter uma ou duas instâncias de banco de dados em espera. Quando a implantação tem uma instância de banco de dados em espera, ela é chamada de *implantação de instância de banco de dados Multi-AZ*. Uma implantação de instância de banco de dados Multi-AZ tem uma instância de banco de dados em espera que fornece suporte para failover, mas não serve tráfego de leitura. Quando a implantação tem duas instâncias de banco de dados em espera, ela é chamada de *implantação de cluster de banco de dados Multi-AZ*. Uma implantação de cluster de banco de dados Multi-AZ tem instâncias de banco de dados em espera que fornecem suporte para failover e também podem servir tráfego de leitura.

Você pode usar o Console de gerenciamento da AWS para determinar se uma implantação multi-AZ é uma implantação de instância de banco de dados multi-AZ ou uma implantação de cluster de banco de dados multi-AZ. No painel de navegação, escolha **Databases** (Bancos de dados) e um **DB identifier** (Identificador de banco de dados).
+ Uma implantação de instância de banco de dados multi-AZ tem as seguintes características:
  + Há apenas uma linha para a instância de banco de dados.
  + O valor de **Role** (Função) é **Instance** (Instância) ou **Primary** (Principal).
  + O valor de **multi-AZ** é **Yes** (Sim).
+ Uma implantação de cluster de banco de dados multi-AZ tem as seguintes características:
  + Há uma linha em nível de cluster com três linhas de instâncias de banco de dados abaixo dela.
  + Para a linha no nível do cluster, o valor de **Role** (Função) é **Multi-AZ DB cluster** (Cluster de banco de dados multi-AZ).
  + Para cada linha no nível da instância, o valor de **Role** (Função) é **Writer instance** (Instância de gravador) ou **Reader instance** (Instância de leitor).
  + Para cada linha no nível da instância, o valor de **Multi-AZ** é **3 Zones** (Três zonas).

**Topics**
+ [Implantações de instâncias de banco de dados multi-AZ para o Amazon RDS](Concepts.MultiAZSingleStandby.md)
+ [Implantações de cluster de banco de dados multi-AZ para o Amazon RDS](multi-az-db-clusters-concepts.md)

Além disso, os tópicos a seguir se aplicam tanto a instâncias de banco de dados quanto a clusters de banco de dados multi-AZ.
+ [Marcar recursos do do Amazon RDS](USER_Tagging.md)
+ [Nomes de recurso da Amazon (ARNs) no Amazon RDS](USER_Tagging.ARN.md)
+ [Trabalhar com armazenamento para instâncias de banco de dados do Amazon RDS](USER_PIOPS.StorageTypes.md)
+ [Manutenção de uma instância de banco de dados](USER_UpgradeDBInstance.Maintenance.md)
+ [Atualizar a versão de mecanismo de uma instância de banco de dados ](USER_UpgradeDBInstance.Upgrading.md)

# Implantações de instâncias de banco de dados multi-AZ para o Amazon RDS
<a name="Concepts.MultiAZSingleStandby"></a>

O Amazon RDS oferece alta disponibilidade e suporte para failover em instâncias de banco de dados utilizando implantações multi-AZ com uma única instâncias de banco de dados em espera. Esse tipo de implantação é chamado de *implantação de instância de banco de dados multi-AZ*. O Amazon RDS usa várias tecnologias diferentes para fornecer esse suporte para failover. Implantações multi-AZ para instâncias de banco de dados MariaDB, MySQL, Oracle, PostgreSQL e RDS Custom para SQL Server usam a tecnologia de failover da Amazon. Instâncias de banco de dados do Microsoft SQL Server utilizam o SQL Server Database Mirroring (DBM) ou grupos de disponibilidade (AGs) Always On. Para obter informações sobre o suporte à versão do SQL Server para multi-AZ, consulte [Implantações multi-AZ para o Amazon RDS for Microsoft SQL Server](USER_SQLServerMultiAZ.md). Para ter informações sobre como trabalhar com o RDS Custom para multi-AZ, consulte [Gerenciar uma implantação multi-AZ para o RDS Custom para SQL Server](custom-sqlserver-multiaz.md).

Em uma implantação de instância de banco de dados multi-AZ, o Amazon RDS provisiona e mantém automaticamente uma réplica em espera síncrona em outra zona de disponibilidade. A instância de banco de dados primária é replicada simultaneamente através de zonas de disponibilidade para uma réplica em espera, a fim de proporcionar a redundância de dados e minimizar os picos de latência durante os backups do sistema. Executar uma instância de banco de dados com alta disponibilidade pode aumentar a disponibilidade durante a manutenção planejada do sistema. Também pode ajudar a proteger bancos de dados contra falhas na instância de banco de dados e interrupção da zona de disponibilidade. Para ter mais informações sobre zonas de disponibilidade, consulte [Regiões, zonas de disponibilidade e Local Zones](Concepts.RegionsAndAvailabilityZones.md).

**nota**  
A opção de alta disponibilidade não é uma solução de escalabilidade para cenários somente leitura. Não é possível utilizar uma réplica em espera para servir tráfego de leitura. Para servir tráfego somente leitura, utilize um cluster de banco de dados multi-AZ ou uma réplica de leitura. Para ter mais informações sobre clusters de banco de dados multi-AZ, consulte [Implantações de cluster de banco de dados multi-AZ para o Amazon RDS](multi-az-db-clusters-concepts.md). Para ter mais informações sobre réplicas de leitura, consulte [Trabalhar com réplicas de leitura de instância de banco de dados](USER_ReadRepl.md).

![\[Cenário de alta disponibilidade\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/con-multi-AZ.png)


Com o console do RDS, é possível criar uma implantação de instância de banco de dados multi-AZ. Basta especificar multi-AZ ao criar essa instância. Você pode utilizar o console para converter instâncias de banco de dados existentes em implantações de instâncias de banco de dados multi-AZ, modificando a instância de banco de dados e especificando a opção multi-AZ. Também pode especificar uma implantação multi-AZ com a AWS CLI ou a API do Amazon RDS. Use o comando da CLI [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) ou [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) ou a operação da API [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) ou [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html).

O console do RDS mostra a zona de disponibilidade da réplica em espera (chamada AZ secundária). Você também pode usar o comando [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) da CLI ou a operação [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) da API para localizar a AZ secundária.

Instâncias de banco de dados que usam implantações de instância de banco de dados multi-AZ podem ter maior latência de gravação e confirmação em comparação com uma implantação single-AZ. Isso pode acontecer devido à replicação de dados síncrona que ocorre. É possível ter uma alteração na latência se sua implantação falhar na réplica em espera, ainda que o AWS seja desenvolvido com conectividade de rede de baixa latência entre zonas de disponibilidade. Para uma aplicação de produção que exija performance de E/S rápida e consistente, recomendamos o armazenamento de IOPS provisionadas (operações de entrada/saída por segundo). Para ter mais informações sobre classes de instância de banco de dados, consulte [Classes de instâncias de banco de dados do ](Concepts.DBInstanceClass.md).

# Converter uma instância de banco de dados em uma implantação multi-AZ para o Amazon RDS
<a name="Concepts.MultiAZ.Migrating"></a>

Modificar uma instância de banco de dados para uma implantação multi-AZ melhora a disponibilidade ao adicionar uma instância em espera em outra zona de disponibilidade. O processo envolve um tempo de inatividade mínimo e exige um planejamento cuidadoso em relação aos impactos no armazenamento e no desempenho. Essa alteração aumenta a tolerância a falhas e reduz o tempo de recuperação em caso de falhas, tornando-a ideal para ambientes de alta disponibilidade.

Se você tiver uma instância de banco de dados em uma implantação single-AZ e modificá-la para uma implantação de instância de banco de dados multi-AZ, o Amazon RDS realizará as seguintes ações:

1. Gera um snapshot dos volumes do Amazon Elastic Block Store (EBS) da instância de banco de dados primária.

1. Cria volumes para a réplica em espera baseados no snapshot. Esses volumes são inicializados em segundo plano e a performance máxima do volume é alcançada depois que os dados são totalmente inicializados.

1. Ativa a replicação síncrona no bloco entre os volumes das réplicas primária e em espera.

**Importante**  
Criar uma instância de banco de dados em espera com base em um snapshot durante uma conversão de single-AZ em multi-AZ evita o tempo de inatividade, mas pode afetar o desempenho, principalmente para workloads sensíveis à gravação. A replicação síncrona pode aumentar a latência de E/S, afetando o desempenho do banco de dados. Como prática recomendada, evite converter uma instância de banco de dados de produção em uma instância de banco de dados multi-AZ.  
Em vez disso, crie uma réplica de leitura, habilite backups nela, converta-a em multi-AZ, carregue dados nos respectivos volumes e, depois, promova-os para a instância de banco de dados primário. Para obter mais informações, consulte [Trabalhar com réplicas de leitura de instância de banco de dados](USER_ReadRepl.md).

Há duas formas de modificar uma instância de banco de dados para ser uma implantação de instância de banco de dados multi-AZ:

**Topics**
+ [Converter para uma implantação de instância de banco de dados multi-AZ com o console do RDS](#Concepts.MultiAZ.Migrating.Convert)
+ [Modificar uma instância de banco de dados para ser uma implantação de instância de banco de dados multi-AZ](#Concepts.MultiAZ.Migrating.Modify)

## Converter para uma implantação de instância de banco de dados multi-AZ com o console do RDS
<a name="Concepts.MultiAZ.Migrating.Convert"></a>

É possível usar o console do RDS para converter uma instância de banco de dados para uma implantação de instância de banco de dados multi-AZ.

É possível usar o console somente para concluir a conversão. Para usar o AWS CLI ou a API do RDS, siga as instruções em [Modificar uma instância de banco de dados para ser uma implantação de instância de banco de dados multi-AZ](#Concepts.MultiAZ.Migrating.Modify).

**Como converter para uma implantação de instância de banco de dados multi-AZ com o console do RDS**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Databases (Bancos de dados)** e a instância de banco de dados que você deseja modificar.

1. Em **Actions** (Ações), selecione **Convert to Multi-AZ deployment** (Converter para implantação multi-AZ).

1. Na página de confirmação, selecione **Apply Immediately** (Aplicar imediatamente) para aplicar as alterações imediatamente. A escolha dessa opção não causa tempo de inatividade, mas pode causar um possível impacto na performance. Você também pode optar por aplicar a atualização durante a próxima janela de manutenção. Para ter mais informações, consulte [Usar a configuração de programação de modificações](USER_ModifyInstance.ApplyImmediately.md).

1. Selecione **Convert to Multi-AZ** (Converter em multi-AZ).

## Modificar uma instância de banco de dados para ser uma implantação de instância de banco de dados multi-AZ
<a name="Concepts.MultiAZ.Migrating.Modify"></a>

Você também pode modificar uma instância de banco de dados para ser uma implantação de instância de banco de dados multi-AZ das seguintes formas:
+ Usando o console do RDS, modifique a instância de banco de dados e defina **Multi-AZ deployment** (Implantação Multi-AZ) como **Yes** (Sim).
+ Usando o AWS CLI, chame o comando [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) e defina a opção `--multi-az`.
+ Usando a API do RDS, chame a operação [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) e defina o parâmetro `MultiAZ` como `true`.

Para ter mais informações sobre como modificar uma instância de banco de dados , consulte [Modificar uma instância de banco de dados do Amazon RDS](Overview.DBInstance.Modifying.md). Após a conclusão da modificação, o Amazon RDS aciona um evento (RDS-EVENT-0025) que indica o término do processo. É possível monitorar eventos do Amazon RDS. Para ter mais informações sobre eventos do , consulte [Trabalhar com a notificação de eventos do Amazon RDS](USER_Events.md).

# Fazer failover de uma instância de banco de dados multi-AZ para o Amazon RDS
<a name="Concepts.MultiAZ.Failover"></a>

Se uma interrupção planejada ou não planejada da instância de banco de dados multi-AZ decorrer de um defeito de infraestrutura, o Amazon RDS alternará automaticamente para uma réplica em espera em outra zona de disponibilidade. 

O tempo de conclusão do failover depende da atividade do banco de dados e de outras condições no momento em que a instância de banco de dados primária se tornou indisponível. Em geral, os tempos de failover variam de 60 a 120 segundos. No entanto, transações grandes ou um processo de recuperação longo podem aumentar o tempo de failover. Quando o failover é concluído, o console do RDS pode levar mais um tempo para refletir a nova zona de disponibilidade.

**nota**  
Você pode forçar um failover manualmente ao reinicializar uma instância de banco de dados multi-AZ. Para ter mais informações, consulte [Reinicializar uma instância de banco de dados](USER_RebootInstance.md).

O Amazon RDS processa os failovers automaticamente para que você possa retomar as operações de banco de dados o mais rápido possível e sem intervenção administrativa. A instância de banco de dados principal muda automaticamente para a réplica em espera se alguma das condições descritas na tabela a seguir ocorrer. Os motivos do failover podem ser visualizados no log de eventos.


| Motivo do failover | Descrição | 
| --- | --- | 
| O sistema operacional subjacente à instância de banco de dados do RDS está sendo corrigido em uma operação offline. |  Um failover foi acionado durante a janela de manutenção para um patch de SO ou uma atualização de segurança. Para ter mais informações, consulte [Manutenção de uma instância de banco de dados](USER_UpgradeDBInstance.Maintenance.md).  | 
| O host principal da instância RDS multi-AZ não está íntegro.  | A implantação de instância de banco de dados multi-AZ detectou uma instância de banco de dados primária danificada e executou failover. | 
| O host principal da instância RDS multi-AZ está inacessível devido à perda de conectividade de rede. |  O monitoramento do RDS detectou uma falha de alcançabilidade de rede na instância de banco de dados principal e acionou um failover.  | 
| A instância do RDS foi modificada pelo cliente. |  Uma modificação da instância de banco de dados do RDS acionou um failover. Para ter mais informações, consulte [Modificar uma instância de banco de dados do Amazon RDS](Overview.DBInstance.Modifying.md).  | 
| A instância primária do RDS multi-AZ está ocupada e não responde. |  A instância de banco de dados principal não responde. Recomendamos fazer o seguinte: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.Failover.html) Para ter mais informações sobre essas recomendações, consulte [Ferramentas de monitoramento do Amazon RDS](MonitoringOverview.md) e [Práticas recomendadas do Amazon RDS](CHAP_BestPractices.md).  | 
| O volume de armazenamento subjacente ao host principal da instância multi-AZ do RDS sofreu uma falha. | A implantação de instância de banco de dados multi-AZ detectou um problema de armazenamento na instância de banco de dados primária e executou o failover. | 
| O usuário solicitou um failover da instância de banco de dados. |  Você reinicializou a instância de banco de dados e escolheu **Reinicializar com failover**. Para ter mais informações, consulte[Reinicializar uma instância de banco de dados](USER_RebootInstance.md)  | 

Para determinar se ocorreu failover na instância de banco de dados multi-AZ, faça o seguinte:
+ Configure assinaturas de eventos de banco de dados para notificar você por e-mail ou SMS de que um failover foi iniciado. Para ter mais informações sobre eventos do , consulte [Trabalhar com a notificação de eventos do Amazon RDS](USER_Events.md).
+ Visualize seus eventos de banco de dados usando o console do RDS ou operações de API.
+ Visualize o estado atual da implantação de instância de banco de dados multi-AZ utilizando o console RDS ou operações de API.

Para obter informações sobre como você pode responder aos failovers, reduzir o tempo de recuperação e outras melhores práticas para o Amazon RDS, consulte [Práticas recomendadas do Amazon RDS](CHAP_BestPractices.md).

## Definir o JVM TTL para pesquisas de nome DNS
<a name="Concepts.MultiAZ.Failover.Java-DNS"></a>

O mecanismo de failover modifica automaticamente o registro de Domain Name System (DNS) da instância de banco de dados para apontar para a instância de banco de dados em espera. Como resultado, você precisará restabelecer todas as conexões existentes para sua instância de banco de dados. Em um ambiente de máquina virtual Java (JVM), devido à forma como o mecanismo de cache DNS do Java funciona, talvez seja necessário reconfigurar as configurações da JVM.

A JVM armazena em cache pesquisas de nome DNS. Ao resolver um nome de host para um endereço IP, a JVM armazena em cache o endereço IP por um período especificado, conhecido como *Time-To-Live* (TTL – Vida útil).

Como os recursos AWS usam entradas de nome DNS que acabam mudando, recomendamos configurar a JVM com um valor TTL de até 60 segundos. Isso garante que quando o endereço IP de um recurso mudar, seu aplicativo poderá receber e usar o novo endereço IP do recurso, consultando novamente o DNS.

Em algumas configurações do Java, o TTL padrão da JVM é definido de maneira que jamais atualiza entradas DNS até a JVM ser reiniciada. Por isso, se o endereço IP de um recurso AWS mudar enquanto a aplicação ainda estiver em execução, não será possível usar esse recurso até você reiniciar manualmente a JVM e as informações de IP armazenadas em cache serem atualizadas. Nesse caso, é crucial definir o TTL da JVM, de forma que ele atualize periodicamente as informações de IP armazenadas em cache.

Você pode obter o TTL padrão da JVM recuperando o valor da propriedade [https://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html](https://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html):

```
String ttl = java.security.Security.getProperty("networkaddress.cache.ttl");
```

**nota**  
O TTL padrão pode variar de acordo com a versão da JVM e a possibilidade de um gerenciador de segurança estar instalado. Muitas JVMs oferecem um TTL padrão menor que 60 segundos. Se estiver usando uma JVM como essa, e não um gerenciador de segurança, será possível ignorar o restante deste tópico. Para ter mais informações sobre gerenciadores de segurança no Oracle, consulte [The security manager](https://docs.oracle.com/javase/tutorial/essential/environment/security.html) (O gerenciador de segurança) na documentação do Oracle.

Para modificar o TTL da JVM, defina o valor da propriedade `networkaddress.cache.ttl`. Use um dos seguintes métodos, dependendo das necessidades:
+ Para definir o valor da propriedade globalmente para todos os aplicativos que usam a JVM, defina `networkaddress.cache.ttl` no arquivo `$JAVA_HOME/jre/lib/security/java.security`.

  ```
  networkaddress.cache.ttl=60									
  ```
+ Para definir a propriedade localmente somente para seu aplicativo, defina `networkaddress.cache.ttl` no código de inicialização do aplicativo antes de quaisquer conexões de rede serem estabelecidas.

  ```
  java.security.Security.setProperty("networkaddress.cache.ttl" , "60");								
  ```

# Failover multi-AZ com volumes de armazenamento adicionais
<a name="MultiAZ.AdditionalStorageVolumes"></a>

As implantações multi-AZ comportam instâncias de banco de dados com volumes de armazenamento adicionais. Durante um failover, o RDS automaticamente faz o failover para a instância em espera com quaisquer volumes de armazenamento adicionais anexados à instância de banco de dados. Esse processo garante a consistência e a disponibilidade dos dados.

Ao configurar uma implantação multi-AZ para uma instância de banco de dados com volumes de armazenamento adicionais, o Amazon RDS replica automaticamente todos os volumes na instância em espera em outra zona de disponibilidade. O armazenamento replicado inclui:
+ O volume de armazenamento primário.
+ Todos os volumes de armazenamento adicionais anexados à sua instância de banco de dados.

Durante um failover, o Amazon RDS promove a instância em espera e garante que todos os volumes de armazenamento estejam disponíveis e consistentes. O failover mantém a mesma configuração de armazenamento, incluindo nomes de volumes, tipos de armazenamento e características de performance.

Depois de um failover bem-sucedido, você pode verificar se todos os volumes de armazenamento estão conectados e acessíveis corretamente visualizando os detalhes da configuração de armazenamento. Para obter mais informações, consulte [Visualizar detalhes do volume de armazenamento da instância de banco de dados](rds-storage-viewing.md).

O tempo de failover para instâncias de banco de dados com volumes de armazenamento adicionais é semelhante ao das instâncias de banco de dados com apenas armazenamento primário.

# Implantações de cluster de banco de dados multi-AZ para o Amazon RDS
<a name="multi-az-db-clusters-concepts"></a>

Uma *implantação de cluster de banco de dados multi-AZ* é um modo de implantação de alta disponibilidade semissíncrona do Amazon RDS com duas instâncias de banco de dados de réplica legíveis. Um cluster de bancos de dados multi-AZ tem uma instância de banco de dados de gravação e duas instâncias de banco de dados de leitura em três zonas de disponibilidade diferentes na mesma região da Região da AWS. Clusters de banco de dados multi-AZ oferecem alta disponibilidade, maior capacidade para workloads de leitura e menor latência do gravação quando comparados com implantação de instância de banco de dados multi-AZ.

Você pode importar dados de um banco de dados on-premises para um cluster de banco de dados multi-AZ seguindo as instruções em [Importar dados para um banco de dados do Amazon RDS para MySQL com tempo de inatividade reduzido](mysql-importing-data-reduced-downtime.md).

É possível comprar instâncias de banco de dados reservadas para um cluster de banco de dados multi-AZ. Para obter mais informações, consulte [Instâncias de banco de dados reservadas para um cluster de banco de dados multi-AZ](USER_WorkingWithReservedDBInstances.md#USER_WorkingWithReservedDBInstances.MultiAZDBClusters).

A disponibilidade e a compatibilidade de recursos variam entre versões específicas de cada mecanismo de banco de dados e entre Regiões da AWS. Para ter mais informações sobre a disponibilidade de versões e regiões do Amazon RDS com o clusters de banco de dados multi-AZ, consulte [Regiões e mecanismos de banco de dados compatíveis com clusters de banco de dados multi-AZ no Amazon RDS](Concepts.RDS_Fea_Regions_DB-eng.Feature.MultiAZDBClusters.md).

**Topics**
+ [Disponibilidade de classe de instância para clusters de banco de dados multi-AZ](#multi-az-db-clusters-concepts.InstanceAvailability)
+ [Arquitetura de cluster de banco de dados multi-AZ](#multi-az-db-clusters-concepts-overview)
+ [Grupos de parâmetros para clusters de banco de dados multi-AZ](#multi-az-db-clusters-concepts-parameter-groups)
+ [RDS Proxy com clusters de banco de dados multi-AZ](#multi-az-db-clusters-proxy)
+ [Atraso de réplica e clusters de banco de dados multi-AZ](#multi-az-db-clusters-concepts-replica-lag)
+ [Snapshots de cluster de banco de dados multi-AZ](#multi-az-db-clusters-concepts-snapshot)
+ [Criar um cluster de banco de dados multi-AZ para o Amazon RDS](create-multi-az-db-cluster.md)
+ [Conectar-se a um cluster de banco de dados multi-AZ no Amazon RDS](multi-az-db-clusters-concepts-connection-management.md)
+ [Conectar automaticamente um recurso de computação da AWS e um cluster de banco de dados multi-AZ para o Amazon RDS](multi-az-compute-rds-connect.md)
+ [Modificar um cluster de banco de dados multi-AZ para o Amazon RDS](modify-multi-az-db-cluster.md)
+ [Atualização da versão de mecanismo de um cluster de banco de dados multi-AZ para o Amazon RDS](multi-az-db-clusters-upgrading.md)
+ [Renomear um cluster de banco de dados multi-AZ para o Amazon RDS](multi-az-db-cluster-rename.md)
+ [Reinicializar um cluster de banco de dados multi-AZ e instâncias de banco de dados de leitor do Amazon RDS](multi-az-db-clusters-concepts-rebooting.md)
+ [Fazer failover de um cluster de banco de dados multi-AZ para o Amazon RDS](multi-az-db-clusters-concepts-failover.md)
+ [Configurar a replicação lógica do PostgreSQL com clusters de banco de dados multi-AZ para o Amazon RDS](USER_MultiAZDBCluster_LogicalRepl.md)
+ [Trabalhar com réplicas de leitura de cluster de banco de dados multi-AZ para o Amazon RDS](USER_MultiAZDBCluster_ReadRepl.md)
+ [Configurar a replicação externa de clusters de banco de dados multi-AZ para o Amazon RDS](multi-az-db-clusters-external-replication.md)
+ [Excluir um cluster de banco de dados multi-AZ para o Amazon RDS](USER_DeleteMultiAZDBCluster.Deleting.md)
+ [Limitações de clusters de banco de dados multi-AZ do Amazon RDS](multi-az-db-clusters-concepts.Limitations.md)

**Importante**  
Clusters de banco de dados multi-AZ não são idênticos a clusters de bancos de dados Aurora. Para obter informações sobre clusters de bancos de dados Aurora, consulte o [Guia do usuário do Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html).

## Disponibilidade de classe de instância para clusters de banco de dados multi-AZ
<a name="multi-az-db-clusters-concepts.InstanceAvailability"></a>

As implantações de clusters de banco de dados multi-AZ são compatíveis com as seguintes classes de instância de banco de dados: `db.m5d`, `db.m6gd`, `db.m6id`, `db.m6idn`, `db.r5d`, `db.r6gd`, `db.x2iedn`, `db.r6id`, `db.r6idn` e `db.c6gd`.

**nota**  
As classes de instância c6gd são as únicas compatíveis com o tamanho de instância `medium`.

Para ter mais informações sobre classes de instância de banco de dados, consulte [Classes de instâncias de banco de dados do ](Concepts.DBInstanceClass.md).

## Arquitetura de cluster de banco de dados multi-AZ
<a name="multi-az-db-clusters-concepts-overview"></a>

Com um cluster de banco de dados multi-AZ, o Amazon RDS replica dados da instância de banco de dados de gravador para ambas as instâncias de banco de dados de leitor utilizando os recursos de replicação nativa do mecanismo de banco de dados. Quando uma alteração é feita na instância de banco de dados de gravador, ela é enviada a cada instância de banco de dados de leitor. 

As implantações de cluster de banco de dados multi-AZ usam replicação semissíncrona, que requer reconhecimento de, pelo menos, uma instância de banco de dados de leitor para que uma alteração seja confirmada. Isso não exige o reconhecimento de que os eventos foram totalmente executados e confirmados em *todas* as réplicas.

Instâncias de banco de dados de leitor atuam como destinos de failover automático e também servem tráfego de leitura para aumentar a taxa de transferência de leitura da aplicação. Se ocorrer uma interrupção na instância de banco de dados de gravador, o RDS fará o gerenciamento do failover para uma das instâncias de banco de dados de leitor. O RDS faz isso com base em qual instância de banco de dados de leitor tem o registro de alteração mais recente.

O diagrama a seguir mostra um cluster de banco de dados multi-AZ.

![\[Cluster de banco de dados multi-AZ\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/multi-az-db-cluster.png)


Em geral, clusters de banco de dados multi-AZ têm menor latência de gravação quando comparados a implantações de instâncias de banco de dados multi-AZ. Ele também permite que workloads de somente leitura sejam executadas em instâncias de banco de dados do leitor. O console do RDS mostra a zona de disponibilidade da instância de banco de dados de gravador e as zonas de disponibilidade das instâncias de banco de dados de leitor. Você também pode usar o comando [describe-db-clusters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html) da CLI ou a operação de API [DescribeDBClusters](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html) para encontrar essas informações. 

**Importante**  
Para evitar erros de replicação em clusters de banco de dados multi-AZ do RDS para MySQL, é altamente recomendável que todas as tabelas tenham uma chave primária.

## Grupos de parâmetros para clusters de banco de dados multi-AZ
<a name="multi-az-db-clusters-concepts-parameter-groups"></a>

Em um cluster de banco de dados multi-AZ, um *grupo de parâmetros de cluster de banco de dados* atua como um contêiner para valores de configuração de mecanismo que são aplicados a cada instância de banco de dados no cluster de banco de dados multi-AZ.

Em um cluster de banco de dados multi-AZ, um *grupo de parâmetros de banco de dados* é definido como o grupo de parâmetros de banco de dados padrão do mecanismo de banco de dados e da versão do mecanismo de banco de dados. As configurações no grupo de parâmetros do cluster de banco de dados são utilizadas para todas as instâncias de banco de dados do cluster.

Para obter informações sobre grupos de parâmetros, consulte [Trabalhar com grupos de parâmetros de clusters de banco de dados multi-AZ](USER_WorkingWithDBClusterParamGroups.md).

## RDS Proxy com clusters de banco de dados multi-AZ
<a name="multi-az-db-clusters-proxy"></a>

É possível usar o Amazon RDS Proxy para criar um proxy para os clusters de banco de dados multi-AZ. Com o RDS Proxy, as aplicações podem agrupar e compartilhar conexões de banco de dados para melhorar a capacidade de escala. Cada proxy também executa a *multiplexação* de conexões, também conhecida como reutilização de conexões. Com a multiplexação, o RDS Proxy executa todas as operações para uma transação usando uma conexão de banco de dados subjacente. O RDS Proxy também pode reduzir o tempo de inatividade de uma atualização de versão secundária de um cluster de banco de dados multi-AZ para um segundo ou menos. Para obter mais informações sobre os benefícios do &AS;, consulte [Amazon RDS Proxy](rds-proxy.md).

Para configurar um proxy para um cluster de banco de dados multi-AZ, escolha **Criar um proxy RDS** ao criar o cluster. Para obter instruções sobre como criar e gerenciar endpoints do RDS Proxy, consulte. [Como trabalhar com endpoints do proxy do Amazon RDS](rds-proxy-endpoints.md)

## Atraso de réplica e clusters de banco de dados multi-AZ
<a name="multi-az-db-clusters-concepts-replica-lag"></a>

*Atraso de réplica* é a diferença de tempo entre a transação mais recente na instância de banco de dados do gravador e a transação aplicada mais recente em uma instância de banco de dados do leitor. A métrica do Amazon CloudWatch `ReplicaLag` representa essa diferença de tempo. Para ter mais informações sobre métricas do CloudWatch, consulte [Monitorar métricas do Amazon RDS com o Amazon CloudWatch](monitoring-cloudwatch.md).

Embora os clusters de banco de dados multi-AZ permitam uma alta performance de gravação, o atraso de réplica ainda pode ocorrer devido à natureza da replicação baseada em mecanismo. Como qualquer failover deve primeiro resolver o atraso de réplica antes de promover uma nova instância de banco de dados do gravador, monitorar e gerenciar esse atraso de réplica é algo a ser levado em consideração.

Para clusters de banco de dados multi-AZ do RDS para MySQL, o tempo de failover depende do atraso de réplica das duas instâncias de banco de dados de leitor. Ambas as instâncias de banco de dados do leitor devem aplicar transações não aplicadas antes que uma delas seja promovida para a nova instância de banco de dados de gravador.

Para clusters de banco de dados do RDS para PostgreSQL multi-AZ, o tempo de failover depende do menor atraso de réplica das duas instâncias de banco de dados de leitor restantes. A instância de banco de dados de leitor com o menor atraso de réplica deve aplicar as transações não aplicadas antes de ser promovida para a nova instância de banco de dados de gravador.

Para obter um tutorial que mostra como criar um alarme do CloudWatch quando o atraso de réplica excede um período de tempo definido, consulte [Tutorial: criar um alarme do Amazon CloudWatch para atraso de réplica do cluster de banco de dados multi-AZ para o Amazon RDS](multi-az-db-cluster-cloudwatch-alarm.md).

### Causas comuns de atraso de réplica
<a name="multi-az-db-clusters-concepts-replica-lag-causes"></a>

Em geral, o atraso de réplica ocorre quando o workload de gravação é muito alto para que as instâncias de banco de dados do leitor apliquem as transações de forma eficiente. Vários workloads podem incorrer em atraso de réplica temporário ou contínuo. Os seguintes exemplos demonstram as causas comuns:
+ Alta simultaneidade de gravação ou atualização em lote pesado na instância de banco de dados do gravador, fazendo com que o processo de aplicação nas instâncias de banco de dados do leitor fique para trás.
+ Workload de leitura pesada que usa recursos em uma ou mais instâncias de banco de dados do leitor. Executar consultas lentas ou grandes pode afetar o processo de aplicação e causar atraso de réplica.
+ As transações que modificam grandes quantidades de dados ou instruções DDL às vezes podem causar um aumento temporário no atraso de réplica porque o banco de dados deve preservar a ordem de confirmação.

### Diminuir o atraso de réplica
<a name="multi-az-db-clusters-concepts-replica-lag-mitigating"></a>

Para clusters de banco de dados multi-AZ para RDS para MySQL e RDS para PostgreSQL, você pode mitigar o atraso de réplica reduzindo a carga na instância de banco de dados do gravador. Você também pode usar o controle de fluxo para reduzir o atraso da réplica. O *controle de fluxo* funciona controlando a utilização das gravações na instância de banco de dados do gravador, o que garante que o atraso de réplica não continue a crescer de forma não vinculada. O controle de utilização da gravação é realizado adicionando um atraso ao fim de uma transação, o que diminui a taxa de transferência de gravação na instância de banco de dados do gravador. Embora o controle de fluxo não garanta a eliminação do atraso, ele pode ajudar a reduzir o atraso geral em muitos workloads. As seções a seguir fornecem informações sobre como usar o controle de fluxo com o RDS para MySQL e o RDS para PostgreSQL.

#### Reduzir o atraso de réplica com controle de fluxo para o RDS para MySQL
<a name="multi-az-db-clusters-concepts-replica-lag-mitigating.mysql"></a>

Quando você está usando clusters de banco de dados multi-AZ do RDS para MySQL, o controle de transmissão é ativado por padrão usando o parâmetro dinâmico `rpl_semi_sync_master_target_apply_lag`. Esse parâmetro especifica o limite posterior que você deseja para o atraso de réplica. À medida que o atraso de réplica se aproxima desse limite configurado, o controle de transmissão controla a utilização das transações de gravação na instância de banco de dados de gravador para tentar conter o atraso de réplica abaixo do valor especificado. Em alguns casos, o atraso de réplica pode exceder o limite especificado. Por padrão, esse parâmetro é definido como 120 segundos. Para desativar o controle de transmissão, defina esse parâmetro como o valor máximo de 86.400 segundos (um dia).

Para exibir o atraso atual injetado pelo controle de transmissão, mostre o parâmetro `Rpl_semi_sync_master_flow_control_current_delay` executando a seguinte consulta.

```
SHOW GLOBAL STATUS like '%flow_control%';
```

O resultado deve ser semelhante ao seguinte:

```
+-------------------------------------------------+-------+
| Variable_name                                   | Value |
+-------------------------------------------------+-------+
| Rpl_semi_sync_master_flow_control_current_delay | 2010  |
+-------------------------------------------------+-------+
1 row in set (0.00 sec)
```

**nota**  
O atraso é mostrado em microssegundos.

Quando você tem o Performance Insights ativado para um cluster de banco de dados multi-AZ do RDS para MySQL, você pode monitorar o evento de espera correspondente a uma instrução SQL indicando que as consultas foram atrasadas por um controle de fluxo. Quando um atraso foi introduzido por um controle de fluxo, você pode visualizar o evento de espera `/wait/synch/cond/semisync/semi_sync_flow_control_delay_cond` correspondente à instrução SQL no painel do Performance Insights. Para visualizar essas métricas, verifique se o Performance Schema está ativado. Para obter informações sobre o Performance Insights, consulte [Monitorar a carga de banco de dados com o Performance Insights no Amazon RDS](USER_PerfInsights.md).

#### Reduzir o atraso de réplica com controle de fluxo para o RDS para PostgreSQL
<a name="multi-az-db-clusters-concepts-replica-lag-mitigating.postgresql"></a>

Quando você está usando clusters de banco de dados do RDS para PostgreSQL multi-AZ, o controle e fluxo é implantado como uma extensão. Ela ativa um operador em segundo plano para todas as instâncias de banco de dados em um cluster de banco de dados. Por padrão, os operadores em segundo plano nas instâncias de banco de dados do leitor comunicam o atraso de réplica atual com o operador em segundo plano na instância de banco de dados do gravador. Se o atraso exceder dois minutos em qualquer instância de banco de dados do leitor, o operador em segundo plano na instância de banco de dados do gravador adicionará um atraso no final de uma transação. Para controlar o limite de atraso, use o parâmetro `flow_control.target_standby_apply_lag`.

Quando um controle de fluxo acelera um processo PostgreSQL, o evento de espera `Extension` em `pg_stat_activity` e o Performance Insights indicam isso. A função `get_flow_control_stats` exibe detalhes sobre quanto atraso está sendo adicionado no momento.

O controle de fluxo pode beneficiar a maioria das workloads de processamento de transações on-line (OLTP) que apresentam transações curtas, mas altamente simultâneas. Se o atraso for causado por transações de longa duração, como operações em lote, o controle de fluxo não proporcionará um benefício tão forte.

Você pode desativar o controle de fluxo removendo a extensão do `shared_preload_libraries` e reinicializando sua instância de banco de dados.

## Snapshots de cluster de banco de dados multi-AZ
<a name="multi-az-db-clusters-concepts-snapshot"></a>

O Amazon RDS cria e salva backups automáticos do cluster de banco de dados multi-AZ durante a janela de backup configurada. O RDS cria um snapshot do volume de armazenamento do cluster de banco de dados fazendo backup de todo o cluster e não apenas das instâncias individuais.

Também é possível fazer backups manuais do cluster de banco de dados multi-AZ. Para backups de prazo muito longo, pense em exportar dados de snapshot para o Amazon S3. Para obter mais informações, consulte [Criar um snapshot do cluster de banco de dados multi-AZ para o Amazon RDS](USER_CreateMultiAZDBClusterSnapshot.md).

É possível restaurar seu cluster de banco de dados multi-AZ para um momento específico criando um cluster de banco de dados multi-AZ. Para instruções, consulte [Restaurar um cluster de banco de dados multi-AZ para um horário especificado](USER_PIT.MultiAZDBCluster.md).

Também é possível restaurar um snapshot de cluster de banco de dados multi-AZ para uma implantação single-AZ ou uma implantação de instância de banco de dados multi-AZ. Para instruções, consulte [Restauração de um snapshot de cluster de banco de dados multi-AZ para uma instância de banco de dados](USER_RestoreFromMultiAZDBClusterSnapshot.md).

# Criar um cluster de banco de dados multi-AZ para o Amazon RDS
<a name="create-multi-az-db-cluster"></a>

Um cluster de banco de dados multi-AZ tem uma instância de banco de dados de gravador e duas instâncias de banco de dados de leitor em três zonas de disponibilidade separadas. Clusters de banco de dados multi-AZ oferecem alta disponibilidade, maior capacidade para workloads de leitura e menor latência quando comparados a implantações multi-AZ. Para ter mais informações sobre clusters de banco de dados multi-AZ, consulte [Implantações de cluster de banco de dados multi-AZ para o Amazon RDS](multi-az-db-clusters-concepts.md).

**nota**  
Clusters de banco de dados multi-AZ têm suporte apenas para os mecanismos de banco de dados MySQL e PostgreSQL.

## Pré-requisitos do cluster de banco de dados
<a name="create-multi-az-db-cluster-prerequisites"></a>

**Importante**  
Antes de criar um cluster de banco de dados multi-AZ, você deve concluir as tarefas em [Configuração do ambiente do Amazon RDS](CHAP_SettingUp.md).

Os itens a seguir são pré-requisitos que devem ser cumpridos antes de criar um cluster de banco de dados multi-AZ.

**Topics**
+ [Configurar a rede para o cluster de banco de dados](#create-multi-az-db-cluster-prerequisites-VPC)
+ [Pré-requisitos adicionais](#create-multi-az-db-cluster-prerequisites-additional)

### Configurar a rede para o cluster de banco de dados
<a name="create-multi-az-db-cluster-prerequisites-VPC"></a>

Só é possível criar um cluster de banco de dados multi-AZ em uma nuvem privada virtual (VPC) com base no serviço da Amazon VPC. Ele deve estar em uma Região da AWS que tenha pelo menos três zonas de disponibilidade. O grupo de sub-redes do banco de dados escolhido para o cluster de banco de dados deve incluir pelo menos três zonas de disponibilidade. Essa configuração garante que cada instância de banco de dados no cluster de banco de dados esteja em uma zona de disponibilidade diferente.

Para configurar a conectividade entre seu novo cluster de banco de dados e uma instância do Amazon EC2 na mesma VPC, faça isso durante a criação do cluster de banco de dados. Para se conectar ao cluster de banco de dados usando recursos que não sejam instâncias do EC2 na mesma VPC, configure as conexões de rede manualmente.

**Topics**
+ [Configurar a conectividade automática de rede com uma instância do EC2](#create-multi-az-db-cluster-prerequisites-VPC-automatic)
+ [Configurar a rede manualmente](#create-multi-az-db-cluster-prerequisites-VPC-manual)

#### Configurar a conectividade automática de rede com uma instância do EC2
<a name="create-multi-az-db-cluster-prerequisites-VPC-automatic"></a>

Ao criar um cluster de banco de dados multi-AZ, você pode usar o Console de gerenciamento da AWS para configurar a conectividade entre uma instância do EC2 e o novo cluster de banco de dados. Quando você faz isso, o RDS configura suas definições de VPC e rede automaticamente. O cluster de banco de dados é criado na mesma VPC da instância do EC2 para que a instância do EC2 possa acessar o cluster de banco de dados.

Confira a seguir os requisitos para conectar uma instância do EC2 ao cluster de banco de dados:
+ A instância do EC2 deve existir na Região da AWS antes de criar o cluster de banco de dados.

  Se não houver nenhuma instância do EC2 na Região da AWS, o console fornecerá um link para que você crie uma.
+ O usuário que está criando o cluster de banco de dados deve ter permissões para realizar as seguintes operações:
  + `ec2:AssociateRouteTable` 
  + `ec2:AuthorizeSecurityGroupEgress` 
  + `ec2:AuthorizeSecurityGroupIngress` 
  + `ec2:CreateRouteTable` 
  + `ec2:CreateSubnet` 
  + `ec2:CreateSecurityGroup` 
  + `ec2:DescribeInstances` 
  + `ec2:DescribeNetworkInterfaces` 
  + `ec2:DescribeRouteTables` 
  + `ec2:DescribeSecurityGroups` 
  + `ec2:DescribeSubnets` 
  + `ec2:ModifyNetworkInterfaceAttribute` 
  + `ec2:RevokeSecurityGroupEgress` 

Usar essa opção cria um cluster de banco de dados privado. O cluster de banco de dados usa um grupo de sub-redes de banco de dados somente com sub-redes privadas para restringir o acesso aos recursos da VPC.

Para conectar uma instância do EC2 ao cluster de banco de dados, escolha **Connect to an EC2 compute resource** (Conectar-se a um recurso de computação do EC2) na seção **Connectivity** (Conectividade) da página **Create database** (Criar banco de dados).

![\[Conectar uma instância do EC2\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/ec2-set-up-connection-create.png)


Quando você escolhe **Connect to an EC2 compute resource** (Conectar-se a um recurso de computação do EC2), o RDS define as opções a seguir automaticamente. Você não pode alterar essas configurações, a menos que opte por não configurar a conectividade com uma instância do EC2 escolhendo **Don't connect to an EC2 compute resource** (Não conectar a um recurso de computação do EC2).


****  

| Opção do console | Configuração automática | 
| --- | --- | 
|  **Nuvem privada virtual (VPC)**  |  O RDS define a VPC como aquela associada à instância do EC2.  | 
|  **DB subnet group** (Grupo de subredes do banco de dados)  | O RDS requer um grupo de sub-redes de banco de dados com uma sub-rede privada na mesma zona de disponibilidade da instância do EC2. Se existir um grupo de sub-redes de banco de dados que atenda a esse requisito, o RDS usará o grupo de sub-redes de banco de dados existente. Por padrão, essa opção está definida como Automatic setup (Configuração automática). Quando você escolhe **Automatic setup** (Configuração automática) e não há nenhum grupo de sub-redes de banco de dados que atenda a esse requisito, ocorre a ação a seguir. O RDS usa três sub-redes privadas disponíveis em três zonas de disponibilidade, das quais uma é a mesma da instância do EC2. Se não houver uma sub-rede privada disponível em uma zona de disponibilidade, o RDS criará uma sub-rede privada na zona de disponibilidade. O RDS cria o grupo de sub-redes de banco de dados.Quando houver uma sub-rede privada disponível, o RDS usará a tabela de rotas associada a ela e adicionará todas as sub-redes que criar a essa tabela de rotas. Quando não houver nenhuma sub-rede privada disponível, o RDS criará uma tabela de rotas sem acesso ao gateway da Internet e adicionará as sub-redes que criar à tabela de rotas.O RDS também permite que você use grupos de sub-redes de banco de dados existentes. Selecione **Choose existing** (Selecionar existente) se quiser usar um grupo de sub-redes de banco de dados existente de sua escolha. | 
|  **Acesso público**  |  O RDS escolhe **No** (Não) para que o cluster de banco de dados não fique publicamente acessível. Por motivos de segurança, é uma prática recomendada manter o banco de dados privado e garantir que ele não possa ser acessado pela Internet.  | 
|  **VPC security group (firewall) [Grupo de segurança da VPC (firewall)**  |  O RDS cria um grupo de segurança associado ao cluster de banco de dados. O grupo de segurança é chamado de `rds-ec2-n`, em que `n` é um número. Esse grupo de segurança inclui uma regra de entrada com o grupo de segurança da VPC do EC2 (firewall) como origem. Esse grupo de segurança associado ao cluster de banco de dados permite que a instância do EC2 acesse o cluster de banco de dados. O RDS também cria um grupo de segurança associado à instância de banco de dados. O grupo de segurança é chamado de `ec2-rds-n`, em que `n` é um número. Esse grupo de segurança inclui uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados como origem. Esse grupo de segurança permite que a instância do EC2 envie tráfego ao cluster de banco de dados. Para adicionar outro novo grupo de segurança, escolha **Create new** (Criar novo) e digite o nome do novo grupo de segurança. Para adicionar grupos de segurança existentes, escolha **Choose existing** (Escolher existente) e selecione os grupos de segurança que deseja adicionar.  | 
|  **Zona de disponibilidade**  |  O RDS escolhe a zona de disponibilidade da instância do EC2 para uma instância de banco de dados na implantação do cluster de banco de dados multi-AZ. O RDS escolhe aleatoriamente uma zona de disponibilidade diferente para as duas outras instâncias de banco de dados. A instância de banco de dados gravadora é criada na mesma zona de disponibilidade que a instância do EC2. Existe a possibilidade de custos cruzados da zona de disponibilidade se ocorrer um failover e a instância de banco de dados gravadora estiver em uma zona de disponibilidade diferente.  | 

Para ter mais informações sobre essas configurações, consulte [Configurações para criar clusters de banco de dados multi-AZ](#create-multi-az-db-cluster-settings).

Se você alterar essas configurações após a criação do cluster de banco de dados, as alterações poderão afetar a conexão entre a instância do EC2 e o cluster de banco de dados.

#### Configurar a rede manualmente
<a name="create-multi-az-db-cluster-prerequisites-VPC-manual"></a>

Para se conectar ao cluster de banco de dados usando recursos que não sejam instâncias do EC2 na mesma VPC, configure as conexões de rede manualmente. Se você utilizar o Console de gerenciamento da AWS para criar o cluster de banco de dados multi-AZ, poderá fazer o Amazon RDS criar automaticamente uma VPC para você. Como alternativa, você pode usar a VPC existente ou criar uma nova VPC para seu cluster de banco de dados multi-AZ. A VPC deve ter pelo menos uma sub-rede em pelo menos três das zonas de disponibilidade para você usá-la com um cluster de banco de dados multi-AZ. Para obter informações sobre as VPCs, consulte [Amazon VPC e Amazon RDS](USER_VPC.md).

Se você não tiver uma VPC padrão ou não tiver criado uma VPC e não planeja utilizar o console, faça o seguinte:
+ Crie uma VPC com pelo menos uma sub-rede em pelo menos três das zonas de disponibilidade na região da AWS em que deseja implantar o cluster de banco de dados. Para ter mais informações, consulte [Trabalhar com uma instância de banco de dados em uma VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md#Overview.RDSVPC.Create).
+ Especifique um grupo de segurança da VPC que autorize conexões ao seu cluster de banco de dados. Para obter mais informações, consulte [Fornecer acesso à instância de banco de dados na VPC criando um grupo de segurança](CHAP_SettingUp.md#CHAP_SettingUp.SecurityGroup) e [Controlar acesso com grupos de segurança](Overview.RDSSecurityGroups.md).
+ Especifique um grupo de sub-rede de banco de dados do RDS que defina pelo menos três sub-redes na VPC as quais possam ser usadas pelo cluster de banco de dados multi-AZ. Para ter mais informações, consulte [Trabalhar com grupos de sub-redes de banco de dados](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.Subnets).

Para obter informações sobre as limitações aplicadas aos clusters de banco de dados multi-AZ, consulte [Limitações de clusters de banco de dados multi-AZ do Amazon RDS](multi-az-db-clusters-concepts.Limitations.md).

Se você quiser se conectar a um recurso que não esteja na mesma VPC do cluster de banco de dados multi-AZ, veja os cenários apropriados em [Cenários para acessar uma instância de banco de dados em uma VPC](USER_VPC.Scenarios.md).

### Pré-requisitos adicionais
<a name="create-multi-az-db-cluster-prerequisites-additional"></a>

Antes de criar o cluster de banco de dados multi-AZ, considere os seguintes pré-requisitos adicionais:
+ Para personalizar os parâmetros de configuração do cluster de banco de dados, especifique um grupo de parâmetros do cluster de banco de dados com as configurações de parâmetro necessárias. Para obter informações sobre como criar ou modificar um grupo de parâmetros de cluster de banco de dados, consulte [Grupos de parâmetros para clusters de banco de dados multi-AZ](multi-az-db-clusters-concepts.md#multi-az-db-clusters-concepts-parameter-groups).
+ Determine o número de porta de TCP/IP a ser especificado para seu cluster de banco de dados. Em algumas empresas, firewalls bloqueiam conexões com as portas padrão. Se o firewall da sua empresa bloquear a porta padrão, escolha outra porta para o cluster de banco de dados. Todas as instâncias de banco de dados em um cluster de banco de dados utilizam a mesma porta.
+ Se a versão principal do mecanismo do banco de dados atingir a data de fim do suporte padrão do RDS, você deverá usar a opção da CLI do Suporte estendido ou o parâmetro da API do RDS. Consulte mais informações em “RDS Extended Support” no [Configurações para criar clusters de banco de dados multi-AZ](#create-multi-az-db-cluster-settings).

## Criar um cluster de banco de dados
<a name="create-multi-az-db-cluster-creating"></a>

Você pode criar um cluster de banco de dados multi-AZ usando o Console de gerenciamento da AWS, a AWS CLI ou a API do RDS.

### Console
<a name="create-multi-az-db-cluster-creating-console"></a>

É possível criar um cluster de banco de dados multi-AZ escolhendo **Multi-AZ DB cluster** (Cluster de banco de dados multi-AZ), na seção **Availability and durability** (Disponibilidade e durabilidade).

**Para criar um cluster de banco de dados multi-AZ utilizando o console**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No canto superior direito do Console de gerenciamento da AWS, escolha a Região da AWS em que você deseja criar o cluster de banco de dados.

   Para obter informações sobre as Regiões da AWS compatíveis com clusters de banco de dados multi-AZ, consulte [Limitações de clusters de banco de dados multi-AZ do Amazon RDS](multi-az-db-clusters-concepts.Limitations.md).

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

1. Selecione **Criar banco de dados**.

   Para criar um cluster de banco de dados multi-AZ, certifique-se de que a opção **Standard Create** (Criação padrão) esteja selecionada e não **Easy Create** (Criação fácil).

1. Em **Engine type** (Tipo de mecanismo), escolha **MySQL** ou **PostgreSQL**.

1. Em **Version** (Versão), escolha a versão do mecanismo de banco de dados.

   Para obter informações sobre as versões do mecanismo de banco de dados compatíveis com clusters de banco de dados multi-AZ, consulte [Limitações de clusters de banco de dados multi-AZ do Amazon RDS](multi-az-db-clusters-concepts.Limitations.md).

1. Em **Templates**, escolha o template apropriado para a sua implantação.

1. Em **Availability and durability** (Disponibilidade e durabilidade), escolha **Multi-AZ DB cluster** (Cluster de banco de dados multi-AZ).  
![\[Opção de cluster de banco de dados multi-AZ\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/multi-az-db-cluster-create.png)

1. Em **Identificador do cluster de banco de dados** (DB cluster identifier), insira o identificador do cluster de banco de dados.

1. Em **Master username** (Nome de usuário primário), insira seu nome de usuário primário ou mantenha a configuração padrão.

1. Insira sua senha primária:

   1. Na seção **Settings** (Configurações), abra **Credential Settings** (Configurações de credencial).

   1. Se quiser especificar uma senha, desmarque a caixa **Auto generate a password** (Gerar uma senha automaticamente) se ela estiver marcada.

   1. (Opcional) Altere o valor **Master username** (Nome de usuário primário).

   1. Insira a mesma senha em **Master password** (Senha primária) e **Confirm password** (Confirmar senha).

1. Em **Classe de instância do banco de dados**, selecione a classe da instância de banco de dados. Para obter uma lista de classes de instâncias de banco de dados compatíveis, consulte [Disponibilidade de classe de instância para clusters de banco de dados multi-AZ](multi-az-db-clusters-concepts.md#multi-az-db-clusters-concepts.InstanceAvailability).

1. (Opcional) Configure uma conexão com um recurso de computação para esse cluster de banco de dados.

   Você pode configurar a conectividade entre uma instância do Amazon EC2 e o novo cluster de banco de dados durante a criação do cluster de banco de dados. Para obter mais informações, consulte [Configurar a conectividade automática de rede com uma instância do EC2](#create-multi-az-db-cluster-prerequisites-VPC-automatic).

1. Na seção **Conectividade** em **Grupo de segurança da VPC (firewall)**, se você selecionar **Criar**, um grupo de segurança da VPC será criado com uma regra de entrada que permite que o endereço IP do computador local acesse o banco de dados. 

1. Nas seções restantes, especifique suas configurações de cluster de banco de dados. Para obter informações sobre cada configuração, consulte [Configurações para criar clusters de banco de dados multi-AZ](#create-multi-az-db-cluster-settings).

1. Escolha **Create database (Criar banco de dados)**. 

   Se você optar por usar uma senha gerada automaticamente, o botão **View credential details** (Visualizar detalhes da credencial) será exibido na página **Databases** (Bancos de dados).

   Para visualizar o nome do usuário principal e a senha do cluster de banco de dados, escolha **Visualizar detalhes da credencial**.

   Para se conectar ao cluster de banco de dados como o usuário primário, use o nome de usuário e a senha exibidos.
**Importante**  
Não é possível visualizar a senha do usuário mestre novamente.

1. Para **Databases** (Bancos de dados), escolha o nome do novo cluster de banco de dados.

No console do RDS, os detalhes do novo cluster de banco de dados são exibidos. O cluster de banco de dados terá um status de **Creating** (Criando) até o término da criação, quando ele estiver pronto para uso. Quando o status mudar para **Available** (Disponível), será possível conectar-se ao cluster de banco de dados. Dependendo da classe do cluster de banco de dados e do armazenamento alocado, pode levar alguns minutos até que o novo cluster de banco de dados fique disponível. 

### AWS CLI
<a name="create-multi-az-db-cluster-creating-cli"></a>

Antes de criar um cluster de banco de dados multi-AZ utilizando a AWS CLI, atenda aos pré-requisitos necessários. Isso inclui a criação de uma VPC e um grupo de sub-redes de banco de dados do RDS. Para ter mais informações, consulte [Pré-requisitos do cluster de banco de dados](#create-multi-az-db-cluster-prerequisites).

Para criar um cluster de banco de dados multi-AZ utilizando a AWS CLI, chame o comando [create-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html). Especifique `--db-cluster-identifier`. Para a opção `--engine`, especifique `mysql` ou `postgres`.

Para ter mais informações sobre cada opção, consulte [Configurações para criar clusters de banco de dados multi-AZ](#create-multi-az-db-cluster-settings).

Para obter informações sobre Regiões da AWS, mecanismos de banco de dados e as respectivas versões que são compatíveis com clusters de banco de dados multi-AZ, consulte [Limitações de clusters de banco de dados multi-AZ do Amazon RDS](multi-az-db-clusters-concepts.Limitations.md).

O comando `create-db-cluster` cria a instância de banco de dados de gravador para o seu cluster de banco de dados e duas instâncias de banco de dados de leitor. Cada instância de banco de dados está em uma zona de disponibilidade diferente.

Por exemplo, o comando a seguir cria um cluster de banco de dados multi-AZ do MySQL 8.0 chamado `mysql-multi-az-db-cluster`.

**Example**  
Para Linux, macOS ou Unix:  

```
 1. aws rds create-db-cluster \
 2.    --db-cluster-identifier mysql-multi-az-db-cluster \
 3.    --engine mysql \
 4.    --engine-version 8.0.32  \
 5.    --master-username admin \
 6.    --manage-master-user-password  \
 7.    --port 3306 \
 8.    --backup-retention-period 1  \
 9.    --db-subnet-group-name default \
10.    --allocated-storage 4000 \
11.    --storage-type io1 \
12.    --iops 10000 \
13.    --db-cluster-instance-class db.m5d.xlarge
```
Para Windows:  

```
 1. aws rds create-db-cluster ^
 2.    --db-cluster-identifier mysql-multi-az-db-cluster ^
 3.    --engine mysql ^
 4.    --engine-version 8.0.32 ^
 5.    --manage-master-user-password ^
 6.    --master-username admin ^
 7.    --port 3306 ^
 8.    --backup-retention-period 1 ^
 9.    --db-subnet-group-name default ^
10.    --allocated-storage 4000 ^
11.    --storage-type io1 ^
12.    --iops 10000 ^
13.    --db-cluster-instance-class db.m5d.xlarge
```

O comando a seguir cria um cluster de banco de dados multi-AZ do PostgreSQL 13.4 chamado `postgresql-multi-az-db-cluster`.

**Example**  
Para Linux, macOS ou Unix:  

```
 1. aws rds create-db-cluster \
 2.    --db-cluster-identifier postgresql-multi-az-db-cluster \
 3.    --engine postgres \
 4.    --engine-version 13.4 \
 5.    --manage-master-user-password \
 6.    --master-username postgres \
 7.    --port 5432 \
 8.    --backup-retention-period 1  \
 9.    --db-subnet-group-name default \
10.    --allocated-storage 4000 \
11.    --storage-type io1 \
12.    --iops 10000 \
13.    --db-cluster-instance-class db.m5d.xlarge
```
Para Windows:  

```
 1. aws rds create-db-cluster ^
 2.    --db-cluster-identifier postgresql-multi-az-db-cluster ^
 3.    --engine postgres ^
 4.    --engine-version 13.4 ^
 5.    --manage-master-user-password ^
 6.    --master-username postgres ^
 7.    --port 5432 ^
 8.    --backup-retention-period 1 ^
 9.    --db-subnet-group-name default ^
10.    --allocated-storage 4000 ^
11.    --storage-type io1 ^
12.    --iops 10000 ^
13.    --db-cluster-instance-class db.m5d.xlarge
```

### API do RDS
<a name="create-multi-az-db-cluster-creating-api"></a>

Antes de criar um cluster de banco de dados multi-AZ usando a API do RDS, certifique-se de atender aos pré-requisitos necessários, como criar uma VPC e um grupo de sub-redes de banco de dados do RDS. Para ter mais informações, consulte [Pré-requisitos do cluster de banco de dados](#create-multi-az-db-cluster-prerequisites).

Para criar um cluster de banco de dados multi-AZ usando a API do RDS, chame a operação [ CreateDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html). Especifique `DBClusterIdentifier`. Para o parâmetro `Engine`, especifique `mysql` ou `postgresql`.

Para ter mais informações sobre cada opção, consulte [Configurações para criar clusters de banco de dados multi-AZ](#create-multi-az-db-cluster-settings).

A operação `CreateDBCluster` cria a instância de banco de dados de gravador para o seu cluster de banco de dados e duas instâncias de banco de dados de leitor. Cada instância de banco de dados está em uma zona de disponibilidade diferente.

## Configurações para criar clusters de banco de dados multi-AZ
<a name="create-multi-az-db-cluster-settings"></a>

Para obter detalhes sobre as configurações que você escolhe ao criar um cluster de banco de dados multi-AZ, consulte a tabela a seguir. Para ter mais informações sobre as opções da AWS CLI, consulte [create-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html). Para ter mais informações sobre os parâmetros da API do RDS, consulte [CreateDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html).


| Configuração do console | Descrição da configuração | Opção da CLI e parâmetro da API do RDS | 
| --- | --- | --- | 
|  **Armazenamento alocado**  |  O valor de armazenamento a ser alocado para cada instância de banco de dados no seu cluster de banco de dados (em gibibyte). Para ter mais informações, consulte [Armazenamento de instâncias de banco de dados do Amazon RDS](CHAP_Storage.md).   |  **Opção da CLI:** `--allocated-storage` **Parâmetro da API:**  `AllocatedStorage`  | 
| Atualização da versão secundária automática |  Selecione **Enable auto minor version upgrade** (Habilitar atualização automática da versão secundária) para que o cluster de banco de dados receba atualizações automáticas da versão do mecanismo de banco de dados secundárias preferidas quando elas forem disponibilizadas. O Amazon RDS executa atualizações automáticas de versões secundárias na janela de manutenção.  |  **Opção da CLI:** `--auto-minor-version-upgrade` `--no-auto-minor-version-upgrade` **Parâmetro da API:** `AutoMinorVersionUpgrade`  | 
|  Período de retenção de backup  |  O número de dias que você deseja que os backups automáticos do seu cluster de banco de dados fiquem retidos. Para um cluster de banco de dados multi-AZ, esse valor deve ser definido como **1** ou mais. Para ter mais informações, consulte [Introdução aos backups](USER_WorkingWithAutomatedBackups.md).  |  **Opção da CLI:** `--backup-retention-period` **Parâmetro da API:** `BackupRetentionPeriod`  | 
|  Janela de backup |  O período durante o qual o Amazon RDS faz um backup automático do seu cluster de banco de dados. A menos que você tenha um horário específico no qual deseja que o backup do banco de dados seja feito, utilize o padrão **No Preference** (Sem preferência). Para ter mais informações, consulte [Introdução aos backups](USER_WorkingWithAutomatedBackups.md).  |  **Opção da CLI:** `--preferred-backup-window` **Parâmetro da API:** `PreferredBackupWindow`  | 
|  **Autoridade certificadora**  |  A autoridade de certificação (CA) para o certificado do servidor usado pelo cluster de banco de dados. Para obter mais informações, consulte [Usar SSL/TLS para criptografar uma conexão com uma instância ou um cluster de banco de dados](UsingWithRDS.SSL.md).   |  **Opção da CLI:** `--ca-certificate-identifier` **Parâmetro da API do RDS:** `CACertificateIdentifier`  | 
|  Copiar tags para snapshots  |  Essa opção copia qualquer etiqueta do cluster de banco de dados para um snapshot do banco de dados quando você cria um snapshot. Para ter mais informações, consulte [Marcar recursos do do Amazon RDS](USER_Tagging.md).   |  **Opção da CLI:** `-copy-tags-to-snapshot` `-no-copy-tags-to-snapshot` **Parâmetro da API do RDS:** `CopyTagsToSnapshot`  | 
|  Autenticação de banco de dados  |  A opção de autenticação de banco de dados que você deseja usar. Selecione **Password authentication (Autenticação de senha)** para autenticar usuários de banco de dados somente com senhas de banco de dados. Selecione **Password and IAM DB authentication** (Senha e autenticação de banco de dados do IAM) para autenticar usuários de banco de dados com senhas de banco de dados e credenciais de usuário por meio de perfis e usuários. Para obter mais informações, consulte [Autenticação do banco de dados do IAMpara MariaDB, MySQL e PostgreSQL](UsingWithRDS.IAMDBAuth.md).  |  **Opção da CLI:** `--enable-iam-database-authentication` `--no-enable-iam-database-authentication` **Parâmetro da API do RDS:** `EnableIAMDatabaseAuthentication`  | 
|  Porta de banco de dados  |  A porta pela qual você deseja acessar o cluster de banco de dados. A porta padrão é exibida. A porta não pode ser alterada após a criação do cluster de banco de dados. Em algumas empresas, firewalls bloqueiam conexões com as portas padrão. Se o firewall da sua empresa bloquear a porta padrão, escolha outra porta para o seu cluster de banco de dados.  |  **Opção da CLI:** `--port` **Parâmetro da API do RDS:** `Port`  | 
|  Identificador do cluster de banco de dados  |  O nome do seu cluster de banco de dados. Forneça nomes para os seus clusters de banco de dados da mesma forma que você fornece nomes para os seus servidores on-premises. O identificador do cluster de banco de dados pode conter até 63 caracteres alfanuméricos e deve ser exclusivo para a conta na região da AWS que você escolher.  |  **Opção da CLI:** `--db-cluster-identifier` **Parâmetro da API do RDS:** `DBClusterIdentifier`  | 
|  Classe da instância de banco de dados  |  A capacidade de computação e memória de cada instância de banco de dados no cluster de banco de dados multi-AZ, por exemplo `db.m5d.xlarge`.  Se possível, escolha uma classe de instância de banco de dados grande o suficiente para um conjunto de trabalho de consulta típico pode ser sustentado na memória. Quando os conjuntos de trabalho são mantidos na memória o sistema pode evitar a gravação em disco, o que aprimora a performance. Para obter uma lista de classes de instâncias de banco de dados compatíveis, consulte [Disponibilidade de classe de instância para clusters de banco de dados multi-AZ](multi-az-db-clusters-concepts.md#multi-az-db-clusters-concepts.InstanceAvailability).  |  **Opção da CLI:** `--db-cluster-instance-class` **Parâmetro da API do RDS:** `DBClusterInstanceClass`  | 
|  **Grupo de parâmetros do cluster de banco de dados**  |  O parameter group do cluster de banco de dados que você deseja associar ao cluster de banco de dados.  Para ter mais informações, consulte [Grupos de parâmetros para clusters de banco de dados multi-AZ](multi-az-db-clusters-concepts.md#multi-az-db-clusters-concepts-parameter-groups).   |  **Opção da CLI:** `--db-cluster-parameter-group-name` **Parâmetro da API do RDS:** `DBClusterParameterGroupName`  | 
|  DB engine version (Versão do mecanismo de banco de dados  |  A versão do mecanismo de banco de dados que você deseja usar.  |  **Opção da CLI:** `--engine-version` **Parâmetro da API do RDS:** `EngineVersion`  | 
|  Grupo de parâmetros do cluster de banco de dados  |  O grupo de parâmetros da instância de banco de dados que deve ser associado ao cluster de banco de dados. Para obter mais informações, consulte [Grupos de parâmetros para clusters de banco de dados multi-AZ](multi-az-db-clusters-concepts.md#multi-az-db-clusters-concepts-parameter-groups).  |  **Opção da CLI:** `--db-cluster-parameter-group-name` **Parâmetro da API do RDS:** `DBClusterParameterGroupName`  | 
|  Grupo de sub-redes do banco de dados  | O grupo de sub-redes de banco de dados que você deseja usar para o cluster de banco de dados. Selecione Choose existing (Selecionar existente) para usar um grupo de sub-redes de banco de dados existente. Depois, escolha o grupo de sub-redes necessário na lista suspensa Existing DB subnet groups (Grupos de sub-redes de banco de dados existentes).Escolha **Automatic setup** (Configuração automática) para permitir que o RDS selecione um grupo de sub-redes de banco de dados compatível. Se não existir nenhum, o RDS criará um grupo de sub-redes para o cluster.Para ter mais informações, consulte [Trabalhar com grupos de sub-redes de banco de dados](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.Subnets). |  **Opção da CLI:** `--db-subnet-group-name` **Parâmetro da API do RDS:** `DBSubnetGroupName`  | 
| Deletion protection (Proteção contra exclusão |  Selecione **Enable deletion protection (Habilitar proteção contra exclusão)** para impedir que seu cluster de banco de dados seja excluído. Por padrão, se você criar um cluster de banco de dados de produção com o console, a proteção contra exclusão será ativada. Para ter mais informações, consulte [Excluir uma instância de banco de dados](USER_DeleteInstance.md).  |  **Opção da CLI:** `--deletion-protection` `--no-deletion-protection` **Parâmetro da API do RDS:** `DeletionProtection`  | 
|  Criptografia  |  **Enable Encryption** (Habilitar criptografia) para habilitar a criptografia em repouso nesse cluster de banco de dados. A criptografia é ativada por padrão para clusters de banco de dados multi-AZ. Para ter mais informações, consulte [Criptografar recursos do Amazon RDS](Overview.Encryption.md).  |  **Opções da CLI:** `--kms-key-id` `--storage-encrypted` `--no-storage-encrypted` **Parâmetros da API do RDS:** `KmsKeyId` `StorageEncrypted`  | 
|  Monitoramento avançado  |  **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 ter mais informações, consulte [Monitorar métricas do SO com o monitoramento avançado](USER_Monitoring.OS.md).  |  **Opções da CLI:** `--monitoring-interval` `--monitoring-role-arn` **Parâmetros da API do RDS:** `MonitoringInterval` `MonitoringRoleArn`  | 
|  Nome do banco de dados inicial  |  O nome do banco de dados no cluster de banco de dados. Se você não fornecer um nome, o Amazon RDS não criará um banco de dados no cluster de banco de dados para MySQL. No entanto, ele cria um banco de dados no cluster de banco de dados para o PostgreSQL. O nome não pode ser uma palavra reservada pelo mecanismo de banco de dados. Ele tem outras restrições, dependendo do mecanismo de banco de dados. MySQL: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html) PostgreSQL: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html)  |  **Opção da CLI:** `--database-name` **Parâmetro da API do RDS:** `DatabaseName`  | 
|  **Exportações de log**  |  Os tipos de arquivos de log de bancos de dados a serem publicados no Amazon CloudWatch Logs.  Para ter mais informações, consulte [Publicação de logs de banco de dados no Amazon CloudWatch Logs](USER_LogAccess.Procedural.UploadtoCloudWatch.md).   |  **Opção da CLI:** `-enable-cloudwatch-logs-exports` **Parâmetro da API do RDS:** `EnableCloudwatchLogsExports`  | 
|  Janela de manutenção  |  A janela de 30 minutos na qual as modificações pendentes do seu cluster de banco de dados serão aplicadas. Se o período não for relevante, selecione **No Preference** (Sem preferência). Para ter mais informações, consulte [Janela de manutenção do Amazon RDS](USER_UpgradeDBInstance.Maintenance.md#Concepts.DBMaintenance).  |  **Opção da CLI:** `--preferred-maintenance-window` **Parâmetro da API do RDS:** `PreferredMaintenanceWindow`  | 
|  Gerenciar credenciais principais no AWS Secrets Manager  |  Selecione **Gerenciar credenciais principais no AWS Secrets Manager** para gerenciar a senha do usuário principal em um segredo no Secrets Manager. Opcionalmente, selecione uma chave do KMS a ser usada para proteger o segredo. Escolha entre uma das chaves do KMS da sua conta ou insira a chave de uma conta distinta. Para ter mais informações, consulte [Gerenciamento de senhas com Amazon RDS e AWS Secrets Manager](rds-secrets-manager.md).  |  **Opção da CLI:** `--manage-master-user-password \| --no-manage-master-user-password` `--master-user-secret-kms-key-id` **Parâmetro da API do RDS:** `ManageMasterUserPassword` `MasterUserSecretKmsKeyId`  | 
|  Senha principal  |  A senha da conta de usuário principal.  |  **Opção da CLI:** `--master-user-password` **Parâmetro da API do RDS:** `MasterUserPassword`  | 
|  Nome do usuário principal  |  O nome que você usa como o nome de usuário primário para fazer login no cluster de banco de dados com todos os privilégios do banco de dados. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html) Não é possível alterar o nome de usuário principal depois que o cluster de banco de dados multi-AZ é criado. Para ter mais informações sobre os privilégios concedidos ao usuário primário, consulte [Privilégios da conta de usuário mestre](UsingWithRDS.MasterAccounts.md).  |  **Opção da CLI:** `--master-username` **Parâmetro da API do RDS:** `MasterUsername`  | 
| Performance Insights |  Selecione **Enable Performance Insights (Habilitar Performance Insights)** para monitorar a carga d cluster de banco de dados, para que você possa analisar e solucionar problemas relacionados à performance do banco de dados. Escolha um período de retenção para determinar a quantidade de histórico de dados do Performance Insights que deve ser mantida. A configuração de retenção é **Padrão (7 dias)**. Para reter seus dados de performance por mais tempo, especifique entre 1 e 24 meses. Para obter mais informações sobre os períodos de retenção, consulte [Preços e retenção de dados para o Performance Insights](USER_PerfInsights.Overview.cost.md). Escolha uma chave do KMS a ser usada para proteger a chave usada para criptografar esse volume de banco de dados. Escolha entre uma das chaves do KMS da sua conta ou insira a chave de uma conta distinta. Para obter mais informações, consulte [Monitorar a carga de banco de dados com o Performance Insights no Amazon RDS](USER_PerfInsights.md).  |  **Opções da CLI:** `--enable-performance-insights` `--no-enable-performance-insights` `--performance-insights-retention-period` `--performance-insights-kms-key-id` **Parâmetros da API do RDS:** `EnablePerformanceInsights` `PerformanceInsightsRetentionPeriod` `PerformanceInsightsKMSKeyId`  | 
|  Provisioned IOPS (IOPS provisionadas  |  A quantidade de IOPS (operações de entrada/saída por segundo) provisionadas a serem inicialmente alocadas ao cluster de banco de dados.  |  **Opção da CLI:** `--iops` **Parâmetro da API do RDS:** `Iops`  | 
|  Acesso público  |  **Publicly accessible** (Acessível publicamente) para fornecer ao cluster de banco de dados um endereço IP público, o que significa que ele é acessível fora da VPC. Para ser acessível publicamente, o cluster de banco de dados também deve estar em uma sub-rede pública na VPC. **Not publicly accessible** (Não acessível publicamente) para tornar o cluster de banco de dados acessível somente de dentro da VPC. Para ter mais informações, consulte [Ocultar uma instância de banco de dados em uma VPC da Internet](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.Hiding). Para se conectar a um cluster de banco de dados de fora de sua VPC, o cluster de banco de dados deve ser acessível publicamente. Além disso, deve ser concedido acesso utilizando as regras de entrada do grupo de segurança do cluster de banco de dados, e outros requisitos devem ser atendidos. Para ter mais informações, consulte [Não é possível conectar-se à instância de banco de dados do Amazon RDS](CHAP_Troubleshooting.md#CHAP_Troubleshooting.Connecting).  Se o cluster de banco de dados não estiver acessível publicamente, será possível usar uma conexão AWS Site-to-Site VPN ou uma conexão do Direct Connect para acessá-la de uma rede privada. Para ter mais informações, consulte [Privacidade do tráfego entre redes](inter-network-traffic-privacy.md).  |  **Opção da CLI:** `--publicly-accessible` `--no-publicly-accessible` **Parâmetro da API do RDS:** `PubliclyAccessible`  | 
| Suporte estendido do RDS | Selecione **Habilitar Suporte estendido do RDS** para permitir que as versões principais do mecanismo compatíveis continuem funcionando após a data de término do suporte padrão do RDS.  Quando você cria um cluster de banco de dados, o Amazon RDS usa como padrão o Suporte estendido do RDS. Para evitar a criação de um cluster de banco de dados após a data de fim do suporte padrão do RDS e para evitar cobranças pelo Suporte estendido do RDS, desabilite essa configuração. Os clusters de banco de dados existentes não incorrerão em cobranças até a data de início dos preços do Suporte estendido do RDS. Para obter mais informações, consulte [Suporte estendido do Amazon RDS com Amazon RDS](extended-support.md). |  **Opção da CLI:** `--engine-lifecycle-support` **Parâmetro da API do RDS:** `EngineLifecycleSupport`  | 
|  **Storage throughput (Throughput de armazenamento**  |  O valor do throughput de armazenamento do cluster de banco de dados. Essa configuração ficará visível somente se você escolher o SSD de uso geral (gp3) como o tipo de armazenamento. Essa configuração não é configurável e é definida automaticamente com base na IOPS que você especifica. Para obter mais informações, consulte [Armazenamento gp3 (recomendado)](CHAP_Storage.md#gp3-storage).  |  Esse valor é calculado automaticamente e não tem uma opção de CLI.  | 
|  **RDS Proxy**  |  Selecione **Create an RDS Proxy** (Criar um proxy RDS) para criar um proxy para seu cluster de banco de dados. O Amazon RDS cria automaticamente um perfil do IAM e um segredo do Secrets Manager para o proxy.  |  Não disponível ao criar um cluster de banco de dados.  | 
|  Tipo de armazenamento  |  O tipo de armazenamento do seu cluster de banco de dados. Somente os armazenamentos SSD de uso geral (gp3), IOPS provisionadas (io1) e SSD de IOPS provisionadas (io2) são compatíveis. Para obter mais informações, consulte [Tipos de armazenamento do Amazon RDS](CHAP_Storage.md#Concepts.Storage).  |  **Opção da CLI:** `--storage-type` **Parâmetro da API do RDS:** `StorageType`  | 
|  Nuvem privada virtual (VPC)  |  Uma VPC baseada no serviço da Amazon VPC para associar a esse cluster de banco de dados. Para ter mais informações, consulte [Amazon VPC e Amazon RDS](USER_VPC.md).   |  Para a CLI e a API, especifique os IDs do grupo de segurança da VPC.  | 
|  VPC security group (firewall) [Grupo de segurança da VPC (firewall)  |  O grupo de segurança a ser associado ao cluster de banco de dados. Para ter mais informações, consulte [Visão geral dos grupos de segurança de VPC](Overview.RDSSecurityGroups.md#Overview.RDSSecurityGroups.VPCSec).   |  **Opção da CLI:** `--vpc-security-group-ids` **Parâmetro da API do RDS:** `VpcSecurityGroupIds`  | 

## Configurações não aplicáveis ao criar clusters de banco de dados Multi-AZ
<a name="create-multi-az-db-cluster-settings-not-applicable"></a>

As configurações a seguir no comando AWS CLI`create-db-cluster` da e na operação de API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html) do RDS não se aplicam a clusters de banco de dados multi-AZ.

Você também não pode especificar essas configurações para clusters de banco de dados multi-AZ no console.


| Configuração da AWS CLI | Configuração da API do RDS | 
| --- | --- | 
|  `--availability-zones`  |  `AvailabilityZones`  | 
|  `--backtrack-window`  |  `BacktrackWindow`  | 
|  `--character-set-name`  |  `CharacterSetName`  | 
|  `--domain`  |  `Domain`  | 
|  `--domain-iam-role-name`  |  `DomainIAMRoleName`  | 
|  `--enable-global-write-forwarding \| --no-enable-global-write-forwarding`  |  `EnableGlobalWriteForwarding`  | 
|  `--enable-http-endpoint \| --no-enable-http-endpoint`  |  `EnableHttpEndpoint`  | 
|  `--global-cluster-identifier`  |  `GlobalClusterIdentifier`  | 
|  `--option-group-name`  |  `OptionGroupName`  | 
|  `--pre-signed-url`  |  `PreSignedUrl`  | 
|  `--replication-source-identifier`  |  `ReplicationSourceIdentifier`  | 
|  `--scaling-configuration`  |  `ScalingConfiguration`  | 

# Conectar-se a um cluster de banco de dados multi-AZ no Amazon RDS
<a name="multi-az-db-clusters-concepts-connection-management"></a>

 Um cluster de banco de dados multi-AZ tem três instâncias de banco de dados em vez de uma única instância de banco de dados. Cada conexão é processada por uma instância de banco de dados específica. Quando você se conecta a um cluster de banco de dados multi-AZ, o nome de host e a porta especificados apontam para um nome de domínio totalmente qualificado chamado de *endpoint*. O cluster de banco de dados multi-AZ utiliza o mecanismo de endpoint para abstrair essas conexões para que você não precise especificar exatamente a qual instância de banco de dados no cluster de banco de dados se conectar. Por isso, você não precisa codificar todos os nomes de host ou escrever a própria lógica para reorganizar conexões quando algumas instâncias de banco de dados não estão disponíveis. 

O endpoint do gravador conecta-se à instância de banco de dados de gravador do cluster de banco de dados, que oferece suporte a operações de leitura e gravação. O endpoint leitor se conecta a qualquer uma das duas instâncias de banco de dados de leitor, que aceitam apenas operações de leitura.

 Usando endpoints, você pode mapear todas as conexões para a instância de banco de dados apropriada ou o grupo de instâncias de banco de dados com base no seu caso de uso. Por exemplo, para realizar instruções DDL e DML, conecte-se à instância de banco de dados que atua como gravador. Para realizar consultas, você pode se conectar ao endpoint leitor, com o cluster de banco de dados multi-AZ gerenciando automaticamente as conexões entre as instâncias de banco de dados de leitor. Para diagnósticos ou ajustes, conecte-se a um endpoint de instância de banco de dados específico para examinar detalhes sobre uma instância de banco de dados específica.

Para saber mais sobre como se conectar à sua instância de banco de dados, consulte [Conectar a uma instância de banco de dados do Amazon RDS](CHAP_CommonTasks.Connect.md).

Consulte mais informações sobre como se conectar a clusters de banco de dados nos tópicos a seguir.

**Tópicos**
+ [Endpoints do cluster](#multi-az-db-clusters-concepts-connection-management-endpoints-cluster)
+ [Endpoints de leitor](#multi-az-db-clusters-concepts-connection-management-endpoints-reader)
+ [Endpoints da instância](#multi-az-db-clusters-concepts-connection-management-endpoints-instance)
+ [Conexões de alta disponibilidade](#multi-az-db-clusters-concepts-connection-management-endpoints-ha)
+ [Conectar-se a clusters de banco de dados multi-AZ com os drivers da AWS para o Amazon RDSConectar-se a clusters de banco de dados multi-AZ com o driver JDBC da Amazon Web Services (AWS)](maz-cluster-connect-drivers.md)

## Tipos de endpoints de cluster de banco de dados multi-AZ
<a name="multi-az-db-clusters-concepts-connection-management-endpoint-types"></a>

 Um endpoint é representado por um identificador exclusivo que contém um endereço de host. Os tipos de endpoints a seguir estão disponíveis em um cluster de banco de dados multi-AZ: 

**Endpoint do cluster**  
 Um *endpoint de cluster* (ou *endpoint de gravador*) de um cluster de banco de dados multi-AZ se conecta à instância de banco de dados de gravador atual desse cluster de banco de dados. Esse endpoint é o único capaz de realizar operações de gravação, como instruções DDL e DML. Esse endpoint também pode realizar operações de leitura.   
 Cada cluster de banco de dados multi-AZ tem um único endpoint de cluster e uma única instância de banco de dados de gravador.   
 Use o endpoint cluster em todas as operações de gravação no cluster de banco de dados, inclusive inserções, atualizações, exclusões e alterações DDL. Você também pode usar o endpoint de cluster para operações de leitura, como consultas.   
 Se a instância de banco de dados de gravador atual de um cluster de banco de dados falhar, o cluster de banco de dados multi-AZ fará failover automático para uma nova instância de banco de dados de gravador. Durante um failover, o cluster de banco de dados continua atendendo a solicitações de conexão para o endpoint de cluster pela nova instância de banco de dados de gravador, com interrupção mínima de serviço.   
 O exemplo a seguir ilustra um endpoint de cluster para um cluster de banco de dados multi-AZ.   
 `mydbcluster.cluster-123456789012.us-east-1.rds.amazonaws.com`   
Consulte mais informações sobre como se conectar endpoints de cluster em [Endpoints do cluster](#multi-az-db-clusters-concepts-connection-management-endpoints-cluster).

**Endpoint de leitor**  
 Um *endpoint leitor* de um cluster de banco de dados multi-AZ é compatível com balanceamento de carga para conexões somente leitura com o cluster de banco de dados. Use o endpoint do leitor para operações de leitura, como consultas `SELECT`. Ao processar essas instruções nas instâncias de banco de dados de leitor, esse endpoint reduz a sobrecarga na instância de banco de dados de gravador. Ele também ajuda o cluster a escalar a capacidade de processar consultas `SELECT` simultâneas. Cada cluster de banco de dados multi-AZ tem um único endpoint de leitor.   
 O endpoint leitor envia cada solicitação de conexão para uma das instâncias de banco de dados de leitor. Quando você usa o endpoint de leitor para uma sessão, apenas é possível executar instruções somente leitura, como `SELECT`, nessa sessão.   
 O exemplo a seguir ilustra um endpoint de leitor para um cluster de banco de dados multi-AZ. A intenção somente leitura de um endpoint leitor é indicada por `-ro` no nome do endpoint do cluster.   
 `mydbcluster.cluster-ro-123456789012.us-east-1.rds.amazonaws.com`   
Consulte mais informações sobre como se conectar a endpoints de leitor em [Endpoints de leitor](#multi-az-db-clusters-concepts-connection-management-endpoints-reader).

**Endpoint da instância**  
 Um *endpoint de instância* conecta-se a uma instância de banco de dados específica dentro de um cluster de banco de dados multi-AZ. Cada instância de banco de dados em um cluster de banco de dados, tem o próprio endpoint de instância exclusivo. Portanto, há um endpoint de instância para a instância de banco de dados de gravador atual do cluster de banco de dados e há um endpoint de instância para cada uma das instâncias de banco de dados de leitor no cluster de banco de dados.   
 O endpoint de instância oferece controle direto sobre as conexões com o cluster de banco de dados. Esse controle pode ajudar a resolver cenários nos quais talvez não seja apropriado utilizar o endpoint de cluster ou o endpoint de leitor. Por exemplo, o aplicativo cliente pode exigir um balanceamento de carga mais refinado com base no tipo de workload. Nesse caso, é possível configurar vários clientes para se conectarem a instâncias de banco de dados diferentes em um cluster de banco de dados com o objetivo de distribuir workloads de leitura.   
 O exemplo a seguir ilustra um endpoint de instância para uma instância de banco de dados em um cluster de banco de dados multi-AZ.   
 `mydbinstance.123456789012.us-east-1.rds.amazonaws.com`   
Consulte mais informações sobre como se conectar a endpoints de instância em [Endpoints da instância](#multi-az-db-clusters-concepts-connection-management-endpoints-instance).

## Visualizar endpoints
<a name="multi-az-db-clusters-concepts-connection-management-viewing"></a>

Use o console, a AWS CLI ou a API do Amazon RDS para visualizar os endpoints de cluster, de leitor e da instância.

------
#### [ Console ]

 No Console de gerenciamento da AWS, você vê o endpoint de cluster e o endpoint de leitor na página de detalhes de cada cluster de banco de dados multi-AZ. Você vê o endpoint de instância na página de detalhes de cada instância de banco de dados. 

------
#### [ AWS CLI ]

Com a AWS CLI, você vê os endpoints de gravador e leitor na saída do comando [describe-db-clusters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html). Por exemplo, o comando a seguir mostra os atributos de endpoint para todos os clusters na região atual da AWS. 

```
aws rds describe-db-cluster-endpoints
```

------
#### [ Amazon RDS API ]

 Com a API do Amazon RDS, você recupera os endpoints chamando a ação [DescribeDBClusterEndpoints](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusterEndpoints.html). Essa saída também mostra endpoints de cluster de bancos de dados Amazon Aurora, se houver.

------

## Endpoints do cluster
<a name="multi-az-db-clusters-concepts-connection-management-endpoints-cluster"></a>

Cada cluster de banco de dados multi-AZ tem um único endpoint de cluster integrado, cujo nome e outros atributos são gerenciados pelo Amazon RDS. Não crie, exclua nem modifique esse tipo de endpoint. 

Use o endpoint de cluster ao administrar seu cluster de banco de dados, realizar operações Extract, Transform, Load (ETL – Extração, transformação, carregamento) ou desenvolver e testar aplicações. O endpoint de cluster conecta-se à instância de banco de dados de gravador do cluster. A instância de banco de dados de gravador é a única em que você cria tabelas e índices, executa instruções `INSERT` e realiza outras operações DDL e DML. 

O endereço IP físico apontado pelo endpoint de cluster muda quando o mecanismo de failover promove uma nova instância de banco de dados como a instância de banco de dados de gravador do cluster. Caso você use alguma forma de agrupamento de conexões ou outra multiplexação, prepare-se para enviar ou reduzir a vida útil para todas as informações DNS armazenadas em cache. Isso garante que você não tente estabelecer uma conexão de leitura/gravação com uma instância de banco de dados que fique indisponível ou seja somente leitura após um failover. 

## Endpoints de leitor
<a name="multi-az-db-clusters-concepts-connection-management-endpoints-reader"></a>

Use o endpoint de leitor em conexões somente leitura com o seu cluster de banco de dados multi-AZ. Esse endpoint ajuda o cluster de banco de dados a lidar com uma workload com uso intensivo de consulta. O endpoint leitor é o endpoint fornecido para aplicações que geram relatórios ou fazem outra operações somente leitura sobre o cluster. O endpoint leitor envia as conexões para instâncias de banco de dados de leitor disponíveis em um cluster de banco de dados multi-AZ. 

 Cada cluster multi-AZ tem um único endpoint de leitor integrado, cujo nome e outros atributos são gerenciados pelo Amazon RDS. Não crie, exclua nem modifique esse tipo de endpoint. 

## Endpoints da instância
<a name="multi-az-db-clusters-concepts-connection-management-endpoints-instance"></a>

Cada instância de banco de dados em um cluster de banco de dados multi-AZ tem seu próprio endpoint de instância integrado, cujo nome e outros atributos são gerenciados pelo Amazon RDS. Não crie, exclua nem modifique esse tipo de endpoint. Com um cluster de banco de dados multi-AZ, você normalmente usa os endpoints de gravador e leitor com mais frequência do que os endpoints de instância. 

Nas operações diárias, a principal maneira de usar endpoints de instância é diagnosticar problemas de capacidade ou performance que afetam uma instância de banco de dados específica em um cluster de banco de dados multi-AZ. Conectado a uma instância de banco de dados específica, examine as variáveis de status, as métricas etc. Fazer isso pode ajudar a determinar o que está acontecendo nessa instância de banco de dados diferente do que está acontecendo com outras instâncias de banco de dados no cluster.

## Conexões de alta disponibilidade
<a name="multi-az-db-clusters-concepts-connection-management-endpoints-ha"></a>

Para clusters de banco de dados multi-AZ em que a alta disponibilidade é importante, utilize o endpoint de gravador para conexões de leitura/gravação ou de uso geral e o endpoint de leitor para conexões somente leitura. Os endpoints de leitor e de gravador gerenciam o failover da instância de banco de dados melhor do que os endpoints de instância. Ao contrário dos endpoints de instância, os endpoints de leitor e de gravador alteram automaticamente a qual instância de banco de dados eles se conectam caso uma instância de banco de dados no cluster fique indisponível. 

 Se a instância de banco de dados de gravador de um cluster de banco de dados falhar, o Amazon RDS fará failover automaticamente para uma nova instância de banco de dados de gravador. Ele faz isso promovendo uma instância de banco de dados do leitor para uma nova instância de banco de dados de gravador. Se ocorrer um failover, será possível utilizar o endpoint de gravador para se reconectar à instância de banco de dados de gravador recém-promovida. Ou você pode usar o endpoint de leitor para se reconectar a uma das instâncias de banco de dados de leitor no cluster de banco de dados. Durante um failover, o endpoint de leitor pode direcionar conexões à nova instância de banco de dados de gravador de um cluster de banco de dados por um curto período depois que uma instância de banco de dados de leitor é promovida para a nova instância de banco de dados de gravador. Se você projeta sua própria lógica de aplicação para gerenciar conexões de endpoint de instância, poderá descobrir manual ou programaticamente o conjunto resultante de instâncias de banco de dados disponíveis no cluster de banco de dados. 

# Conectar-se a clusters de banco de dados multi-AZ com os drivers da AWS para o Amazon RDS
<a name="maz-cluster-connect-drivers"></a>

O pacote de drivers da AWS foram projetados para comportar tempos mais rápidos de transição e de failover, além de autenticação com o AWS Secrets Manager, o AWS Identity and Access Management (IAM) e identidades federadas. Os drivers da AWS dependem do monitoramento do status do cluster de banco de dados e do conhecimento da topologia do cluster para determinar o novo gravador. Essa abordagem reduz os tempos de transição e de failover para segundos de um dígito, em comparação com dezenas de segundos para drivers de código aberto.

Como novos recursos do serviço são introduzidos, o objetivo do pacote de drivers da AWS é ter suporte integrado para esses recursos do serviço.

## Conectar-se a clusters de banco de dados multi-AZ com o driver JDBC da Amazon Web Services (AWS)
<a name="maz-cluster-connect-jdbc"></a>

O driver JDBC da Amazon Web Services (AWS) foi projetado como um wrapper JDBC avançado para ajudar as aplicações a aproveitar os recursos dos bancos de dados em cluster. Esse wrapper é complementar e amplia a funcionalidade do driver JDBC existente. O driver é compatível de forma intercambiável com os seguintes drivers de comunidade:
+ MySQL Connector/J
+ MariaDB Connector/J
+ pgJDBC

Para instalar o driver JDBC da AWS, anexe o arquivo .jar do driver JDBC da AWS (localizado na aplicação `CLASSPATH`) e mantenha referências ao respectivo driver da comunidade. Atualize o respectivo prefixo do URL de conexão da seguinte forma:
+ `jdbc:mysql://` para `jdbc:aws-wrapper:mysql://`
+ `jdbc:mariadb://` para `jdbc:aws-wrapper:mariadb://`
+ `jdbc:postgresql://` para `jdbc:aws-wrapper:postgresql://`

Consulte mais informações sobre o driver JDBC da AWS e siga as instruções para usá-lo em [Amazon Web Services (AWS) JDBC Driver GitHub repository](https://github.com/awslabs/aws-advanced-jdbc-wrapper).

## Conectar-se a clusters de banco de dados multi-AZ com o driver Python da Amazon Web Services (AWS)
<a name="maz-cluster-connect-py"></a>

O driver Python da Amazon Web Services (AWS) foi projetado como um wrapper Python avançado. Esse wrapper é complementar e amplia a funcionalidade do driver Psycopg de código aberto. O driver Python da AWS é compatível com as versões 3.8 e posterior do Python. É possível instalar o pacote `aws-advanced-python-wrapper` usando o comando `pip`, bem como os pacotes de código aberto `psycopg`.

Para ter mais informações sobre o driver Python da AWS e instruções completas para usá-lo, consulte [Amazon Web Services (AWS) Python Driver GitHub repository](https://github.com/awslabs/aws-advanced-python-wrapper).

# Conectar automaticamente um recurso de computação da AWS e um cluster de banco de dados multi-AZ para o Amazon RDS
<a name="multi-az-compute-rds-connect"></a>

Você pode conectar automaticamente um cluster de banco de dados multi-AZ e recursos de computação da AWS, como instâncias do Amazon Elastic Compute Cloud (Amazon EC2) e funções do AWS Lambda.

Os tópicos a seguir apresentam instruções detalhadas para definir configurações de rede, grupos de segurança e parâmetros de conexão e estabelecer conexões confiáveis com instâncias de banco de dados do Amazon RDS em uma implantação de cluster de banco de dados multi-AZ. Eles se concentram em otimizar a conectividade e o desempenho da rede para aplicações que interagem com o cluster de banco de dados multi-AZ, garantindo operações de dados seguras e eficientes.

**Topics**
+ [Conectar automaticamente uma instância do EC2 e um cluster de banco de dados multi-AZ](multiaz-ec2-rds-connect.md)
+ [Conectar automaticamente uma função do Lambda e um cluster de banco de dados multi-AZ](multiaz-lambda-rds-connect.md)

# Conectar automaticamente uma instância do EC2 e um cluster de banco de dados multi-AZ
<a name="multiaz-ec2-rds-connect"></a>

Você pode usar o console do Amazon RDS para simplificar a configuração de uma conexão entre uma instância do Amazon Elastic Compute Cloud (Amazon EC2) e um cluster de banco de dados multi-AZ. Geralmente, seu cluster de banco de dados multi-AZ está em uma sub-rede privada e sua instância do EC2 está em uma sub-rede pública em uma VPC. Você pode usar um cliente SQL em sua instância do EC2 para se conectar ao seu cluster de banco de dados multi-AZ. A instância do EC2 também pode executar servidores web ou aplicações que acessam seu cluster de banco de dados multi-AZ privado. 

![\[Conecte automaticamente um cluster de banco de dados multi-AZ a uma instância do EC2.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/multi-az-ec2-connect-overview.png)


Se você quiser se conectar a uma instância do EC2 que não esteja na mesma VPC do cluster de banco de dados multi-AZ, veja os cenários em [Cenários para acessar uma instância de banco de dados em uma VPC](USER_VPC.Scenarios.md).

**Topics**
+ [Visão geral da conectividade automática com uma instância do EC2](#multiaz-ec2-rds-connect-overview)
+ [Conectar automaticamente uma instância do EC2 e um cluster de banco de dados multi-AZ](#multiaz-ec2-rds-connect-connecting)
+ [Visualizar recursos computacionais conectados](#multiaz-ec2-rds-connect-viewing)

## Visão geral da conectividade automática com uma instância do EC2
<a name="multiaz-ec2-rds-connect-overview"></a>

Quando você configura automaticamente uma conexão entre uma instância do EC2 e um cluster de banco de dados multi-AZ, o Amazon RDS configura o grupo de segurança da VPC para a instância do EC2 e para o cluster de banco de dados.

Confira a seguir os requisitos para conectar uma instância do EC2 a um cluster de banco de dados multi-AZ:
+ A instância do EC2 deve existir na mesma VPC do cluster de banco de dados multi-AZ.

  Se não houver nenhuma instância do EC2 na mesma VPC, o console fornecerá um link para que você crie uma.
+ O usuário que está configurando a conectividade deve ter permissões para realizar as seguintes operações do EC2:
  + `ec2:AuthorizeSecurityGroupEgress` 
  + `ec2:AuthorizeSecurityGroupIngress` 
  + `ec2:CreateSecurityGroup` 
  + `ec2:DescribeInstances` 
  + `ec2:DescribeNetworkInterfaces` 
  + `ec2:DescribeSecurityGroups` 
  + `ec2:ModifyNetworkInterfaceAttribute` 
  + `ec2:RevokeSecurityGroupEgress` 

Quando você configura uma conexão com uma instância do EC2, o Amazon RDS atua de acordo com a configuração atual dos grupos de segurança associados ao cluster de banco de dados multi-AZ e à instância do EC2, conforme descrito na tabela a seguir.


| Configuração atual do grupo de segurança do RDS | Configuração atual do grupo de segurança do EC2 | Ação do RDS | 
| --- | --- | --- | 
|  Há um ou mais grupos de segurança associados ao cluster de banco de dados multi-AZ com um nome que corresponde ao padrão `rds-ec2-n` (em que `n` é um número). Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem apenas uma regra de saída com o grupo de segurança da VPC da instância do EC2 como origem.  |  Há um ou mais grupos de segurança associados à instância do EC2 com um nome que corresponde ao padrão `rds-ec2-n` (em que `n` é um número). Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem apenas uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ como origem.  |  O Amazon RDS não realiza nenhuma ação. Uma conexão já foi configurada automaticamente entre a instância do EC2 e o cluster de banco de dados multi-AZ. Como já existe uma conexão entre a instância do EC2 e o banco de dados do RDS, os grupos de segurança não são modificados.  | 
|  Qualquer uma das seguintes condições se aplica: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/multiaz-ec2-rds-connect.html)  |  Qualquer uma das seguintes condições se aplica: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/multiaz-ec2-rds-connect.html)  |  [RDS action: create new security groups](ec2-rds-connect.md#rds-action-create-new-security-groups)  | 
|  Há um ou mais grupos de segurança associados ao cluster de banco de dados multi-AZ com um nome que corresponde ao padrão `rds-ec2-n`. Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem apenas uma regra de saída com o grupo de segurança da VPC da instância do EC2 como origem.  |  Há um ou mais grupos de segurança associados à instância do EC2 com um nome que corresponde ao padrão `ec2-rds-n`. No entanto, nenhum desses grupos de segurança pode ser usado para a conexão com o cluster de banco de dados multi-AZ. Não será possível usar um grupo de segurança se não tiver uma regra de saída no grupo de segurança da VPC do cluster de banco de dados multi-AZ como origem. Um grupo de segurança também não poderá ser usado se tiver sido modificado.  |  [RDS action: create new security groups](ec2-rds-connect.md#rds-action-create-new-security-groups)  | 
|  Há um ou mais grupos de segurança associados ao cluster de banco de dados multi-AZ com um nome que corresponde ao padrão `rds-ec2-n`. Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem apenas uma regra de saída com o grupo de segurança da VPC da instância do EC2 como origem.  |  Existe um grupo de segurança do EC2 válido para a conexão, mas ele não está associado à instância do EC2. Esse grupo de segurança tem um nome que corresponde ao padrão `rds-ec2-n`. Não foi modificado. Ele tem apenas uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ como origem.  |  [RDS action: associate EC2 security group](ec2-rds-connect.md#rds-action-associate-ec2-security-group)  | 
|  Qualquer uma das seguintes condições se aplica: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/multiaz-ec2-rds-connect.html)  |  Há um ou mais grupos de segurança associados à instância do EC2 com um nome que corresponde ao padrão `rds-ec2-n`. Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem apenas uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ como origem.  |  [RDS action: create new security groups](ec2-rds-connect.md#rds-action-create-new-security-groups)  | 

**Ação do RDS: criar grupos de segurança**  
O Amazon RDS realiza as seguintes ações:
+ Cria um grupo de segurança que corresponde ao padrão `rds-ec2-n`. Esse grupo de segurança tem uma regra de entrada com o grupo de segurança da VPC da instância do EC2 como origem. Esse grupo de segurança está associado ao cluster de banco de dados multi-AZ e permite que a instância do EC2 acesse o cluster de banco de dados multi-AZ.
+ Cria um grupo de segurança que corresponde ao padrão `ec2-rds-n`. Esse grupo de segurança tem uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ como origem. Esse grupo de segurança está associado à instância do EC2 e permite que ela envie tráfego ao cluster de banco de dados multi-AZ.

**Ação do RDS: associar o grupo de segurança do EC2**  
O Amazon RDS associa o grupo de segurança do EC2 existente e válido à instância do EC2. Esse grupo de segurança permite que a instância do EC2 envie tráfego ao cluster de banco de dados multi-AZ.

## Conectar automaticamente uma instância do EC2 e um cluster de banco de dados multi-AZ
<a name="multiaz-ec2-rds-connect-connecting"></a>

Antes de configurar uma conexão entre uma instância do EC2 e um banco de dados do RDS, atenda aos requisitos descritos em [Visão geral da conectividade automática com uma instância do EC2](ec2-rds-connect.md#ec2-rds-connect-overview).

Se você alterar esses grupos de segurança depois de configurar a conectividade, as alterações poderão afetar a conexão entre a instância do EC2 e o banco de dados do RDS.

**nota**  
Você só pode configurar automaticamente uma conexão entre uma instância do EC2 e um banco de dados do RDS utilizando o Console de gerenciamento da AWS. Você não pode configurar uma conexão automaticamente com a AWS CLI nem a API do RDS.

**Como conectar automaticamente uma instância do EC2 e um banco de dados do RDS**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, selecione **Databases** (Bancos de dados) e depois selecione banco de dados do RDS.

1. Em **Ações**, selecione **Configurar conexão do EC2**.

   A página **Set up EC2 connection** (Configurar conexão do EC2) é exibida.

1. Na página **Set up EC2 connection** (Configurar conexão do EC2), selecione a instância do EC2.  
![\[Página de configuração da conexão do EC2.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/auto-connect-rds-ec2-set-up.png)

   Se não houver nenhuma instância do EC2 na mesma VPC, selecione **Create EC2 instance** (Criar instância do EC2) para criar uma. Nesse caso, a nova instância do EC2 deve estar na mesma VPC do banco de dados do RDS.

1. Escolha **Continuar**.

   A página **Review and confirm** (Revisar e confirmar) é exibida.  
![\[Página de revisão e confirmação da conexão do EC2.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/auto-connect-rds-ec2-confirm.png)

1. Na página **Review and confirm** (Revisar e confirmar), analise as alterações que o RDS fará para configurar a conectividade com a instância do EC2.

   Se as alterações estiverem corretas, selecione **Confirmar e configurar**.

   Se as alterações não estiverem corretas, selecione **Previous** (Anterior) ou **Cancel** (Cancelar).

## Visualizar recursos computacionais conectados
<a name="multiaz-ec2-rds-connect-viewing"></a>

Você pode usar o Console de gerenciamento da AWS para visualizar os recursos computacionais conectados a um banco de dados do RDS. Os recursos mostrados incluem conexões de recursos computacionais que foram configuradas automaticamente. É possível configurar a conectividade com recursos computacionais automaticamente das seguintes maneiras:
+ Você pode selecionar o recurso computacional ao criar o banco de dados.

  Para obter mais informações, consulte [Criar uma instância de banco de dados do Amazon RDS](USER_CreateDBInstance.md) e [Criar um cluster de banco de dados multi-AZ para o Amazon RDS](create-multi-az-db-cluster.md).
+ Você pode configurar a conectividade entre um banco de dados existente e um recurso computacional.

  Para ter mais informações, consulte [Conectar automaticamente uma instância do EC2 e um banco de dados RDS](ec2-rds-connect.md#ec2-rds-connect-connecting).

Os recursos computacionais listados não incluem aqueles que foram conectados manualmente ao banco de dados. Por exemplo, você pode permitir que um recurso computacional acesse um banco de dados manualmente adicionando uma regra ao grupo de segurança da VPC associado ao banco de dados.

Para que um recurso computacional seja listado, as seguintes condições devem ser atendidas:
+ O nome do grupo de segurança associado ao recurso de computação corresponde ao padrão `ec2-rds-n` (em que `n` é um número).
+ O grupo de segurança associado ao recurso de computação tem uma regra de saída com o intervalo de portas definido como a porta usada pelo banco de dados RDS.
+ O grupo de segurança associado ao recurso computacional tem uma regra de saída com o intervalo de portas definido como um grupo de segurança associado ao banco de dados do RDS.
+ O nome do grupo de segurança associado ao banco de dados RDS corresponde ao padrão `rds-ec2-n` (em que `n` é um número).
+ O grupo de segurança associado ao banco de dados RDS tem uma regra de entrada com o intervalo de portas definido como a porta usada pelo banco de dados RDS.
+ O grupo de segurança associado ao banco de dados RDS tem uma regra de entrada com a fonte definida como um grupo de segurança associado ao recurso computacional.

**Como visualizar os recursos de computação conectados a um banco de dados do RDS**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, selecione **Databases** (Bancos de dados) e depois selecione o nome do banco de dados RDS.

1. Na guia **Connectivity & security** (Conectividade e segurança), veja os recursos computacionais em **Connected compute resources** (Recursos computacionais conectados).  
![\[Recursos computacionais conectados.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/ec2-connected-compute-resources.png)

# Conectar automaticamente uma função do Lambda e um cluster de banco de dados multi-AZ
<a name="multiaz-lambda-rds-connect"></a>

Você pode usar o console do RDS para simplificar a configuração de uma conexão entre uma função do Lambda e um cluster de banco de dados multi-AZ. Você pode usar o console do RDS para simplificar a configuração de uma conexão entre uma função do Lambda e um cluster de banco de dados multi-AZ. Muitas vezes, o cluster de banco de dados multi-AZ está em uma sub-rede privada dentro de uma VPC. A função do Lambda pode ser usada por aplicações para acessar o cluster de banco de dados multi-AZ privado.

A imagem a seguir mostra uma conexão direta entre o cluster de banco de dados multi-AZ e a função do Lambda.

![\[Conecte automaticamente um cluster de banco de dados multi-AZ a uma função do Lambda.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/auto-connect-maz-lambda.png)


Você pode configurar a conexão entre a função do Lambda e o banco de dados por meio do RDS Proxy para melhorar a performance e a resiliência do banco de dados. Em geral, as funções do Lambda fazem conexões curtas frequentes com o banco de dados que se beneficiam do grupo de conexões oferecido pelo RDS Proxy. É possível aproveitar qualquer autenticação do IAM que você já tenha para funções do Lambda, em vez de gerenciar credenciais de banco de dados no código de aplicação do Lambda. Para obter mais informações, consulte [Amazon RDS Proxy](rds-proxy.md).

Você pode usar o console para criar automaticamente um proxy para sua conexão. Também é possível selecionar proxies existentes. O console atualiza o grupo de segurança do proxy para permitir conexões do banco de dados e da função do Lambda. Você pode inserir suas credenciais do banco de dados ou selecionar o segredo do Secrets Manager necessário para acessar o banco de dados.

![\[Conecte automaticamente um cluster de banco de dados multi-AZ a uma função do Lambda por meio do RDS Proxy.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/auto-connect-maz-lambda-Proxy.png)


**Topics**
+ [Visão geral da conectividade automática com uma função do Lambda](#multiaz-lambda-rds-connect-overview)
+ [Conectar automaticamente uma função do Lambda e um cluster de banco de dados multi-AZ](#multiaz-lambda-rds-connect-connecting)
+ [Visualizar recursos computacionais conectados](#multiaz-lambda-rds-connect-viewing)

## Visão geral da conectividade automática com uma função do Lambda
<a name="multiaz-lambda-rds-connect-overview"></a>

Quando você configura uma conexão entre uma função do Lambda e um cluster de banco de dados multi-AZ, o Amazon RDS configura o grupo de segurança da VPC para a instância do Lambda e para o cluster de banco de dados.

Confira a seguir os requisitos para conectar uma instância do Lambda a um cluster de banco de dados multi-AZ:
+ A função do Lambda deve existir na mesma VPC que o cluster de banco de dados multi-AZ.

  Se não houver nenhuma função do Lambda na mesma VPC, o console fornecerá um link para que você crie uma.
+ O usuário que configura a conectividade deve ter permissões para realizar as seguintes operações do Amazon RDS, do Amazon EC2, do Lambda, do Secrets Manager e do IAM:
  + Amazon RDS
    + `rds:CreateDBProxies`
    + `rds:DescribeDBInstances`
    + `rds:DescribeDBProxies`
    + `rds:ModifyDBInstance`
    + `rds:ModifyDBProxy`
    + `rds:RegisterProxyTargets`
  + Amazon EC2
    + `ec2:AuthorizeSecurityGroupEgress` 
    + `ec2:AuthorizeSecurityGroupIngress` 
    + `ec2:CreateSecurityGroup` 
    + `ec2:DeleteSecurityGroup`
    + `ec2:DescribeSecurityGroups` 
    + `ec2:RevokeSecurityGroupEgress` 
    + `ec2:RevokeSecurityGroupIngress`
  + Lambda
    + `lambda:CreateFunctions`
    + `lambda:ListFunctions`
    + `lambda:UpdateFunctionConfiguration`
  + Secrets Manager
    + `sercetsmanager:CreateSecret`
    + `secretsmanager:DescribeSecret`
  + IAM
    + `iam:AttachPolicy`
    + `iam:CreateRole`
    + `iam:CreatePolicy`
  + AWS KMS
    + `kms:describeKey`

Quando você configura uma conexão entre uma função do Lambda e um cluster de banco de dados multi-AZ, o Amazon RDS configura o grupo de segurança da VPC para sua instância e para o cluster de banco de dados multi-AZ. Se você usa o RDS Proxy, o Amazon RDS também configura o grupo de segurança da VPC para o proxy. O Amazon RDS atua de acordo com a configuração atual dos grupos de segurança associados ao cluster de banco de dados multi-AZ, à função do Lambda e ao proxy, conforme descrito na tabela a seguir.


| Configuração atual do grupo de segurança do RDS | Configuração do grupo de segurança do Lambda atual | Configuração do grupo de segurança de proxy atual | Ação do RDS | 
| --- | --- | --- | --- | 
|  O Amazon RDS não executa nenhuma ação porque os grupos de segurança de todos os recursos seguem o padrão de nomenclatura correto e têm as regras corretas de entrada e saída.  |  Há um ou mais grupos de segurança associados ao cluster de banco de dados multi-AZ com um nome correspondente ao padrão `rds-lambda-n` (em que `n` é um número) ou se `TargetHealth` de um proxy associado estiver `AVAILABLE`.  Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem apenas uma regra de entrada com o grupo de segurança da VPC da função do Lambda ou do proxy como origem.  |  Há um ou mais grupos de segurança associados à função do Lambda com um nome correspondente ao padrão `lambda-rds-n` ou `lambda-rdsproxy-n` (em que `n` é um número). Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem apenas uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ ou do proxy como destino.  |  Há um ou mais grupos de segurança associados ao proxy com um nome correspondente ao padrão `rdsproxy-lambda-n` (em que `n` é um número). Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem regras de entrada e saída com os grupos de segurança da VPC da função do Lambda e do cluster de banco de dados multi-AZ.  | 
|  Qualquer uma das seguintes condições se aplica: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/multiaz-lambda-rds-connect.html) O Amazon RDS não pode usar um grupo de segurança que não tenha uma regra de entrada no grupo de segurança da VPC da função do Lambda ou do proxy como origem. O Amazon RDS também não pode usar um grupo de segurança que tenha sido modificado. São exemplos de modificação a adição de uma regra ou a alteração da porta de uma regra existente.  |  Qualquer uma das seguintes condições se aplica: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/multiaz-lambda-rds-connect.html) O Amazon RDS não poderá usar um grupo de segurança se não tiver uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ como origem. O Amazon RDS também não pode usar um grupo de segurança que tenha sido modificado.  | Qualquer uma das seguintes condições se aplica:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/multiaz-lambda-rds-connect.html)O Amazon RDS não pode usar um grupo de segurança que não tenha regras de entrada e saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ ou a função do Lambda. O Amazon RDS também não pode usar um grupo de segurança que tenha sido modificado. | [RDS action: create new security groups](#maz-lam-action-create-new-security-groups)  | 
|  Há um ou mais grupos de segurança associados ao cluster de banco de dados multi-AZ com um nome correspondente ao padrão `rds-lambda-n` ou se o `TargetHealth` de um proxy associado estiver `AVAILABLE`. Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem apenas uma regra de entrada com o grupo de segurança da VPC da função do Lambda ou do proxy como origem.  |  Há um ou mais grupos de segurança associados à função do Lambda com um nome correspondente ao padrão `lambda-rds-n` ou `lambda-rdsproxy-n`.  No entanto, o Amazon RDS não pode usar nenhum desses grupos de segurança para a conexão com o cluster de banco de dados multi-AZ. O Amazon RDS não pode usar um grupo de segurança que não tenha uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ ou do proxy como destino. O Amazon RDS também não pode usar um grupo de segurança que tenha sido modificado.  |  Há um ou mais grupos de segurança associados ao proxy com um nome correspondente ao padrão `rdsproxy-lambda-n`. No entanto, o Amazon RDS não pode usar nenhum desses grupos de segurança para a conexão com o cluster de banco de dados multi-AZ ou a função do Lambda. O Amazon RDS não pode usar um grupo de segurança que não tenha regras de entrada e saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ ou a função do Lambda. O Amazon RDS também não pode usar um grupo de segurança que tenha sido modificado.  | [RDS action: create new security groups](#maz-lam-action-create-new-security-groups)  | 
|  Há um ou mais grupos de segurança associados ao cluster de banco de dados multi-AZ com um nome correspondente ao padrão `rds-lambda-n` ou se o `TargetHealth` de um proxy associado estiver `AVAILABLE`.  Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem apenas uma regra de entrada com o grupo de segurança da VPC da função do Lambda ou do proxy como origem.  |  Existe um grupo de segurança do Lambda válido para a conexão, mas ele não está associado à função do Lambda. Esse grupo de segurança tem um nome correspondente ao padrão `lambda-rds-n` ou `lambda-rdsproxy-n`. Não foi modificado. Ele tem apenas uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ ou do proxy como destino.  |  Existe um grupo de segurança do proxy válido para a conexão, mas ele não está associado ao proxy. Esse grupo de segurança tem um nome que corresponde ao padrão `rdsproxy-lambda-n`. Não foi modificado. Ele tem regras de entrada e saída com os grupos de segurança da VPC do cluster de banco de dados multi-AZ e da função do Lambda.  |  [RDS action: associate Lambda security group](#maz-lam-action-associate-lam-security-group)  | 
|  Qualquer uma das seguintes condições se aplica: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/multiaz-lambda-rds-connect.html)  |  Há um ou mais grupos de segurança associados à função do Lambda com um nome correspondente ao padrão `lambda-rds-n` ou `lambda-rdsproxy-n`.  Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem apenas uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ ou do proxy como destino.  |  Há um ou mais grupos de segurança associados ao proxy com um nome correspondente ao padrão `rdsproxy-lambda-n`.  Um grupo de segurança que corresponde ao padrão não foi modificado. Esse grupo de segurança tem regras de entrada e saída com os grupos de segurança da VPC do cluster de banco de dados multi-AZ e da função do Lambda.  |  [RDS action: create new security groups](#maz-lam-action-create-new-security-groups)  | 
|  Há um ou mais grupos de segurança associados ao cluster de banco de dados multi-AZ com um nome que corresponde ao padrão `rds-rdsproxy-n` (em que `n` é um número).   |  Qualquer uma das seguintes condições se aplica: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/multiaz-lambda-rds-connect.html) O Amazon RDS não pode usar um grupo de segurança que não tenha uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ ou do proxy como destino. O Amazon RDS também não pode usar um grupo de segurança que tenha sido modificado.  | Qualquer uma das seguintes condições se aplica:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/multiaz-lambda-rds-connect.html)O Amazon RDS não pode usar um grupo de segurança que não tenha regras de entrada e saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ ou a função do Lambda. O Amazon RDS também não pode usar um grupo de segurança que tenha sido modificado. |  [RDS action: create new security groups](#maz-lam-action-create-new-security-groups)  | 

**Ação do RDS: criar grupos de segurança**  
O Amazon RDS realiza as seguintes ações:
+ Cria um grupo de segurança correspondente ao padrão `rds-lambda-n`. Esse grupo de segurança tem uma regra de entrada com o grupo de segurança da VPC da função do Lambda ou do proxy como origem. Esse grupo de segurança está associado ao cluster de banco de dados multi-AZ e permite que a função ou o proxy acesse o cluster de banco de dados multi-AZ.
+ Cria um grupo de segurança que corresponde ao padrão `lambda-rds-n`. Esse grupo de segurança tem uma regra de saída com o grupo de segurança da VPC do cluster de banco de dados multi-AZ ou do proxy como destino. Esse grupo de segurança está associado à função do Lambda e permite que ela envie tráfego para o cluster de banco de dados multi-AZ ou envie tráfego por meio de um proxy.
+ Cria um grupo de segurança que corresponde ao padrão `rdsproxy-lambda-n`. Esse grupo de segurança tem regras de entrada e saída com os grupos de segurança da VPC do cluster de banco de dados multi-AZ e da função do Lambda.

**Ação  do RDS: associar o grupo de segurança do Lambda**  
O Amazon RDS associa o grupo de segurança do Lambda válido e existente à função do Lambda. Esse grupo de segurança permite que a função envie tráfego para o cluster de banco de dados multi-AZ ou envie tráfego por meio de um proxy.

## Conectar automaticamente uma função do Lambda e um cluster de banco de dados multi-AZ
<a name="multiaz-lambda-rds-connect-connecting"></a>

Você pode usar o console do Amazon RDS para conectar automaticamente uma função do Lambda ao cluster de banco de dados multi-AZ. Isso simplifica o processo de configuração de uma conexão entre esses recursos.

Você também pode usar o RDS Proxy para incluir um proxy em sua conexão. As funções do Lambda fazem conexões curtas frequentes com o banco de dados que se beneficiam do grupo de conexões oferecido pelo RDS Proxy. Também é possível usar qualquer autenticação do IAM que você já tenha para funções do Lambda, em vez de gerenciar credenciais de banco de dados no código da aplicação do Lambda.

Você pode conectar um cluster de banco de dados multi-AZ existente a funções do Lambda novas e existentes usando a página **Configurar conexão do Lambda**. O processo de configuração define automaticamente os grupos de segurança necessários para você.

Antes de configurar uma conexão entre uma função do Lambda e um cluster de banco de dados multi-AZ, garanta que:
+ A função do Lambda e o cluster de banco de dados multi-AZ estejam na mesma VPC.
+ Você tenha as permissões corretas para sua conta do usuário. Para receber mais informações sobre os requisitos, consulte [Visão geral da conectividade automática com uma função do Lambda](lambda-rds-connect.md#lambda-rds-connect-overview). 

Se você alterar os grupos de segurança depois de configurar a conectividade, as alterações poderão afetar a conexão entre a função do Lambda e o cluster de banco de dados multi-AZ.

**nota**  
Você possa configurar automaticamente uma conexão entre um cluster de banco de dados multi-AZ e uma função do Lambda somente no Console de gerenciamento da AWS. Para conectar uma função do Lambda, todas as instâncias no cluster de banco de dados multi-AZ devem estar no estado **Disponível**.

**Como conectar automaticamente uma função do Lambda e um cluster de banco de dados multi-AZ**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, selecione **Bancos de dados** e, depois, o cluster de banco de dados multi-AZ que você deseja conectar a uma função do Lambda.

1. Em **Ações**, selecione **Configurar conexão do Lambda**.

1. Na página **Configurar conexão do Lambda**, em **Selecionar função do Lambda**, faça o seguinte:
   + Se você tiver uma função do Lambda na mesma VPC que o cluster de banco de dados multi-AZ, escolha **Selecionar função existente** e, depois, escolha a função.
   + Se você não tiver uma função do Lambda na mesma VPC, selecione **Criar função do Lambda** e, depois, insira um **Nome da função**. O runtime padrão é definido como Nodejs.18. Você pode modificar as configurações de sua nova função do Lambda no console do Lambda depois de concluir a configuração da conexão.

1. (Opcional) Em **RDS Proxy**, selecione **Conectar usando o RDS Proxy** e, depois, faça o seguinte:
   + Se você tiver um proxy que deseja usar, escolha **Selecionar um proxy existente** e, depois, escolha o proxy.
   + Se você não tiver um proxy e quiser que o Amazon RDS crie um automaticamente para você, selecione **Criar um proxy**. Então, para **Credenciais de banco de dados**, faça o seguinte:

     1. Selecione **Nome de usuário e senha do banco de dados** e, depois, insira o **Nome do usuário** e a **Senha** para o cluster de banco de dados multi-AZ.

     1. Selecione **Segredo do Secrets Manager**. Então, em **Selecionar segredo**, escolha um segredo do AWS Secrets Manager. Se você não tiver um segredo do Secrets Manager, selecione **Criar um segredo do Secrets Manager** para [criar um segredo](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html). Depois de criar o segredo, em **Selecionar segredo**, escolha o novo segredo.

     Depois de criar o proxy, escolha **Selecionar proxy existente** e, depois, escolha o proxy. Observe que pode levar algum tempo até que o proxy esteja disponível para conexão.

1. (Opcional) Expanda **Resumo da conexão** e verifique as atualizações destacadas para seus recursos.

1. Escolha **Configurar**.

Depois de confirmar a configuração, o Amazon RDS inicia o processo de conexão da função do Lambda, do RDS Proxy (se você usou um proxy) e do cluster de banco de dados multi-AZ. O console mostra a caixa de diálogo **Detalhes da conexão**, que lista as alterações do grupo de segurança que permitem conexões entre seus recursos.

## Visualizar recursos computacionais conectados
<a name="multiaz-lambda-rds-connect-viewing"></a>

Você pode usar o Console de gerenciamento da AWS para visualizar os recursos de computação conectados a um cluster de banco de dados multi-AZ. Os recursos mostrados incluem conexões de recursos de computação que o Amazon RDS configurou automaticamente.

Os recursos de computação listados não incluem aqueles que são conectados manualmente ao cluster de banco de dados multi-AZ. Por exemplo, você pode permitir que um recurso de computação acesse o cluster de banco de dados multi-AZ manualmente adicionando uma regra ao grupo de segurança da VPC associado ao cluster.

Para que o console liste uma função do Lambda, as seguintes condições devem ser aplicadas:
+ O nome do grupo de segurança associado ao recurso de computação corresponde ao padrão `lambda-rds-n` ou `lambda-rdsproxy-n` (em que `n` é um número).
+ O grupo de segurança associado ao recurso de comutação tem uma regra de saída com o intervalo de portas definido como a porta do cluster de banco de dados multi-AZ ou de um proxy associado. O destino da regra de saída deve ser definido como um grupo de segurança associado ao cluster de banco de dados multi-AZ ou a um proxy associado.
+ O nome do grupo de segurança anexado ao proxy associado ao banco de dados corresponde ao padrão `rds-rdsproxy-n` (em que `n` é um número).
+ O grupo de segurança associado à função tem uma regra de saída com a porta definida como a porta que o cluster de banco de dados multi-AZ ou o proxy associado usa. O destino deve ser definido como um grupo de segurança associado ao cluster de banco de dados multi-AZ ou ao proxy associado.

**Como visualizar os recursos de computação conectados automaticamente a um cluster de banco de dados multi-AZ**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, selecione **Bancos de dados** e, depois, o cluster de banco de dados multi-AZ.

1. Na guia **Conectividade e segurança**, veja os recursos de computação em **Recursos de computação conectados**.

# Modificar um cluster de banco de dados multi-AZ para o Amazon RDS
<a name="modify-multi-az-db-cluster"></a>

Um cluster de banco de dados multi-AZ tem uma instância de banco de dados de gravador e duas instâncias de banco de dados de leitor em três zonas de disponibilidade separadas. Clusters de banco de dados multi-AZ oferecem alta disponibilidade, maior capacidade para workloads de leitura e menor latência quando comparados a implantações multi-AZ. Para obter mais informações sobre clusters de banco de dados multi-AZ, consulte [Implantações de cluster de banco de dados multi-AZ para o Amazon RDS](multi-az-db-clusters-concepts.md).

Você pode modificar um cluster de banco de dados multi-AZ para alterar suas configurações. Você também pode realizar operações em um cluster de banco de dados multi-AZ, como obter snapshots. 

**Importante**  
Não é possível modificar as instâncias de banco de dados dentro de um cluster de banco de dados multi-AZ. Todas as modificações devem ser feitas no nível do cluster de banco de dados. A única operação que é possível realizar em uma instância de banco de dados dentro de um cluster de banco de dados multi-AZ é reinicializá-la.

Você pode modificar um cluster de banco de dados multi-AZ usando o Console de gerenciamento da AWS, a AWS CLI ou a API do RDS.

## Console
<a name="modify-multi-az-db-cluster-console"></a>

**Para modificar um cluster de banco de dados multi-AZ**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Bancos de dados** e o cluster de banco de dados multi-AZ que você deseja modificar.

1. Escolha **Modificar**. A página **Modify DB cluster (Modificar cluster de banco de dados)** é exibida.

1. Altere qualquer uma das configurações desejadas. Para obter informações sobre cada configuração, consulte [Configurações para modificar clusters de banco de dados multi-AZ](#modify-multi-az-db-cluster-settings). 

1. Quando todas as alterações estiverem conforme o desejado, escolha **Continue (Continuar)** e verifique o resumo das modificações. 

1. (Opcional) Escolha **Apply immediately (Aplicar imediatamente)** para aplicar as alterações imediatamente. Escolher essa opção pode causar uma inatividade em alguns casos. Para obter mais informações, consulte [Aplicar alterações imediatamente](#modify-multi-az-db-cluster-apply-immediately). 

1. Na página de confirmação, revise suas alterações. Se estiverem corretas, escolha **Modify DB cluster** (Modificar cluster de banco de dados) para salvar as alterações. 

   Ou escolha **Back (Voltar)** para editar as alterações ou **Cancel (Cancelar)** para cancelar as alterações. 

## AWS CLI
<a name="modify-multi-az-db-cluster-cli"></a>

Para modificar um cluster de banco de dados multi-AZ utilizando a AWS CLI, chame o comando [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html). Especifique o identificador de instância de banco de dados e os valores para as configurações que você deseja modificar. Para obter mais informações sobre cada opção, consulte [Configurações para modificar clusters de banco de dados multi-AZ](#modify-multi-az-db-cluster-settings). 

**Example**  
O código a seguir modifica `my-multi-az-dbcluster` configurando o período de retenção de backup como 1 semana (7 dias). O código ativa a proteção contra exclusão, utilizando `--deletion-protection`. Para desativar a proteção contra exclusão, utilize `--no-deletion-protection`. As alterações serão aplicadas durante a janela de manutenção usando `--no-apply-immediately`. Use `--apply-immediately` para aplicar as alterações imediatamente. Para obter mais informações, consulte [Aplicar alterações imediatamente](#modify-multi-az-db-cluster-apply-immediately).   
Para Linux, macOS ou Unix:  

```
aws rds modify-db-cluster \
    --db-cluster-identifier my-multi-az-dbcluster \
    --backup-retention-period 7 \
    --deletion-protection \
    --no-apply-immediately
```
Para Windows:  

```
aws rds modify-db-cluster ^
    --db-cluster-identifier my-multi-az-dbcluster ^
    --backup-retention-period 7 ^
    --deletion-protection ^
    --no-apply-immediately
```

## API do RDS
<a name="modify-multi-az-db-cluster-api"></a>

Para modificar um cluster de banco de dados multi-AZ usando a API do Amazon RDS, chame a operação [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html). Especifique o identificador de cluster de banco de dados e os parâmetros para as configurações que você deseja modificar. Para obter informações sobre cada parâmetro, consulte [Configurações para modificar clusters de banco de dados multi-AZ](#modify-multi-az-db-cluster-settings). 

## Aplicar alterações imediatamente
<a name="modify-multi-az-db-cluster-apply-immediately"></a>

Quando você modifica um cluster de banco de dados multi-AZ, pode aplicar as alterações imediatamente. Para aplicar as alterações imediatamente, escolha a opção **Apply Immediately (Aplicar imediatamente)** no Console de gerenciamento da AWS. Se preferir, use a opção `--apply-immediately` ao chamar AWS CLI ou defina o parâmetro `ApplyImmediately` como `true` ao usar a API do Amazon RDS. 

Se você não optar por aplicar as alterações imediatamente, elas serão colocadas na fila de modificações pendentes. Durante a próxima janela de manutenção, todas as alterações pendentes na fila serão aplicadas. Se você optar por aplicar as alterações imediatamente, as novas alterações e todas as alterações na fila de modificações pendentes serão aplicadas. 

**Importante**  
Se alguma das modificações pendentes exigir que o cluster de banco de dados esteja temporariamente indisponível (*inatividade*), a escolha da opção para aplicar imediatamente poderá causar tempo de inatividade inesperado.  
Quando você opta por aplicar uma alteração imediatamente, todas as modificações pendentes também são aplicadas de imediato, em vez de durante a próxima janela de manutenção.   
Se não quiser que uma alteração pendente seja aplicada na próxima janela de manutenção, é possível modificar a instância de banco de dados para reverter a alteração. Você pode fazer isso usando a AWS CLI e especificando a opção `--apply-immediately`.

As alterações em algumas configurações do banco de dados são aplicadas imediatamente, mesmo que você opte por adiá-las. Para ver como as diferentes configurações do banco de dados interagem com a configuração Aplicar imediatamente, consulte [Configurações para modificar clusters de banco de dados multi-AZ](#modify-multi-az-db-cluster-settings).

## Configurações para modificar clusters de banco de dados multi-AZ
<a name="modify-multi-az-db-cluster-settings"></a>

Para obter detalhes sobre as configurações que é possível utilizar para modificar um cluster de banco de dados multi-AZ, consulte a tabela a seguir. Para obter mais informações sobre as opções da AWS CLI, consulte [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html). Para obter mais informações sobre os parâmetros da API do RDS, consulte [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html).


| Configuração do console | Descrição da configuração | Opção da CLI e parâmetro da API do RDS | Quando a alteração ocorre | Observações sobre tempo de inatividade | 
| --- | --- | --- | --- | --- | 
|  **Armazenamento alocado**  |  O valor de armazenamento a ser alocado para cada instância de banco de dados no seu cluster de banco de dados (em gibibyte). Para ter mais informações, consulte [Armazenamento de instâncias de banco de dados do Amazon RDS](CHAP_Storage.md).     |  **Opção da CLI:** `--allocated-storage` **Parâmetro da API do RDS:**  `AllocatedStorage`  |  Se você optar por aplicar a alteração imediatamente, ela ocorrerá imediatamente. Se você não optar por aplicar a alteração imediatamente, ela ocorrerá durante a próxima janela de manutenção.  |  Não ocorre uma inatividade durante esta alteração.  | 
| Atualização da versão secundária automática |  Selecione **Enable auto minor version upgrade** (Habilitar atualização automática da versão secundária) para que o cluster de banco de dados receba atualizações automáticas da versão do mecanismo de banco de dados secundárias preferidas quando elas forem disponibilizadas. O Amazon RDS executa atualizações automáticas de versões secundárias na janela de manutenção.  |  **Opção da CLI:** `--auto-minor-version-upgrade` `--no-auto-minor-version-upgrade` **Parâmetro da API do RDS:** `AutoMinorVersionUpgrade`  |  A alteração ocorre imediatamente. Essa configuração ignora a configuração para aplicar imediatamente.   |  Ocorre uma inatividade durante esta alteração.  | 
| Período de retenção de backup  |  O número de dias durante os quais os backups automáticos do cluster de banco de dados ficam retidos. Este valor deve ser maior que zero. Para obter mais informações, consulte [Introdução aos backups](USER_WorkingWithAutomatedBackups.md).  |  **Opção da CLI:** `--backup-retention-period` **Parâmetro da API do RDS:** `BackupRetentionPeriod`  |  Se você optar por aplicar a alteração imediatamente, ela ocorrerá imediatamente.  Se você não optar por aplicar a alteração imediatamente, ela ocorrerá durante a próxima janela de manutenção.    | Não ocorre uma inatividade durante esta alteração. | 
| Janela de backup |  O período durante o qual o Amazon RDS faz um backup automático do seu cluster de banco de dados. A menos que você tenha um horário específico no qual deseja que o backup do banco de dados seja feito, utilize o padrão **No Preference** (Sem preferência). Para ter mais informações, consulte [Introdução aos backups](USER_WorkingWithAutomatedBackups.md).  |  **Opção da CLI:** `--preferred-backup-window` **Parâmetro da API do RDS:** `PreferredBackupWindow`  |  A alteração é aplicada de forma assíncrona logo que possível.   |  Não ocorre uma inatividade durante esta alteração.  | 
|  **Autoridade certificadora**  |  A autoridade de certificação (CA) para o certificado do servidor usado pelo cluster de banco de dados. Para obter mais informações, consulte [Usar SSL/TLS para criptografar uma conexão com uma instância ou um cluster de banco de dados](UsingWithRDS.SSL.md).   |  **Opção da CLI:** `--ca-certificate-identifier` **Parâmetro da API do RDS:** `CACertificateIdentifier`  |  Se você optar por aplicar a alteração imediatamente, ela ocorrerá imediatamente. Se você não optar por aplicar a alteração imediatamente, ela ocorrerá durante a próxima janela de manutenção.  | Tempo de inatividade ocorrerá somente se o mecanismo de banco de dados não for compatível com alternância sem reinicialização. Você pode usar o comando da AWS CLI [describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) para determinar se o mecanismo de banco de dados é compatível com alternância sem reinicialização. | 
|  Copiar tags para snapshots  |  Essa opção copia qualquer etiqueta do cluster de banco de dados para um snapshot do banco de dados quando você cria um snapshot. Para ter mais informações, consulte [Marcar recursos do do Amazon RDS](USER_Tagging.md).   |  **Opção da CLI:** `-copy-tags-to-snapshot` `-no-copy-tags-to-snapshot` **Parâmetro da API do RDS:** `CopyTagsToSnapshot`  |  A alteração ocorre imediatamente. Essa configuração ignora a configuração para aplicar imediatamente.   |  Não ocorre uma inatividade durante esta alteração.  | 
|  Autenticação de banco de dados  |  Para clusters de banco de dados multi-AZ, somente a **autenticação por senha** tem suporte.  |  Nenhum, pois a autenticação por senha é o padrão.  |  Se você optar por aplicar a alteração imediatamente, ela ocorrerá imediatamente. Se você não optar por aplicar a alteração imediatamente, ela ocorrerá durante a próxima janela de manutenção.  |  Não ocorre uma inatividade durante esta alteração.  | 
|  **Identificador do cluster de banco de dados**  |  O identificador de cluster de banco de dados. Esse valor é armazenado como uma string em minúsculas. Quando você altera o identificador de cluster de banco de dados, o endpoint de cluster de banco de dados é alterado. Os identificadores e os endpoints das instâncias de banco de dados no cluster de banco de dados também mudam. O nome do novo cluster de banco de dados deve ser exclusivo. O tamanho máximo é de 63 caracteres. Os nomes das instâncias de banco de dados no cluster de banco de dados são alterados para corresponder ao novo nome do cluster de banco de dados. O nome de uma nova instância de banco de dados não pode ser igual ao nome de uma instância de banco de dados existente. Por exemplo, se você alterar o nome do cluster de banco de dados para `maz`, o nome de uma instância de banco de dados poderá ser alterado para `maz-instance-1`. Nesse caso, não pode haver uma instância de banco de dados existente chamada `maz-instance-1`. Para obter mais informações, consulte [Renomear um cluster de banco de dados multi-AZ para o Amazon RDS](multi-az-db-cluster-rename.md).  |  **Opção da CLI:** `--new-db-cluster-identifier` **Parâmetro da API do RDS:** `NewDBClusterIdentifier`  |  Se você optar por aplicar a alteração imediatamente, ela ocorrerá imediatamente. Se você não optar por aplicar a alteração imediatamente, ela ocorrerá durante a próxima janela de manutenção.  |  Não ocorre uma inatividade durante esta alteração.  | 
|  Classe de instância de cluster de banco de dados  |  A capacidade de computação e memória de cada instância de banco de dados no cluster de banco de dados multi-AZ, por exemplo `db.r6gd.xlarge`.  Se possível, escolha uma classe de instância de banco de dados grande o suficiente para um conjunto de trabalho de consulta típico pode ser sustentado na memória. Quando os conjuntos de trabalho são mantidos na memória o sistema pode evitar a gravação em disco, o que aprimora a performance. Para obter mais informações, consulte [Disponibilidade de classe de instância para clusters de banco de dados multi-AZ](multi-az-db-clusters-concepts.md#multi-az-db-clusters-concepts.InstanceAvailability).  |  **Opção da CLI:** `--db-cluster-instance-class` **Parâmetro da API do RDS:** `DBClusterInstanceClass`  |  Se você optar por aplicar a alteração imediatamente, ela ocorrerá imediatamente. Se você não optar por aplicar a alteração imediatamente, ela ocorrerá durante a próxima janela de manutenção.  |  Ocorre uma inatividade durante esta alteração.  | 
|  **Grupo de parâmetros do cluster de banco de dados**  |  O parameter group do cluster de banco de dados que você deseja associar ao cluster de banco de dados.  Para ter mais informações, consulte [Grupos de parâmetros para clusters de banco de dados multi-AZ](multi-az-db-clusters-concepts.md#multi-az-db-clusters-concepts-parameter-groups).   |  **Opção da CLI:** `--db-cluster-parameter-group-name` **Parâmetro da API do RDS:** `DBClusterParameterGroupName`  |  A alteração de grupo de parâmetros ocorre imediatamente.  |  Não ocorre uma inatividade durante esta alteração. Quando você altera o grupo de parâmetros, as alterações feitas em alguns parâmetros são aplicadas às instâncias de banco de dados no cluster de banco de dados multi-AZ imediatamente sem reinicialização. Alterações em outros parâmetros são aplicadas somente depois que as instâncias de banco de dados forem reinicializadas.  | 
|  DB engine version (Versão do mecanismo de banco de dados  |  A versão do mecanismo de banco de dados que você deseja usar.  |  **Opção da CLI:** `--engine-version` **Parâmetro da API do RDS:** `EngineVersion`  |  Se você optar por aplicar a alteração imediatamente, ela ocorrerá imediatamente. Se você não optar por aplicar a alteração imediatamente, ela ocorrerá durante a próxima janela de manutenção.  |  Ocorre uma inatividade durante esta alteração.  | 
| Deletion protection (Proteção contra exclusão |  Selecione **Enable deletion protection (Habilitar proteção contra exclusão)** para impedir que seu cluster de banco de dados seja excluído. Para obter mais informações, consulte [Excluir uma instância de banco de dados](USER_DeleteInstance.md).  |  **Opção da CLI:** `--deletion-protection` `--no-deletion-protection` **Parâmetro da API do RDS:** `DeletionProtection`  |  A alteração ocorre imediatamente. Essa configuração ignora a configuração para aplicar imediatamente.   |  Não ocorre uma inatividade durante esta alteração.  | 
|  Janela de manutenção  |  A janela de 30 minutos na qual as modificações pendentes do seu cluster de banco de dados serão aplicadas. Se o período não for relevante, selecione **No Preference** (Sem preferência). Para ter mais informações, consulte [Janela de manutenção do Amazon RDS](USER_UpgradeDBInstance.Maintenance.md#Concepts.DBMaintenance).  |  **Opção da CLI:** `--preferred-maintenance-window` **Parâmetro da API do RDS:** `PreferredMaintenanceWindow`  |  A alteração ocorre imediatamente. Essa configuração ignora a configuração para aplicar imediatamente.   |  Se houver uma ou mais ações pendentes que provoquem uma inatividade, e a janela de manutenção for alterada para incluir a hora atual, essas ações pendentes serão aplicadas imediatamente e ocorrerá uma inatividade.  | 
|  Gerenciar credenciais principais no AWS Secrets Manager  |  Selecione **Gerenciar credenciais principais no AWS Secrets Manager** para gerenciar a senha do usuário principal em um segredo no Secrets Manager. Opcionalmente, selecione uma chave do KMS a ser usada para proteger o segredo. Escolha entre uma das chaves do KMS da sua conta ou insira a chave de uma conta distinta. Se o RDS já estiver gerenciando a senha do usuário principal para o cluster de banco de dados, você poderá alternar a senha do usuário principal selecionando **Rotate secret immediately** (Alternar segredo imediatamente). Para obter mais informações, consulte [Gerenciamento de senhas com Amazon RDS e AWS Secrets Manager](rds-secrets-manager.md).  |  **Opção da CLI:** `--manage-master-user-password \| --no-manage-master-user-password` `--master-user-secret-kms-key-id` `--rotate-master-user-password \| --no-rotate-master-user-password` **Parâmetro da API do RDS:** `ManageMasterUserPassword` `MasterUserSecretKmsKeyId` `RotateMasterUserPassword`  |  Se você estiver ativando ou desativando o gerenciamento automático de senhas de usuário principal, a alteração ocorrerá imediatamente. Essa configuração ignora a configuração para aplicar imediatamente. Se você estiver alternando a senha do usuário principal, deverá especificar que a alteração seja aplicada imediatamente.  |  Não ocorre uma inatividade durante esta alteração.  | 
|  Nova senha mestre  |  A senha da conta de usuário principal.  |  **Opção da CLI:** `--master-user-password` **Parâmetro da API do RDS:** `MasterUserPassword`  |  A alteração é aplicada de forma assíncrona logo que possível. Essa configuração ignora a configuração para aplicar imediatamente.   |  Não ocorre uma inatividade durante esta alteração.  | 
|  Provisioned IOPS (IOPS provisionadas  |  A quantidade de IOPS (operações de entrada/saída por segundo) provisionadas a serem inicialmente alocadas ao cluster de banco de dados.  |  **Opção da CLI:** `--iops` **Parâmetro da API do RDS:** `Iops`  |  Se você optar por aplicar a alteração imediatamente, ela ocorrerá imediatamente. Se você não optar por aplicar a alteração imediatamente, ela ocorrerá durante a próxima janela de manutenção.  |  Não ocorre uma inatividade durante esta alteração.  | 
|  Acesso público  |  **Publicly accessible** (Acessível publicamente) para fornecer ao cluster de banco de dados um endereço IP público, o que significa que ele é acessível fora da nuvem privada virtual (VPC). Para ser acessível publicamente, o cluster de banco de dados também deve estar em uma sub-rede pública na VPC. **Not publicly accessible** (Não acessível publicamente) para tornar o cluster de banco de dados acessível somente de dentro da VPC. Para ter mais informações, consulte [Ocultar uma instância de banco de dados em uma VPC da Internet](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.Hiding). Para se conectar a um cluster de banco de dados de fora de sua VPC, o cluster de banco de dados deve ser acessível publicamente. Além disso, deve ser concedido acesso utilizando as regras de entrada do grupo de segurança do cluster de banco de dados, e outros requisitos devem ser atendidos. Para ter mais informações, consulte [Não é possível conectar-se à instância de banco de dados do Amazon RDS](CHAP_Troubleshooting.md#CHAP_Troubleshooting.Connecting).  Se o cluster de banco de dados não estiver acessível publicamente, será possível usar uma conexão AWS Site-to-Site VPN ou uma conexão do Direct Connect para acessá-la de uma rede privada. Para obter mais informações, consulte [Privacidade do tráfego entre redes](inter-network-traffic-privacy.md).  | Não disponível ao modificar uma instância de banco de dados. |  A alteração ocorre imediatamente. Essa configuração ignora a configuração para aplicar imediatamente.  |  Não ocorre uma inatividade durante esta alteração.  | 
| Tipo de armazenamento |  O tipo de armazenamento do seu cluster de banco de dados. Somente os armazenamentos SSD de uso geral (gp3), IOPS provisionadas (io1) e SSD de IOPS provisionadas (io2) são compatíveis. Para obter mais informações, consulte [Tipos de armazenamento do Amazon RDS](CHAP_Storage.md#Concepts.Storage).  |  **Opção da CLI:** `--storage-type` **Parâmetro da API do RDS:** `StorageType`  |  Se você optar por aplicar a alteração imediatamente, ela ocorrerá imediatamente. Se você não optar por aplicar a alteração imediatamente, ela ocorrerá durante a próxima janela de manutenção.  |  Não ocorre uma inatividade durante esta alteração.  | 
|  VPC grupo de segurança (Grupo de segurança da VPC  |  O grupo de segurança a ser associado ao cluster de banco de dados. Para ter mais informações, consulte [Visão geral dos grupos de segurança de VPC](Overview.RDSSecurityGroups.md#Overview.RDSSecurityGroups.VPCSec).  |  **Opção da CLI:** `--vpc-security-group-ids` **Parâmetro da API do RDS:** `VpcSecurityGroupIds`  |  A alteração é aplicada de forma assíncrona logo que possível. Essa configuração ignora a configuração para aplicar imediatamente.   |  Não ocorre uma inatividade durante esta alteração.  | 

## Configurações não aplicáveis ao modificar clusters de banco de dados multi-AZ
<a name="modify-multi-az-db-cluster-settings-not-applicable"></a>

As seguintes configurações no comando da AWS CLI [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) e na operação [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) da API do RDS não se aplicam a clusters de banco de dados multi-AZ.

Você também não pode modificar essas configurações para clusters de banco de dados multi-AZ no console.


| Configuração da AWS CLI | Configuração da API do RDS | 
| --- | --- | 
|  `--backtrack-window`  |  `BacktrackWindow`  | 
|  `--cloudwatch-logs-export-configuration`  |  `CloudwatchLogsExportConfiguration`  | 
|  `--copy-tags-to-snapshot \| --no-copy-tags-to-snapshot`  |  `CopyTagsToSnapshot`  | 
|  `--db-instance-parameter-group-name`  |  `DBInstanceParameterGroupName`  | 
|  `--domain`  |  `Domain`  | 
|  `--domain-iam-role-name`  |  `DomainIAMRoleName`  | 
|  `--enable-global-write-forwarding \| --no-enable-global-write-forwarding`  |  `EnableGlobalWriteForwarding`  | 
|  `--enable-http-endpoint \| --no-enable-http-endpoint`  |  `EnableHttpEndpoint`  | 
|  `--option-group-name`  |  `OptionGroupName`  | 
|  `--port`  |  `Port`  | 
|  `--scaling-configuration`  |  `ScalingConfiguration`  | 
|  `--storage-type`  |  `StorageType`  | 

# Atualização da versão de mecanismo de um cluster de banco de dados multi-AZ para o Amazon RDS
<a name="multi-az-db-clusters-upgrading"></a>

O Amazon RDS fornece versões mais recentes de cada mecanismo de banco de dados compatível, para que você possa manter o cluster de banco de dados multi-AZ atualizado. Este tópico explica o processo de atualização de um cluster de banco de dados multi-AZ para versões mais recentes.

A atualização de um cluster de banco de dados multi-AZ exige a seleção de uma nova versão de mecanismo compatível e o planejamento de um possível tempo de inatividade. O processo garante o mínimo de interrupção ao utilizar os recursos de failover da arquitetura multi-AZ. As práticas recomendadas incluem a realização de atualizações durante períodos de baixo tráfego, testes em ambientes que não sejam de produção e verificação da compatibilidade da aplicação com a nova versão.

**Topics**
+ [Atualizações de versões secundárias](#multi-az-db-clusters-upgrade-minor)
+ [Atualizações de versão principal](#multi-az-db-clusters-upgrade-major)
+ [Atualização de um cluster de banco de dados multi-AZ](#multi-az-db-clusters-upgrade-process)
+ [Atualização de réplicas de leitura de cluster de banco de dados multi-AZ](#multi-az-db-clusters-upgrade-replicas)
+ [Monitorar atualizações de cluster de banco de dados multi-AZ com eventos](#multi-az-db-clusters-upgrade-monitoring)

## Atualizações de versões secundárias
<a name="multi-az-db-clusters-upgrade-minor"></a>

Uma atualização de versão secundária inclui somente alterações compatíveis com versões anteriores dos aplicativos existentes. Quando você inicia uma atualização de versão secundária, o Amazon RDS primeiro atualiza as instâncias de banco de dados de leitor, uma por vez. Depois, uma das instâncias de banco de dados de leitor passa a ser a nova instância de banco de dados de gravador. Depois, o Amazon RDS atualiza a antiga instância de gravador (que agora é uma instância de leitor).

O tempo de inatividade durante a atualização é limitado ao tempo necessário para que uma das instâncias de banco de dados de leitor se torne a nova instância de banco de dados de gravador. Esse tempo de inatividade funciona como um failover automático. Para obter mais informações, consulte [Fazer failover de um cluster de banco de dados multi-AZ para o Amazon RDS](multi-az-db-clusters-concepts-failover.md). Observe que o atraso da réplica do cluster de banco de dados multi-AZ pode afetar o tempo de inatividade. Para obter mais informações, consulte [Atraso de réplica e clusters de banco de dados multi-AZ](multi-az-db-clusters-concepts.md#multi-az-db-clusters-concepts-replica-lag).

Para réplicas de leitura de cluster de banco de dados multi-AZ do RDS para PostgreSQL, o Amazon RDS atualiza as instâncias membros do cluster uma por vez. Os perfis do cluster de leitor e gravador não mudam durante a atualização. Portanto, o cluster de banco de dados pode passar por tempo de inatividade enquanto o Amazon RDS atualiza a instância de gravador de cluster.

**nota**  
O tempo de inatividade para uma atualização da versão secundária de cluster de banco de dados multi-AZ é geralmente de 35 segundos. Quando usado com o RDS Proxy, é possível reduzir ainda mais o tempo de inatividade para um segundo ou menos. Para obter mais informações, consulte [Amazon RDS Proxy](rds-proxy.md). Como alternativa, é possível usar um proxy de banco de dados de código aberto, como [ProxySQL](https://aws.amazon.com/blogs/database/achieve-one-second-or-less-of-downtime-with-proxysql-when-upgrading-amazon-rds-multi-az-deployments-with-two-readable-standbys/), [PgBouncer](https://aws.amazon.com/blogs/database/fast-switchovers-with-pgbouncer-on-amazon-rds-multi-az-deployments-with-two-readable-standbys-for-postgresql/) ou [driver avançado de encapsulamento JDBC da AWS](https://aws.amazon.com/blogs/database/achieve-one-second-or-less-downtime-with-the-advanced-jdbc-wrapper-driver-when-upgrading-amazon-rds-multi-az-db-clusters/). 

## Atualizações de versão principal
<a name="multi-az-db-clusters-upgrade-major"></a>

Um upgrade de versão principal pode apresentar alterações não compatíveis com aplicações existentes. 

Ao iniciar uma atualização de versão principal de um cluster de banco de dados multi-AZ do RDS para PostgreSQL, o Amazon RDS atualiza simultaneamente as instâncias de leitor e gravador. Portanto, o cluster de banco de dados pode não estar disponível até que a atualização seja concluída. 

Quando você inicia uma atualização de versão principal de um cluster de banco de dados multi-AZ do RDS para MySQL, o Amazon RDS atualiza as instâncias membros do cluster uma por vez, para que a replicação ocorra de uma versão de mecanismo anterior para uma posterior. É importante garantir que a workload seja compatível com as versões do mecanismo de origem e de destino durante uma atualização de versão principal, pois as versões do mecanismo podem diferir em sintaxe e recursos.

**nota**  
Assim como nas atualizações de versão secundária, o tempo de inatividade para uma atualização de versão principal do RDS para MySQL é geralmente de 35 segundos. Quando usado com o RDS Proxy, é possível reduzir ainda mais o tempo de inatividade para um segundo ou menos. Para obter mais informações, consulte [Amazon RDS Proxy](rds-proxy.md).

## Atualização de um cluster de banco de dados multi-AZ
<a name="multi-az-db-clusters-upgrade-process"></a>

O processo de atualização da versão do mecanismo de um cluster de banco de dados multi-AZ é o mesmo processo de atualização de uma versão do mecanismo de instância de banco de dados. Para instruções, consulte [Atualizar a versão de mecanismo de uma instância de banco de dados ](USER_UpgradeDBInstance.Upgrading.md). A única diferença é que, ao usar a AWS Command Line Interface (AWS CLI), você usa o comando [modifique-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) e especifica o parâmetro `--db-cluster-identifier` (bem como o parâmetro `--allow-major-version-upgrade`).

Para ter mais informações sobre atualizações de versões principais e secundárias, consulte a seguinte documentação do mecanismo de banco de dados:
+ [Atualizações do mecanismo de banco de dados do RDS para PostgreSQL](USER_UpgradeDBInstance.PostgreSQL.md)
+ [Atualizações do mecanismo de banco de dados do RDS para MySQL](USER_UpgradeDBInstance.MySQL.md)

## Atualização de réplicas de leitura de cluster de banco de dados multi-AZ
<a name="multi-az-db-clusters-upgrade-replicas"></a>

O Amazon RDS não atualiza automaticamente réplicas de leitura de clusters de banco de dados multi-AZ. Com relação às atualizações de versão *secundária*, primeiro é necessário atualizar manualmente todas as réplicas de leitura e, depois, atualizar o cluster. Caso contrário, a atualização será bloqueada. Quando você realiza uma atualização de versão*principal* de um cluster, o estado da replicação de todas as réplicas de leitura muda para **Encerrado**. Você deve excluir e recriar as réplicas de leitura após a conclusão da atualização. Para obter mais informações, consulte [Monitoramento da replicação de leitura](USER_ReadRepl.Monitoring.md).

## Monitorar atualizações de cluster de banco de dados multi-AZ com eventos
<a name="multi-az-db-clusters-upgrade-monitoring"></a>

Quando você atualiza a versão do mecanismo de um cluster de banco de dados multi-AZ, o Amazon RDS emite um evento específico durante cada fase do processo. Para acompanhar o progresso de uma atualização, você pode visualizar ou assinar esses eventos.

 Para acessar mais informações sobre eventos do RDS, consulte [Monitorar eventos do Amazon RDS](working-with-events.md).

Para acessar informações detalhadas sobre um evento específico do Amazon RDS ocorrido durante a atualização do seu mecanismo, consulte [Categorias de eventos e mensagens de eventos ](USER_Events.Messages.md).

# Renomear um cluster de banco de dados multi-AZ para o Amazon RDS
<a name="multi-az-db-cluster-rename"></a>

Você pode renomear um cluster de banco de dados multi-AZ utilizando o Console de gerenciamento da AWS, comando `modify-db-cluster` da AWS CLI ou a operação `ModifyDBCluster` da API do Amazon RDS. Renomear um cluster de banco de dados multi-AZ pode ter efeitos significativos. Veja a seguir uma lista de considerações antes de renomear um cluster de banco de dados multi-AZ.
+ Quando você renomeia um cluster de banco de dados multi-AZ, os endpoints de cluster do cluster de banco de dados multi-AZ são alterados. Esses endpoints mudam porque incluem o nome que você atribuiu ao cluster de banco de dados multi-AZ. Você pode redirecionar o tráfego de um endpoint antigo para um novo. Para obter mais informações sobre endpoints de cluster de banco de dados multi-AZ, consulte [Conectar-se a um cluster de banco de dados multi-AZ no Amazon RDS](multi-az-db-clusters-concepts-connection-management.md).
+ Ao renomear um cluster de banco de dados multi-AZ, o nome DNS antigo que era usado pelo cluster é excluído, embora ele possa permanecer armazenado em cache por alguns minutos. O novo nome DNS do cluster de banco de dados multi-AZ renomeado entra em vigor em, aproximadamente, dois minutos. O cluster de banco de dados multi-AZ renomeado não fica disponível até que o novo nome entre em vigor.
+ Você não pode usar um nome de cluster de banco de dados multi-AZ existente ao renomear um cluster.
+ Métricas e eventos associados ao nome de um cluster de banco de dados multi-AZ serão mantidos se você reutilizar um nome de cluster de banco de dados.
+ As tags de cluster de banco de dados multi-AZ permanecem no cluster de banco de dados multi-AZ, independentemente da renomeação.
+ Snapshots de cluster de banco de dados são retidos para um cluster de banco de dados multi-AZ renomeado.

**nota**  
Um cluster de banco de dados multi-AZ é um ambiente de banco de dados isolado em execução na nuvem. Um cluster de banco de dados multi-AZ pode hospedar vários bancos de dados. Para obter informações sobre como alterar um nome de banco de dados, consulte a documentação do seu mecanismo de banco de dados.

## Renomear para substituir um cluster de banco de dados multi-AZ existente
<a name="multi-az-db-cluster-rename-to-replace"></a>

As situações mais comuns para renomear um cluster de banco de dados multi-AZ incluem restaurar dados de um snapshot de cluster de banco de dados ou realizar uma recuperação a um ponto anterior no tempo (PITR). Ao renomear o cluster de banco de dados multi-AZ, você pode substituir o cluster de banco de dados multi-AZ sem alterar nenhum código de aplicação que faça referência ao cluster de banco de dados multi-AZ. Nesses casos, conclua as seguintes etapas: 

1. Interrompa todo o tráfego para o cluster de banco de dados multi-AZ. É possível redirecionar o tráfego, impedindo-o de acessar os bancos de dados no cluster de banco de dados multi-AZ ou selecionar outra forma de impedir que o tráfego acesse seus bancos de dados no cluster de banco de dados multi-AZ. 

1. Renomeia o cluster de banco de dados multi-AZ existente.

1. Crie um cluster de banco de dados multi-AZ restaurando-o de um snapshot de banco de dados ou recuperando-o para um momento específico. Depois, dê ao cluster de banco de dados multi-AZ o nome do cluster de banco de dados multi-AZ anterior.

Se você excluir o cluster de banco de dados multi-AZ antigo, será responsável por excluir qualquer snapshot de banco de dados indesejado do cluster de banco de dados multi-AZ antigo.

## Console
<a name="multi-az-db-cluster-rename.CON"></a>

**Como renomear um cluster de banco de dados multi-AZ**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Bancos de dados**.

1. Selecione o cluster de banco de dados multi-AZ que você deseja renomear.

1. Escolha **Modificar**.

1. Em **Settings** (Configurações), digite um novo nome para **DB cluster identifier** (Identificador do cluster de banco de dados).

1. Escolha **Continue**.

1. Para aplicar as alterações imediatamente, escolha **Apply immediately**. Escolher essa opção pode causar uma interrupção em alguns casos. Para ter mais informações, consulte [Aplicar alterações imediatamente](modify-multi-az-db-cluster.md#modify-multi-az-db-cluster-apply-immediately). 

1. Na página de confirmação, revise suas alterações. Se estiverem corretas, escolha **Modify cluster (Modificar cluster)** para salvar as alterações.

   Como alternativa, selecione **Back** (Voltar) para editar suas alterações ou **Cancel** (Cancelar) para cancelar as alterações.

## AWS CLI
<a name="multi-az-db-cluster-rename.CLI"></a>

Para renomear um cluster de banco de dados multi-AZ, use o comando [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) da AWS CLI. Forneça ao valor `--db-cluster-identifier` atual e ao parâmetro `--new-db-cluster-identifier` o novo nome do cluster de banco de dados multi-AZ.

**Example**  
Para Linux, macOS ou Unix:  

```
1. aws rds modify-db-cluster \
2.     --db-cluster-identifier DBClusterIdentifier \
3.     --new-db-cluster-identifier NewDBClusterIdentifier
```
Para Windows:  

```
1. aws rds modify-db-cluster ^
2.     --db-cluster-identifier DBClusterIdentifier ^
3.     --new-db-cluster-identifier NewDBClusterIdentifier
```

## API do RDS
<a name="multi-az-db-cluster-rename.API"></a>

Para renomear um cluster de bancos de dados multi-AZ, chame a operação [ ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) da API do Amazon RDS com os seguintes parâmetros:
+ `DBClusterIdentifier`: o nome existente do cluster de banco de dados.
+ `NewDBClusterIdentifier`: o novo nome do cluster de banco de dados.

# Reinicializar um cluster de banco de dados multi-AZ e instâncias de banco de dados de leitor do Amazon RDS
<a name="multi-az-db-clusters-concepts-rebooting"></a>

Talvez você precise reiniciar seu cluster de banco de dados Multi-AZ, geralmente por razões de manutenção. Por exemplo, se você fizer certas modificações ou alterar o grupo de parâmetros do cluster de banco de dados associado a um cluster de banco de dados, reinicialize o cluster de banco de dados. Isso faz com que as alterações entrem em vigor. 

Se um cluster de banco de dados não estiver usando as alterações mais recentes no grupo de parâmetros de cluster de banco de dados associado, o Console de gerenciamento da AWS mostrará o grupo de parâmetros do cluster de banco de dados com um status **pending-reboot**. O status **pending-reboot (reinicialização pendente)** do grupo de parâmetros não resultará em uma reinicialização automática durante a próxima janela de manutenção. Para aplicar as alterações de parâmetro mais recentes a esse cluster de banco de dados, reinicie manualmente o cluster de banco de dados. Para ter mais informações sobre parameter groups, consulte [Grupos de parâmetros para clusters de banco de dados multi-AZ](multi-az-db-clusters-concepts.md#multi-az-db-clusters-concepts-parameter-groups).

A reinicialização de um cluster de banco de dados reinicia o serviço do mecanismo de banco de dados. A reinicialização de um cluster de banco de dados resulta em uma paralisação momentânea, durante a qual o status do cluster é definido como **rebooting**.

Você não poderá reiniciar seu cluster de banco de dados se ele não estiver no estado **Available**. Seu banco de dados pode ficar indisponível devido a vários motivos, como um backup em andamento, uma modificação solicitada anteriormente ou uma ação de janela de manutenção.

O tempo necessário para reinicializar o cluster de banco de dados depende do processo de recuperação de falhas, da atividade do banco de dados no momento da reinicialização e do comportamento do cluster de banco de dados específico. Para melhorar o tempo de reinicialização, recomendamos reduzir as atividades do banco de dados o máximo possível durante o processo de reinicialização. A redução das atividades do banco de dados reduz as atividades de reversão para transações em trânsito. 

**Importante**  
Clusters de banco de dados Multi-AZ não oferecem suporte para reinicialização com um failover. Quando você reinicializa a instância de gravador de um cluster de banco de dados Multi-AZ, ela não afeta as instâncias de banco de dados de leitor nesse cluster de banco de dados e nenhum failover ocorre. Quando você reinicializa uma instância de banco de dados de leitor, nenhum failover ocorre. Para fazer failover de um cluster de banco de dados Multi-AZ, escolha **Failover** no console, chame o comando da AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/failover-db-cluster.html](https://docs.aws.amazon.com/cli/latest/reference/rds/failover-db-cluster.html) ou chame a operação de API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_FailoverDBCluster.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_FailoverDBCluster.html).

## Console
<a name="USER_RebootMultiAZDBCluster.Console"></a>

**Para reinicializar um cluster de banco de dados**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Databases** (Bancos de dados) e depois o cluster de banco de dados Multi-AZ que você deseja reinicializar. 

1. Em **Actions (Ações)**, escolha **Reboot (Reiniciar)**. 

   A página **Reboot DB cluster** (Reinicializar cluster de banco de dados) é exibida.

1. Escolha **Reboot** (Reinicializar) para reinicializar seu cluster de banco de dados. 

   Ou escolha **Cancel (Cancelar)**. 

## AWS CLI
<a name="USER_RebootMultiAZDBCluster.CLI"></a>

Para reinicializar um cluster de banco de dados multi-AZ utilizando a AWS CLI, chame o comando [reboot-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/reboot-db-cluster.html). 

```
aws rds reboot-db-cluster --db-cluster-identifier mymultiazdbcluster
```

## API do RDS
<a name="USER_RebootMultiAZDBCluster.API"></a>

Para reinicializar um cluster de banco de dados Multi-AZ usando a API do Amazon RDS, chame a operação [RebootDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RebootDBCluster.html). 

# Fazer failover de um cluster de banco de dados multi-AZ para o Amazon RDS
<a name="multi-az-db-clusters-concepts-failover"></a>

Se houver uma interrupção planejada ou não planejada da sua instância de banco de dados de gravador em um cluster de banco de dados multi-AZ, o Amazon RDS fará o failover automaticamente para uma instância de banco de dados de leitor em uma zona de disponibilidade diferente. Isso garante alta disponibilidade com o mínimo de interrupções. Os failovers podem ocorrer durante falhas de hardware, problemas de rede ou solicitações manuais. O tópico descreve a detecção automática de falhas, a sequência de eventos durante o failover e seu impacto nas operações de leitura e gravação. Ele também apresenta práticas recomendadas para monitorar e minimizar os tempos de failover.

O tempo de conclusão do failover depende da atividade do banco de dados e de outras condições no momento em que a instância de banco de dados de gravador se tornou indisponível. Em geral, os tempos de failover ficam abaixo de 35 segundos. O failover será concluído quando ambas as instâncias de banco de dados de leitor tiverem aplicado transações pendentes do gravador com falha. Quando o failover é concluído, o console do RDS pode levar mais um tempo para refletir a nova zona de disponibilidade.

**Topics**
+ [Failovers automáticos](#multi-az-db-clusters-concepts-failover-automatic)
+ [Fazer o failover manual de cluster de banco de dados multi-AZ](#multi-az-db-clusters-concepts-failover-manual)
+ [Determinar se um cluster de banco de dados multi-AZ fez failover](#multi-az-db-clusters-concepts-failover-determining)
+ [Definir o JVM TTL para pesquisas de nome DNS](#multi-az-db-clusters-concepts-failover-java-dns)

## Failovers automáticos
<a name="multi-az-db-clusters-concepts-failover-automatic"></a>

O Amazon RDS processa os failovers automaticamente para que você possa retomar as operações de banco de dados o mais rápido possível e sem intervenção administrativa. Para fazer failover, a instância de banco de dados de gravador alterna automaticamente para uma instância de banco de dados de leitor.

## Fazer o failover manual de cluster de banco de dados multi-AZ
<a name="multi-az-db-clusters-concepts-failover-manual"></a>

Se você fizer failover de um cluster de banco de dados multi-AZ manualmente, o RDS primeiro encerrará a instância de banco de dados primária. Depois, o sistema de monitoramento interno detecta que a instância de banco de dados primária não está íntegra e promove uma instância de banco de dados de réplica legível. Em geral, os tempos de failover ficam abaixo de 35 segundos.

Você pode fazer failover de um cluster de banco de dados multi-AZ manualmente usando o Console de gerenciamento da AWS, a AWS CLI ou a API do RDS.

### Console
<a name="multi-az-db-clusters-concepts-failover-manual-con"></a>

**Para fazer failover de um cluster de banco de dados multi-AZ manualmente**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Bancos de dados**.

1. Escolha o cluster de banco de dados multi-AZ do qual você deseja fazer failover.

1. Em **Actions** (Ações), selecione **Failover**.

   A página **Cluster de banco de dados de failover** é exibida.

1. Selecione **Failover** para confirmar o failover manual.

### AWS CLI
<a name="multi-az-db-clusters-concepts-failover-manual-cli"></a>

Para fazer failover de um cluster de banco de dados multi-AZ manualmente, utilize o comando da AWS CLI [ failover-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/failover-db-cluster.html).

**Example**  

```
1. aws rds failover-db-cluster --db-cluster-identifier mymultiazdbcluster
```

### API do RDS
<a name="multi-az-db-clusters-concepts-failover-manual-api"></a>

Para fazer failover de um cluster de banco de dados multi-AZ manualmente, chame a API [FailoverDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_FailoverDBCluster.html) do Amazon RDS e especifique o `DBClusterIdentifier`.

## Determinar se um cluster de banco de dados multi-AZ fez failover
<a name="multi-az-db-clusters-concepts-failover-determining"></a>

Para determinar se ocorreu failover no cluster de banco de dados multi-AZ, faça o seguinte:
+ Configure assinaturas de eventos de banco de dados para notificar você por e-mail ou SMS de que um failover foi iniciado. Para ter mais informações sobre eventos do , consulte [Trabalhar com a notificação de eventos do Amazon RDS](USER_Events.md).
+ Visualize seus eventos de banco de dados usando o console do Amazon RDS ou operações de API.
+ Veja o estado atual do seu cluster de banco de dados multi-AZ utilizando o console do Amazon RDS, a AWS CLI e a API do RDS.

Para obter informações sobre como você pode responder aos failovers, reduzir o tempo de recuperação e outras melhores práticas para o Amazon RDS, consulte [Práticas recomendadas do Amazon RDS](CHAP_BestPractices.md).

## Definir o JVM TTL para pesquisas de nome DNS
<a name="multi-az-db-clusters-concepts-failover-java-dns"></a>

O mecanismo de failover modifica automaticamente o registro de Domain Name System (DNS) da instância de banco de dados para apontar para a instância de banco de dados de leitor. Como resultado, você precisará restabelecer todas as conexões existentes para sua instância de banco de dados. Em um ambiente de máquina virtual Java (JVM), devido à forma como o mecanismo de cache DNS do Java funciona, talvez seja necessário reconfigurar as configurações da JVM.

A JVM armazena em cache pesquisas de nome DNS. Ao resolver um nome de host para um endereço IP, a JVM armazena em cache o endereço IP por um período especificado, conhecido como *Time-To-Live* (TTL – Vida útil).

Como os recursos AWS usam entradas de nome DNS que acabam mudando, recomendamos configurar a JVM com um valor TTL de até 60 segundos. Isso garante que quando o endereço IP de um recurso mudar, seu aplicativo poderá receber e usar o novo endereço IP do recurso, consultando novamente o DNS.

Em algumas configurações do Java, o TTL padrão da JVM é definido de maneira que jamais atualiza entradas DNS até a JVM ser reiniciada. Por isso, se o endereço IP de um recurso AWS mudar enquanto a aplicação ainda estiver em execução, não será possível usar esse recurso até você reiniciar manualmente a JVM e as informações de IP armazenadas em cache serem atualizadas. Nesse caso, é crucial definir o TTL da JVM, de forma que ele atualize periodicamente as informações de IP armazenadas em cache.

**nota**  
O TTL padrão pode variar de acordo com a versão da JVM e a possibilidade de um gerenciador de segurança estar instalado. Muitas JVMs oferecem um TTL padrão menor que 60 segundos. Se estiver usando uma JVM como essa, e não um gerenciador de segurança, será possível ignorar o restante deste tópico. Para ter mais informações sobre gerenciadores de segurança no Oracle, consulte [The security manager](https://docs.oracle.com/javase/tutorial/essential/environment/security.html) (O gerenciador de segurança) na documentação do Oracle.

Para modificar o TTL da JVM, defina o valor da propriedade [https://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html](https://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html). Use um dos seguintes métodos, dependendo das necessidades:
+ Para definir o valor da propriedade globalmente para todos os aplicativos que usam a JVM, defina `networkaddress.cache.ttl` no arquivo `$JAVA_HOME/jre/lib/security/java.security`.

  ```
  networkaddress.cache.ttl=60								
  ```
+ Para definir a propriedade localmente somente para seu aplicativo, defina `networkaddress.cache.ttl` no código de inicialização do aplicativo antes de quaisquer conexões de rede serem estabelecidas.

  ```
  java.security.Security.setProperty("networkaddress.cache.ttl" , "60");									
  ```

# Configurar a replicação lógica do PostgreSQL com clusters de banco de dados multi-AZ para o Amazon RDS
<a name="USER_MultiAZDBCluster_LogicalRepl"></a>

Ao usar a replicação lógica do PostgreSQL com seu cluster de banco de dados multi-AZ, você pode replicar e sincronizar tabelas individuais em vez de toda a instância do banco de dados. A replicação lógica usa um modelo de publicação e de assinatura para replicar as alterações de uma fonte para um ou mais destinatários. Ela funciona usando registros de alterações do log de gravação antecipada (WAL) do PostgreSQL. Para obter mais informações, consulte [Executar replicação lógica para o Amazon RDS para PostgreSQL](PostgreSQL.Concepts.General.FeatureSupport.LogicalReplication.md).

Quando você cria um slot de replicação lógica na instância de banco de dados do gravador de um cluster de banco de dados multi-AZ, o slot é copiado de forma assíncrona para cada instância de banco de dados do leitor no cluster. Os slots nas instâncias de banco de dados do leitor são continuamente sincronizados com os da instância de banco de dados do gravador.

A replicação lógica é compatível com clusters de banco de dados multi-AZ que executam o RDS para PostgreSQL versão 14.8-R2 ou posterior e versão 15.3-R2 ou posterior.

**nota**  
Além do atributo nativo de replicação lógica do PostgreSQL, os clusters de banco de dados multi-AZ que executam o RDS para PostgreSQL também são compatíveis com a extensão `pglogical`.

Para obter mais informações sobre a replicação lógica do PostgreSQL, consulte [Logical replication](https://www.postgresql.org/docs/current/logical-replication.html) na documentação do PostgreSQL.

**Topics**
+ [Pré-requisitos](#multi-az-db-clusters-logical-replication-prereqs)
+ [Configurar a replicação lógica](#multi-az-db-clusters-logical-replication)
+ [Limitações e recomendações](#multi-az-db-clusters-logical-replication-limitations)

## Pré-requisitos
<a name="multi-az-db-clusters-logical-replication-prereqs"></a>

Para configurar a replicação lógica do PostgreSQL para clusters de banco de dados multi-AZ, você deve cumprir os pré-requisitos a seguir.
+ Sua conta de usuário deve ser membro do grupo `rds_superuser` e ter privilégios de `rds_superuser`. Para obter mais informações, consulte [Noções básicas de perfis e permissões do PostgreSQL](Appendix.PostgreSQL.CommonDBATasks.Roles.md).
+ Seu cluster de banco de dados multi-AZ deve estar associado a um grupo de parâmetros de cluster de banco de dados personalizado para que você possa configurar os valores dos parâmetros descritos no procedimento a seguir. Para obter mais informações, consulte [Trabalhar com grupos de parâmetros de clusters de banco de dados multi-AZ](USER_WorkingWithDBClusterParamGroups.md).

## Configurar a replicação lógica
<a name="multi-az-db-clusters-logical-replication"></a>

Para configurar a replicação lógica para um cluster de banco de dados multi-AZ, habilite parâmetros específicos dentro do grupo de parâmetros do cluster de banco de dados associado, depois crie slots de replicação lógica.

**nota**  
A partir da versão 16 do PostgreSQL, é possível usar as instâncias de banco de dados de leitor do cluster de banco de dados multi-AZ para replicação lógica.

**Como configurar a replicação lógica para um cluster de banco de dados multi-AZ do RDS para PostgreSQL**

1. Abra o grupo de parâmetros de cluster de banco de dados personalizado associado ao seu cluster de banco de dados multi-AZ do RDS para PostgreSQL. 

1. No campo de pesquisa **Parâmetros**, encontre o parâmetro estático `rds.logical_replication` e defina seu valor como `1`. Essa alteração de parâmetro pode aumentar a geração de WAL, portanto habilite-o somente quando for usar slots lógicos.

1. Como parte dessa alteração, configure os seguintes parâmetros do cluster de banco de dados.
   + `max_wal_senders`
   + `max_replication_slots`
   + `max_connections`

   Dependendo do uso esperado, talvez você também precise alterar os valores dos parâmetros a seguir. No entanto, em muitos casos, os valores padrão são suficientes.
   + `max_logical_replication_workers`
   + `max_sync_workers_per_subscription`

1. Reinicialize o cluster de banco de dados multi-AZ para que os valores dos parâmetros entrem em vigor. Para instruções, consulte [Reinicializar um cluster de banco de dados multi-AZ e instâncias de banco de dados de leitor do Amazon RDS](multi-az-db-clusters-concepts-rebooting.md).

1. Crie um slot de replicação lógica na instância de banco de dados do gravador do cluster de banco de dados multi-AZ, conforme explicado em [Como trabalhar com slots de replicação lógica](PostgreSQL.Concepts.General.FeatureSupport.LogicalReplication.md#PostgreSQL.Concepts.General.FeatureSupport.LogicalReplicationSlots). Esse processo requer que você especifique um plug-in de decodificação. No momento, o RDS para PostgreSQL é compatível com os plug-ins `test_decoding`, `wal2json` e `pgoutput` que acompanham o PostgreSQL.

   O slot é copiado de forma assíncrona para cada instância de banco de dados do leitor no cluster.

1. Verifique o estado do slot em todas as instâncias de banco de dados do leitor do cluster de banco de dados multi-AZ. Para fazer isso, inspecione a exibição de `pg_replication_slots` em todas as instâncias de banco de dados do leitor e verifique se o estado de `confirmed_flush_lsn` está progredindo enquanto a aplicação está consumindo ativamente as alterações lógicas.

   Os comandos a seguir demonstram como inspecionar o estado da replicação nas instâncias de banco de dados do leitor.

   ```
   % psql -h test-postgres-instance-2.abcdefabcdef.us-west-2.rds.amazonaws.com
   
   postgres=> select slot_name, slot_type, confirmed_flush_lsn from pg_replication_slots;
     slot_name   | slot_type | confirmed_flush_lsn
   --------------+-----------+---------------------
    logical_slot | logical   | 32/D0001700
   (1 row)
   
   postgres=> select slot_name, slot_type, confirmed_flush_lsn from pg_replication_slots;
     slot_name   | slot_type | confirmed_flush_lsn
   --------------+-----------+---------------------
    logical_slot | logical   | 32/D8003628
   (1 row)
   
   % psql -h test-postgres-instance-3.abcdefabcdef.us-west-2.rds.amazonaws.com
   
   postgres=> select slot_name, slot_type, confirmed_flush_lsn from pg_replication_slots;
     slot_name   | slot_type | confirmed_flush_lsn
   --------------+-----------+---------------------
    logical_slot | logical   | 32/D0001700
   (1 row)
   
   postgres=> select slot_name, slot_type, confirmed_flush_lsn from pg_replication_slots;
     slot_name   | slot_type | confirmed_flush_lsn
   --------------+-----------+---------------------
    logical_slot | logical   | 32/D8003628
   (1 row)
   ```

Depois de concluir as tarefas de replicação, interrompa o processo de replicação, elimine os slots de replicação e desative a replicação lógica. Para desativar a replicação lógica, modifique o grupo de parâmetros do cluster de banco de dados e defina o valor de `rds.logical_replication` de volta para `0`. Reinicialize o cluster para que a alteração do parâmetro entre em vigor.

## Limitações e recomendações
<a name="multi-az-db-clusters-logical-replication-limitations"></a>

As seguintes limitações e recomendações se aplicam ao uso da replicação lógica com clusters de banco de dados multi-AZ que executam o PostgreSQL versão 16:
+ É possível usar somente instâncias de banco de dados de gravador para criar ou descartar slots de replicação lógica. Por exemplo, o comando `CREATE SUBSCRIPTION` deve usar o endpoint de gravador de cluster na string de conexão do host.
+ É necessário usar o endpoint de gravador de cluster durante qualquer sincronização ou nova sincronização de tabelas. Por exemplo, é possível usar os seguintes comandos para sincronizar novamente uma tabela recém-adicionada:

  ```
  Postgres=>ALTER SUBSCRIPTION subscription-name CONNECTION host=writer-endpoint
  Postgres=>ALTER SUBSCRIPTION subscription-name REFRESH PUBLICATION
  ```
+ É necessário aguardar a conclusão da sincronização da tabela antes de usar as instâncias de banco de dados de leitor para replicação lógica. É possível usar a tabela de catálogos do `[pg\$1subscription\$1rel](https://www.postgresql.org/docs/current/catalog-pg-subscription-rel.html)` para monitorar a sincronização das tabelas. A sincronização da tabela será concluída quando a coluna `srsubstate` for definida como pronta (`r`).
+ Recomendamos usar endpoints de instância para conexão de replicação lógica quando a sincronização inicial da tabela for concluída. O comando a seguir reduz a carga na instância de banco de dados de gravador ao transferir a replicação para uma das instâncias de banco de dados de leitor:

  ```
  Postgres=>ALTER SUBSCRIPTION subscription-name CONNECTION host=reader-instance-endpoint
  ```

  Não é possível usar o mesmo slot em mais de uma instância de banco de dados ao mesmo tempo. Quando duas ou mais aplicações estão replicando alterações lógicas de instâncias de banco de dados diferentes no cluster, algumas alterações podem ser perdidas devido a um failover do cluster ou um problema de rede. Nessas situações, é possível usar endpoints de instância para replicação lógica na string de conexão do host. A outra aplicação usando a mesma configuração mostrará a seguinte mensagem de erro:

  ```
  replication slot slot_name is already active for PID x providing immediate feedback.
  ```
+ Ao usar a extensão `pglogical`, você só pode usar o endpoint do gravador de cluster. A extensão tem limitações conhecidas que podem criar slots de replicação lógica não utilizados durante a sincronização da tabela. Os slots de replicação obsoletos reservam arquivos de log de gravação antecipada (WAL) e podem causar problemas de espaço em disco.

# Trabalhar com réplicas de leitura de cluster de banco de dados multi-AZ para o Amazon RDS
<a name="USER_MultiAZDBCluster_ReadRepl"></a>

Uma réplica de leitura de cluster de banco de dados é um tipo especial de cluster que você cria de uma instância de banco de dados de origem. Depois de criar uma réplica de leitura, todas as atualizações feitas na instância de banco de dados primária são copiadas de forma assíncrona na réplica de leitura do cluster de banco de dados multi-AZ. É possível reduzir a carga na instância de banco de dados primária roteando as consultas de leitura dos aplicativos para a réplica de leitura. Com o uso de réplicas de leitura, é possível expandir de maneira elástica para além das limitações de capacidade de uma única instância de banco de dados para workloads de banco de dados com muita leitura.

Também é possível criar uma ou mais réplicas de leitura de instância de banco de dados de um cluster de banco de dados multi-AZ. As réplicas de leitura de instâncias de banco de dados permitem que você escale além da capacidade de computação ou de E/S do cluster de banco de dados multi-AZ de origem, direcionando o excesso de tráfego de leitura para as réplicas de leitura. Atualmente, não é possível criar uma réplica de leitura de cluster de banco de dados multi-AZ por meio de um cluster de banco de dados multi-AZ existente.

Ao escolher entre migrar para um cluster de banco de dados multi-AZ utilizando uma réplica de leitura ou criar uma réplica de leitura de instância de banco de dados com base em um cluster de banco de dados multi-AZ, considere seu caso de uso e os requisitos de desempenho específicos.

**Migrar para um cluster de banco de dados multi-AZ utilizando uma réplica de leitura**  
Essa abordagem é ideal quando você precisa aprimorar a disponibilidade e a durabilidade do banco de dados e, ao mesmo tempo, minimizar o tempo de inatividade. Ao usar uma réplica de leitura na transição para um cluster de banco de dados multi-AZ, é possível garantir a operação contínua e a consistência de dados. Esse método é particularmente útil para ambientes de produção em que essencial manter a disponibilidade e reduzir o impacto nas workloads ativas.

**Criar uma réplica de leitura de instância de banco de dados de um cluster de banco de dados multi-AZ**  
Esse método é adequado quando você deseja escalar as operações de leitura ou descarregar o tráfego de leitura da instância do banco de dados primário. Ao criar uma réplica de leitura de um cluster de banco de dados multi-AZ existente, é possível distribuir workloads intensas em leitura e melhorar o desempenho sem afetar a estabilidade da instância primária.

Escolher a abordagem certa depende se sua prioridade é garantir alta disponibilidade e durabilidade ou escalar o desempenho de leitura. Avalie as características da workload e os requisitos operacionais para tomar uma decisão embasada.

**Topics**
+ [Migrar para um cluster de banco de dados multi-AZ utilizando uma réplica de leitura](multi-az-db-clusters-migrating-to-with-read-replica.md)
+ [Criar uma réplica de leitura de instância de banco de dados de um cluster de banco de dados multi-AZ](multi-az-db-clusters-create-instance-read-replica.md)

# Migrar para um cluster de banco de dados multi-AZ utilizando uma réplica de leitura
<a name="multi-az-db-clusters-migrating-to-with-read-replica"></a>

Para migrar uma implantação single-AZ ou uma implantação de instância de banco de dados multi-AZ para uma implantação de cluster de banco de dados multi-AZ com tempo de inatividade reduzido, você pode criar uma réplica de leitura de cluster de banco de dados multi-AZ. Para a origem, especifique a instância de banco de dados na implantação single-AZ ou a instância de banco de dados primária na implantação da instância de banco de dados multi-AZ. A instância de banco de dados pode processar transações de gravação durante a migração para um cluster de banco de dados multi-AZ.

Considere o seguinte antes de criar uma réplica de leitura do cluster de banco de dados multi-AZ:
+ A instância de banco de dados de origem deve estar em uma versão que seja compatível com clusters de banco de dados multi-AZ. Para ter mais informações, consulte [Regiões e mecanismos de banco de dados compatíveis com clusters de banco de dados multi-AZ no Amazon RDS](Concepts.RDS_Fea_Regions_DB-eng.Feature.MultiAZDBClusters.md).
+ A réplica de leitura do cluster de banco de dados multi-AZ deve estar na mesma versão principal da origem e na mesma versão secundária ou superior.
+ Você deve ativar backups automáticos na instância de banco de dados de origem, definindo o período de retenção de backup como um valor diferente de 0.
+ O armazenamento alocado da instância de banco de dados de origem deve ser de 100 GiB ou mais.
+ Para o RDS para MySQL, os parâmetros `gtid-mode` e `enforce_gtid_consistency` devem ser definidos como `ON` para a instância de banco de dados de origem. Você deve usar um grupo de parâmetros personalizado, não o grupo de parâmetros padrão. Para ter mais informações, consulte [Grupos de parâmetros de banco de dados para instâncias de banco de dados do Amazon RDS](USER_WorkingWithDBInstanceParamGroups.md).
+ 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 a instância de banco de dados de origem para uma réplica de leitura de cluster de banco de dados multi-AZ, a réplica de leitura será promovida para um cluster de banco de dados multi-AZ autônomo.

## Criar e promover a réplica de leitura do cluster de banco de dados multi-AZ
<a name="multi-az-db-clusters-migrating-to-create-promote"></a>

Você pode criar e promover um cluster de banco de dados multi-AZ usando o Console de gerenciamento da AWS, 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 da instância de banco de dados de origem.  
Se você criar uma réplica de leitura em uma VPC diferente da instância de banco de dados de origem, os intervalos de Encaminhamento Entre Domínios Sem Classificação (CIDR) podem se sobrepor entre a réplica e o sistema do Amazon 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](USER_VPC.WorkingWithRDSInstanceinaVPC.md).

### Console
<a name="multi-az-db-clusters-migrating-to-create-promote-console"></a>

Para migrar uma implantação single-AZ ou uma implantação de instância de banco de dados multi-AZ para um cluster de banco de dados multi-AZ usando uma réplica de leitura, realize as etapas a seguir utilizando o Console de gerenciamento da AWS.

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Crie a réplica de leitura do cluster de banco de dados multi-AZ.

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

   1. Escolha a instância de banco de dados que você deseja usar como a origem da réplica de leitura.

   1. Em **Actions (Ações)**, escolha **Create read replica (Criar réplica de leitura)**.

   1. Em **Availability and durability** (Disponibilidade e durabilidade), escolha **Multi-AZ DB cluster** (Cluster de banco de dados multi-AZ).

   1. Em **DB instance identifier (Identificador da instância de banco de dados)**, insira um nome para a réplica de leitura.

   1. Nas seções restantes, especifique suas configurações de cluster de banco de dados. Para obter informações sobre a configuração, consulte [Configurações para criar clusters de banco de dados multi-AZ](create-multi-az-db-cluster.md#create-multi-az-db-cluster-settings).

   1. Escolha **Create read replica (Criar réplica de leitura)**.

1. Quando estiver com tudo pronto, promova a réplica de leitura para que se torne um cluster de banco de dados multi-AZ autônomo:

   1. Interrompa a gravação de todas as transações na instância de banco de dados de origem e aguarde até que todas as atualizações sejam feitas na réplica de leitura.

      As atualizações do banco de dados serão feitas nas réplicas de leitura depois que forem feitas na instância de banco de dados primária. 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](USER_ReadRepl.Monitoring.md).

   1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

   1. No console do Amazon RDS, escolha **Databases** (Bancos de dados).

      O painel **Databases** (Bancos de dados) é exibido. Todas as réplicas de leitura exibem **Replica** (Réplica) na coluna **Role** (Função).

   1. Escolha a réplica de leitura do cluster de banco de dados multi-AZ que você deseja promover.

   1. Em **Actions** (Ações), selecione **Promote** (Promover).

   1. Na página **Promote read replica** (Promover réplica de leitura), insira o período de retenção de backup e a janela de backup para o cluster de banco de dados multi-AZ recém-promovido.

   1. Quando estiver satisfeito com as configurações, escolha **Promote read replica** (Promover réplica de leitura).

   1. Aguarde o status do cluster de banco de dados multi-AZ promovido ficar `Available`.

   1. Direcione suas aplicações para que usem o cluster de banco de dados multi-AZ promovido.

   Opcionalmente, exclua a implantação single-AZ ou a implantação da instância de banco de dados multi-AZ se não for mais necessária. Para obter instruções, consulte [Excluir uma instância de banco de dados](USER_DeleteInstance.md).

### AWS CLI
<a name="multi-az-db-clusters-migrating-to-create-promote-cli"></a>

Para migrar uma implantação single-AZ ou uma implantação de instância de banco de dados multi-AZ para um cluster de banco de dados multi-AZ usando uma réplica de leitura, realize as etapas a seguir utilizando o AWS CLI.

1. Crie a réplica de leitura do cluster de banco de dados multi-AZ.

   Para criar uma réplica de leitura da instância de banco de dados de origem, use o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html) da AWS CLI. Para `--replication-source-identifier`, especifique o nome do recurso da Amazon (ARN) da instância de banco de dados de origem.

   Para Linux, macOS ou Unix:

   ```
   aws rds create-db-cluster \
     --db-cluster-identifier mymultiazdbcluster \
     --replication-source-identifier arn:aws:rds:us-east-2:123456789012:db:mydbinstance
     --engine postgres \
     --db-cluster-instance-class db.m5d.large \
     --storage-type io1 \
     --iops 1000 \
     --db-subnet-group-name defaultvpc \
     --backup-retention-period 1
   ```

   Para Windows:

   ```
   aws rds create-db-cluster ^
     --db-cluster-identifier mymultiazdbcluster ^
     --replication-source-identifier arn:aws:rds:us-east-2:123456789012:db:mydbinstance
     --engine postgres ^
     --db-cluster-instance-class db.m5d.large ^
     --storage-type io1 ^
     --iops 1000 ^
     --db-subnet-group-name defaultvpc ^
     --backup-retention-period 1
   ```

1. Interrompa a gravação de todas as transações na instância de banco de dados de origem e aguarde até que todas as atualizações sejam feitas na réplica de leitura.

   As atualizações do banco de dados serão feitas nas réplicas de leitura depois que forem feitas na instância de banco de dados primária. Esse atraso na replicação pode variar significativamente. Use a métrica `Replica Lag` 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](USER_ReadRepl.Monitoring.md).

1. Quando estiver com tudo pronto, promova a réplica de leitura para que se torne um cluster de banco de dados multi-AZ autônomo.

   Para promover uma réplica de leitura de cluster de banco de dados multi-AZ, use o comando [https://docs.aws.amazon.com/cli/latest/reference/rds/promote-read-replica-db-cluster.html](https://docs.aws.amazon.com/cli/latest/reference/rds/promote-read-replica-db-cluster.html) da AWS CLI. Para `--db-cluster-identifier`, especifique o identificador da réplica de leitura do cluster de banco de dados multi-AZ.

   ```
   aws rds promote-read-replica-db-cluster --db-cluster-identifier mymultiazdbcluster
   ```

1. Aguarde o status do cluster de banco de dados multi-AZ promovido ficar `Available`.

1. Direcione suas aplicações para que usem o cluster de banco de dados multi-AZ promovido.

Opcionalmente, exclua a implantação single-AZ ou a implantação da instância de banco de dados multi-AZ se não for mais necessária. Para obter instruções, consulte [Excluir uma instância de banco de dados](USER_DeleteInstance.md).

### API do RDS
<a name="multi-az-db-clusters-migrating-to-create-promote-api"></a>

Para migrar uma implantação single-AZ ou implantação de instância de banco de dados multi-AZ para um cluster de banco de dados multi-AZ usando uma réplica de leitura, realize as etapas a seguir utilizando a API do RDS.

1. Crie a réplica de leitura do cluster de banco de dados multi-AZ.

   Para criar uma réplica de leitura de cluster de banco de dados multi-AZ, use a operação [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html) com o parâmetro necessário `DBClusterIdentifier`. Para `ReplicationSourceIdentifier`, especifique o nome do recurso da Amazon (ARN) da instância de banco de dados de origem.

1. Interrompa a gravação de todas as transações na instância de banco de dados de origem e aguarde até que todas as atualizações sejam feitas na réplica de leitura.

   As atualizações do banco de dados serão feitas nas réplicas de leitura depois que forem feitas na instância de banco de dados primária. Esse atraso na replicação pode variar significativamente. Use a métrica `Replica Lag` 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](USER_ReadRepl.Monitoring.md).

1. Quando estiver com tudo pronto, promova a réplica de leitura para que se torne um cluster de banco de dados multi-AZ autônomo.

   Para promover uma réplica de leitura de cluster de banco de dados multi-AZ, use a operação [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PromoteReadReplicaDBCluster.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PromoteReadReplicaDBCluster.html) com o parâmetro necessário `DBClusterIdentifier`. Especifique o identificador da réplica de leitura do cluster de banco de dados multi-AZ.

1. Aguarde o status do cluster de banco de dados multi-AZ promovido ficar `Available`.

1. Direcione suas aplicações para que usem o cluster de banco de dados multi-AZ promovido.

Opcionalmente, exclua a implantação single-AZ ou a implantação da instância de banco de dados multi-AZ se não for mais necessária. Para obter instruções, consulte [Excluir uma instância de banco de dados](USER_DeleteInstance.md).

## Limitações para a criação de uma réplica de leitura de cluster de banco de dados multi-AZ
<a name="multi-az-db-clusters-migrating-to-limitations"></a>

As limitações a seguir se aplicam à criação de uma réplica de leitura de cluster de banco de dados multi-AZ de uma implantação single-AZ ou uma implantação de instância de banco de dados multi-AZ.
+ Não é possível criar uma réplica de leitura de cluster de banco de dados multi-AZ em uma Conta da AWS diferente da Conta da AWS que tem a instância de banco de dados de origem.
+ Não é possível criar uma réplica de leitura de cluster de banco de dados multi-AZ em uma Região da AWS diferente da região da instância de banco de dados de origem.
+ Não é possível recuperar uma réplica de leitura de cluster de banco de dados multi-AZ para um ponto anterior no tempo.
+ A criptografia de armazenamento deve ter as mesmas configurações na instância de banco de dados de origem e no cluster de banco de dados multi-AZ.
+ Se a instância de banco de dados de origem estiver criptografada, a réplica de leitura do cluster de banco de dados multi-AZ deverá ser criptografada usando a mesma chave do KMS.
+ Se a instância de banco de dados de origem usar o armazenamento SSD de uso geral (gp3) e tiver menos de 400 GiB de armazenamento alocado, você não poderá modificar as IOPS provisionadas para a réplica de leitura do cluster de banco de dados multi-AZ. 
+ Para realizar uma atualização de versão secundária na instância de banco de dados de origem, primeiro você deve realizar a atualização da versão secundária na réplica de leitura do cluster de banco de dados multi-AZ.
+ Ao realizar uma atualização de versão secundária em uma réplica de leitura do cluster de banco de dados multi-AZ do RDS para PostgreSQL, a instância de banco de dados de leitor não muda para a instância de banco de dados de gravador após a atualização. Portanto, o cluster de banco de dados pode passar por um tempo de inatividade enquanto o Amazon RDS atualiza a instância de gravador.
+ Não é possível fazer upgrade da versão principal em uma réplica de leitura do cluster de banco de dados multi-AZ.
+ Você pode realizar uma atualização da versão principal na instância de banco de dados de origem de uma réplica de leitura de cluster de banco de dados multi-AZ, mas a replicação para a réplica de leitura será interrompida e não poderá ser reiniciada.
+ A réplica de leitura do cluster de banco de dados multi-AZ não comporta réplicas de leitura em cascata.
+ Para o RDS para PostgreSQL, as réplicas de leitura de cluster de banco de dados multi-AZ não oferecem recurso de failover.

# Criar uma réplica de leitura de instância de banco de dados de um cluster de banco de dados multi-AZ
<a name="multi-az-db-clusters-create-instance-read-replica"></a>

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.

**Topics**
+ [Comparar instâncias de banco de dados de leitor e réplicas de leitura de instância de banco de dados](#multi-az-db-clusters-readerdb-vs-dbrr)
+ [Considerações](#multi-az-db-clusters-instance-read-replica-considerations)
+ [Criar uma réplica de leitura de instância de banco de dados](#multi-az-db-clusters-instance-read-replica-create)
+ [Promover a réplica de leitura de instância de banco de dados](#multi-az-db-clusters-promote-instance-read-replica)
+ [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](#multi-az-db-clusters-create-instance-read-replica-limitations)

## Comparar instâncias de banco de dados de leitor e réplicas de leitura de instância de banco de dados
<a name="multi-az-db-clusters-readerdb-vs-dbrr"></a>

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](multi-az-db-clusters-concepts.md#multi-az-db-clusters-concepts-overview).

## Considerações
<a name="multi-az-db-clusters-instance-read-replica-considerations"></a>

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 como `ON` para o cluster de banco de dados multi-AZ de origem. Para obter mais informações, consulte [Trabalhar com grupos de parâmetros de clusters de banco de dados multi-AZ](USER_WorkingWithDBClusterParamGroups.md).
+ 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
<a name="multi-az-db-clusters-instance-read-replica-create"></a>

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 Console de gerenciamento da AWS, 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 obter mais informações, consulte [Trabalhar com uma instância de banco de dados em uma VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md).

### Console
<a name="multi-az-db-clusters-create-instance-read-replica-console"></a>

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 Console de gerenciamento da AWS.

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Bancos de dados**.

1. Selecione o cluster de banco de dados multi-AZ que você deseja usar como a origem da réplica de leitura.

1. Em **Actions (Ações)**, escolha **Create read replica (Criar réplica de leitura)**.

1. Para **Origem de réplica**, o cluster de banco de dados multi-AZ correto deve estar selecionado.

1. Em **Identificador de banco de dados**, insira um nome para a réplica de leitura.

1. 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](USER_CreateDBInstance.Settings.md).
**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.

1. Escolha **Create read replica (Criar réplica de leitura)**.

### AWS CLI
<a name="multi-az-db-clusters-create-instance-read-replica-cli"></a>

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 [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance-read-replica.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance-read-replica.html) 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-identifier mymultiazdbcluster
```

Para Windows:

```
aws rds create-db-instance-read-replica ^
  --db-instance-identifier myreadreplica ^
  --source-db-cluster-identifier mymultiazdbcluster
```

### API do RDS
<a name="multi-az-db-clusters-create-instance-read-replica-api"></a>

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 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html).

## Promover a réplica de leitura de instância de banco de dados
<a name="multi-az-db-clusters-promote-instance-read-replica"></a>

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 instruções, consulte [Promoção de uma réplica de leitura a uma instância de banco de dados autônoma](USER_ReadRepl.Promote.md).

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](USER_ReadRepl.Monitoring.md).

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 instruções, consulte [Excluir um cluster de banco de dados multi-AZ para o Amazon RDS](USER_DeleteMultiAZDBCluster.Deleting.md).

## 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
<a name="multi-az-db-clusters-create-instance-read-replica-limitations"></a>

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. 

# Configurar a replicação externa de clusters de banco de dados multi-AZ para o Amazon RDS
<a name="multi-az-db-clusters-external-replication"></a>

É possível configurar a replicação entre um cluster de banco de dados multi-AZ e um banco de dados externo ao Amazon RDS. 

A replicação externa permite que clusters de banco de dados multi-AZ repliquem dados entre uma instância de banco de dados do RDS e um banco de dados externo, seja no ambiente on-premises ou em outro ambiente de nuvem. Isso é benéfico para a recuperação de desastres, a migração de dados e a manutenção da consistência entre sistemas em locais diferentes. A seção aborda os pré-requisitos para configurar a replicação, instruções de configuração do processo e as principais considerações, como latência da replicação, largura de banda e compatibilidade com diferentes mecanismos de banco de dados.

## RDS para MySQL
<a name="multi-az-db-clusters-external-mysql"></a>

Para configurar a replicação externa para um cluster de banco de dados multi-AZ do RDS para MySQL, é necessário reter os arquivos de log binários nas instâncias de banco de dados dentro do cluster por tempo suficiente para garantir que as alterações sejam aplicadas à réplica antes que o Amazon RDS exclua o arquivo de log binário. Para fazer isso, configure a retenção de logs binários chamando o procedimento armazenado `mysql.rds_set_configuration` e especificando o parâmetro `binlog retention hours`. Para obter mais informações, consulte [horas de retenção do log binário](mysql-stored-proc-configuring.md#mysql_rds_set_configuration-usage-notes.binlog-retention-hours).

O valor padrão para `binlog retention hours` é `NULL`, o que significa que os logs binários não são retidos (0 horas). Se quiser configurar a replicação externa para um cluster de banco de dados multi-AZ, defina o parâmetro como um valor diferente de `NULL`.

Só é possível configurar a retenção de logs binários da instância de banco de dados de gravador do cluster de banco de dados multi-AZ, e a configuração é propagada para todas as instâncias de banco de dados de leitor de forma assíncrona.

Além disso, é altamente recomendável habilitar a replicação baseada em GTID na réplica externa. Então, se uma das instâncias de banco de dados falhar, você poderá retomar a replicação de outra instância de banco de dados íntegra no cluster. Para ter mais informações, consulte [Replication with Global Transaction Identifiers](https://dev.mysql.com/doc/refman/8.0/en/replication-gtids.html) na documentação do MySQL.

## RDS para PostgreSQL.
<a name="multi-az-db-clusters-external-postgres"></a>

Para configurar a replicação externa para um cluster de banco de dados multi-AZ do RDS para PostgreSQL, é necessário habilitar a replicação lógica. Para instruções, consulte [Configurar a replicação lógica do PostgreSQL com clusters de banco de dados multi-AZ para o Amazon RDS](USER_MultiAZDBCluster_LogicalRepl.md).

# Excluir um cluster de banco de dados multi-AZ para o Amazon RDS
<a name="USER_DeleteMultiAZDBCluster.Deleting"></a>

Você pode excluir um cluster de banco de dados multi-AZ usando o Console de gerenciamento da AWS, a AWS CLI ou a API do RDS.

O tempo necessário para excluir um cluster de banco de dados multi-AZ pode variar dependendo dos seguintes fatores:
+ O período de retenção de backup (ou seja, quantos backups serão excluídos).
+ Quantos dados são excluídos.
+ Se foi criado um snapshot final.

A proteção contra exclusão deve estar desabilitada no cluster de banco de dados multi-AZ para que você possa excluí-lo. Para ter mais informações, consulte [Pré-requisitos para excluir uma instância de banco de dados](USER_DeleteInstance.md#USER_DeleteInstance.DeletionProtection). É possível desabilitar a proteção contra exclusão modificando o cluster de banco de dados multi-AZ. Para ter mais informações, consulte [Modificar um cluster de banco de dados multi-AZ para o Amazon RDS](modify-multi-az-db-cluster.md).

## Console
<a name="USER_DeleteMultiAZDBCluster.Deleting.CON"></a>

**Para excluir um cluster de banco de dados multi-AZ**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Bancos de dados** e o cluster de banco de dados multi-AZ que você deseja excluir.

1. Em **Ações**, escolha **Excluir**.

1. Escolha **Criar snapshot final?** para criar um snapshot de banco de dados final para o cluster de banco de dados multi-AZ. 

   Se você criar um snapshot final, insira um nome para **Final snapshot name** (Nome do snapshot final).

1. Escolha **Retain automated backups** (Reter backups automatizados) para reter backups automatizados.

1. Digite **delete me** na caixa.

1. Escolha **Excluir**.

## AWS CLI
<a name="USER_DeleteMultiAZDBCluster.Deleting.CLI"></a>

Para excluir um cluster de banco de dados multi-AZ usando a AWS CLI, chame o comando [delete-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-cluster.html) com as seguintes opções:
+ `--db-cluster-identifier`
+ `--final-db-snapshot-identifier` ou `--skip-final-snapshot`

**Example Com um snapshot final**  
Para Linux, macOS ou Unix:  

```
aws rds delete-db-cluster \
    --db-cluster-identifier mymultiazdbcluster \
    --final-db-snapshot-identifier mymultiazdbclusterfinalsnapshot
```
Para Windows:  

```
aws rds delete-db-cluster ^
    --db-cluster-identifier mymultiazdbcluster ^
    --final-db-snapshot-identifier mymultiazdbclusterfinalsnapshot
```

**Example Sem snapshot final**  
Para Linux, macOS ou Unix:  

```
aws rds delete-db-cluster \
    --db-cluster-identifier mymultiazdbcluster \
    --skip-final-snapshot
```
Para Windows:  

```
aws rds delete-db-cluster ^
    --db-cluster-identifier mymultiazdbcluster ^
    --skip-final-snapshot
```

## API do RDS
<a name="USER_DeleteMultiAZDBCluster.Deleting.API"></a>

Para excluir um cluster de banco de dados multi-AZ usando a API do Amazon RDS, chame a operação [DeleteDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBCluster.html) com os seguintes parâmetros:
+ `DBClusterIdentifier`
+ `FinalDBSnapshotIdentifier` ou `SkipFinalSnapshot`

# Limitações de clusters de banco de dados multi-AZ do Amazon RDS
<a name="multi-az-db-clusters-concepts.Limitations"></a>

Um cluster de banco de dados multi-AZ tem uma instância de banco de dados de gravador e duas instâncias de banco de dados de leitor em três zonas de disponibilidade separadas. Clusters de banco de dados multi-AZ oferecem alta disponibilidade, maior capacidade para workloads de leitura e menor latência quando comparados a implantações multi-AZ. Para obter mais informações sobre clusters de banco de dados multi-AZ, consulte [Implantações de cluster de banco de dados multi-AZ para o Amazon RDS](multi-az-db-clusters-concepts.md).

As seguintes limitações se aplicam aos clusters de banco de dados multi-AZ.
+ Clusters de banco de dados multi-AZ não são compatíveis com os seguintes recursos:
  + Conexões IPv6 (modo de duas pilhas)
  + Backups automatizados entre regiões
  + Autenticação de Kerberos
  + Modifique a porta. Como alternativa, você pode restaurar um cluster de banco de dados multi-AZ para um ponto no tempo e especificar uma porta diferente.
  + Grupos de opções
  + Recuperação para um ponto no tempo (PITR) para clusters excluídos
  + Escalabilidade automática do armazenamento definindo o armazenamento máximo alocado. Como alternativa, é possível escalar o armazenamento manualmente.
  + Interromper e iniciar o cluster de banco de dados multi-AZ
  + Copiar um snapshot de um cluster de banco de dados multi-AZ
  + Criptografar um cluster de banco de dados multi-AZ não criptografado
+ Os clusters de banco de dados do RDS para MySQL multi-AZ são compatíveis apenas com os seguintes procedimentos armazenados no sistema:
  + `mysql.rds_rotate_general_log`
  + `mysql.rds_rotate_slow_log`
  + `mysql.rds_show_configuration`
  + `mysql.rds_set_external_master_with_auto_position`
  + `mysql.rds_set_configuration`
+ Os clusters de banco de dados multi-AZ do RDS para PostgreSQL não são compatíveis com as seguintes extensões: `aws_s3` e `pg_transport`.
+ Os clusters de banco de dados multi-AZ do RDS para PostgreSQL não oferecem suporte ao uso de um servidor DNS personalizado para acesso à rede de saída.