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.
Consulte mais informações sobre como se conectar a clusters de banco de dados nos tópicos a seguir.
Tópicos
Tipos de endpoints de cluster de banco de dados multi-AZ
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.
- 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 consultasSELECT
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.
- 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.
Visualizar endpoints
Use o console, a AWS CLI ou a API do Amazon RDS para visualizar os endpoints de cluster, de leitor e da instância.
No AWS Management Console, 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.
Endpoints do cluster
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
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
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
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.