Conectar-se a endpoints do Amazon Neptune - Amazon Neptune

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Conectar-se a endpoints do Amazon Neptune

O Amazon Neptune usa um cluster de instâncias de banco de dados em vez de uma única instância. Cada conexão com o Neptune é processada por uma instância de banco de dados específica. Quando você se conecta a um cluster do Neptune, o nome do host e a porta especificados apontam para um processador intermediário chamado de endpoint. Um endpoint contém um endereço de host e uma URL porta. Os endpoints do Neptune usam conexões criptografadas Transport Layer Security/Secure Sockets Layer (/). TLS SSL

O Neptune usa o mecanismo de endpoint para abstrair essas conexões, para que você não precise codificar os nomes de host nem escrever a própria lógica para redirecionar conexões quando algumas instâncias de banco de dados não estão disponíveis.

Usando endpoints, é possível associar todas as conexões com a instância apropriada ou o grupo de instâncias, dependendo do caso de uso. Os endpoints personalizados permitem que você se conecte a subconjuntos de instâncias de banco de dados. Os seguintes endpoints estão disponíveis em um cluster de banco de dados do Neptune:

Endpoints de cluster do Neptune

Endpoint de cluster é um endpoint de um cluster de banco de dados do Neptune que se conecta à instância de banco de dados principal atual desse cluster de banco de dados. Cada cluster de banco de dados do Neptune tem um endpoint de cluster e uma instância de banco de dados principal.

O endpoint de cluster dá suporte a failover para conexões de leitura/gravação para o cluster de banco de dados. Use o endpoint do cluster para todas as operações de gravação no cluster de banco de dados, incluindo inserções, atualizações, exclusões e alterações na linguagem de definição de dados ()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 principal atual de um cluster de banco de dados falhar, o Neptune fará failover automático para uma nova instância de banco de dados principal. 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 primária, com interrupção mínima de serviço.

O exemplo a seguir ilustra um endpoint de cluster de um cluster de banco de dados do Neptune.

mydbcluster.cluster-123456789012.us-east-1.neptune.amazonaws.com:8182

Endpoints de leitor do Neptune

Endpoint de leitor é um endpoint para um cluster de banco de dados do Neptune que se conecta a uma das réplicas do Neptune disponíveis para esse cluster de banco de dados. Cada cluster de banco de dados do Neptune tem um endpoint de leitor. Se houver mais de uma réplica do Neptune, o endpoint de leitor direcionará cada solicitação de conexão para uma das réplicas do Neptune.

O endpoint de leitor fornece roteamento ida e volta para conexões somente leitura para o cluster de banco de dados. Use o endpoint do leitor para operações de leitura, como consultas .

Não é possível usar o endpoint do leitor para operações de gravação, a menos que você tenha um cluster de instância única (um cluster sem réplicas de leitura). Nesse caso e somente nesse caso, o leitor poderá ser usado para operações de gravação, bem como operações de leitura.

O roteamento round-robin do endpoint do leitor funciona alterando o host para o qual a entrada aponta. DNS Cada vez que você resolve oDNS, você obtém um IP diferente e as conexões são abertas contra eleIPs. Depois que uma conexão é estabelecida, todas as solicitações para essa conexão são enviadas para o mesmo host. O cliente deve criar uma nova conexão e resolver o DNS registro novamente para obter uma conexão com uma réplica de leitura potencialmente diferente.

nota

WebSockets as conexões geralmente são mantidas ativas por longos períodos. Para obter diferentes réplicas de leitura, faça o seguinte:

  • Certifique-se de que seu cliente resolva a DNS entrada sempre que se conectar.

  • Feche a conexão e reconecte.

Vários softwares clientes podem resolver DNS de maneiras diferentes. Por exemplo, se seu cliente resolve DNS e usa o IP para cada conexão, ele direciona todas as solicitações para um único host.

DNSo armazenamento em cache para clientes ou proxies resolve o DNS nome do cache para o mesmo endpoint. Esse é um problema dos cenários de failover e de roteamento ida e volta.

nota

Desative todas as configurações de DNS cache para forçar a DNS resolução a cada vez.

O cluster de banco de dados distribui solicitações de conexão ao endpoint de leitor entre as réplicas disponíveis do Neptune. Se o cluster de banco de dados contiver apenas uma instância de banco de dados primária, o endpoint de leitor atenderá a solicitações de conexão da instância de banco de dados primária. Se uma réplica do Neptune for criada para esse cluster de banco de dados, o endpoint de leitor continuará atendendo a solicitações de conexão com o endpoint de leitor da nova réplica do Neptune com interrupção mínima no serviço.

O exemplo a seguir ilustra um endpoint de leitor de um cluster de banco de dados do Neptune.

mydbcluster.cluster-ro-123456789012.us-east-1.neptune.amazonaws.com:8182

Endpoints de instância do Neptune

Endpoint de instância é um endpoint para uma instância de banco de dados em um cluster de banco de dados do Neptune que se conecta a essa instância de banco de dados específica. Cada instância de banco de dados em um cluster de banco de dados, independentemente do tipo de instância, tem o próprio endpoint de instância exclusivo. Então, há um endpoint para a instância de banco de dados principal atual do cluster de banco de dados. Há também um endpoint da instância para cada uma das réplicas do Neptune no cluster de banco de dados.

O endpoint de instância oferece controle direto sobre as conexões do cluster de banco de dados, em cenários nos quais usar o endpoint de cluster ou o endpoint de leitor talvez não seja apropriado. Por exemplo, o aplicativo cliente pode exigir balanceamento de carga refinado com base no tipo de carga. Nesse caso, é possível configurar vários clientes para se conectarem a réplicas diferentes do Neptune em um cluster de banco de dados para distribuir workloads de leitura.

O exemplo a seguir ilustra um endpoint de uma instância de banco de dados em um cluster de banco de dados do Neptune.

mydbinstance.123456789012.us-east-1.neptune.amazonaws.com:8182

Endpoints personalizados do Neptune

Um endpoint personalizado para um cluster do Neptune representa um conjunto de instâncias de banco de dados escolhido. Quando você se conecta ao endpoint, o Neptune escolhe uma das instâncias no grupo para processar a conexão. Você define a quais instâncias esse endpoint se refere e determina a finalidade do endpoint.

Um cluster de banco de dados do Neptune não tem endpoints personalizados até você criar um, e é possível criar até cinco endpoints personalizados para cada cluster provisionado do Neptune.

O endpoint personalizado oferece conexões de banco de dados com carga balanceada baseadas em critérios que não sejam somente leitura ou com recurso de leitura/gravação das instâncias de banco de dados. Como a conexão pode ir para qualquer instância de banco de dados associada ao endpoint, garanta que todas as instâncias dentro desse grupo compartilhem algumas características de capacidade de desempenho e memória. Ao usar endpoints personalizados, você normalmente não usa o endpoint leitor nesse cluster.

Esse atributo se destina a usuários avançados com tipos personalizados de workloads em que não seja prático manter todas as réplicas do Neptune no cluster idêntico. Com endpoints personalizados, é possível ajustar a capacidade das instâncias de banco de dados usadas em cada conexão.

Por exemplo, se você definir vários endpoints personalizados que se conectem a grupos de instâncias com diferentes classes de instância, poderá direcionar usuários com diferentes necessidades de desempenho para os endpoints que melhor se ajustem aos casos de uso deles.

O exemplo a seguir ilustra um endpoint personalizado de uma instância de banco de dados em um cluster de banco de dados do Neptune:

myendpoint.cluster-custom-123456789012.us-east-1.neptune.amazonaws.com:8182

Consulte Trabalhar com endpoints personalizados Para mais informações.

Considerações sobre endpoint do Neptune

Pense nos seguintes problemas ao trabalhar com endpoints do Neptune:

  • Antes de usar um endpoint de instância para se conectar a uma instância de banco de dados específica em um cluster de banco de dados, considere usar o endpoint do cluster ou do leitor para o cluster de banco de dados.

    O endpoint de cluster e o endpoint de leitor dão suporte a cenários de alta disponibilidade. Se a instância de banco de dados principal de um cluster de banco de dados falhar, o Neptune fará failover automaticamente para uma nova instância de banco de dados principal. Ela faz isso promovendo uma réplica do Neptune existente para uma nova instância de banco de dados principal ou criando uma instância de banco de dados principal. Se ocorrer um failover, você poderá usar o endpoint do cluster para se reconectar à instância de banco de dados principal recém-promovida ou criada ou usar o endpoint de leitor para se reconectar a uma das outras réplicas do Neptune no cluster de banco de dados.

    Se não adotar essa abordagem, você ainda poderá verificar se está se conectando à instância de banco de dados certa no cluster de banco de dados da operação desejada. Para isso, você pode descobrir de maneira manual ou programática o conjunto resultante de instâncias de banco de dados disponíveis no cluster de banco de dados e confirmar os tipos de instância após o failover, antes de usar o endpoint de instância de uma instância de banco de dados específica.

    Para obter mais informações sobre failovers, consulte Tolerância a falhas para um cluster de banco de dados do Neptune.

     

  • O endpoint de leitor só direciona conexões para réplicas do Neptune disponíveis em um cluster de banco de dados do Neptune. Ele não direciona consultas específicas.

    Importante

    O Neptune não faz balanceamento de carga.

    Se você deseja equilibrar a carga das consultas para distribuir a carga de trabalho de leitura para um cluster de banco de dados, precisará gerenciar isso no aplicativo. Você deve usar endpoints de instância para se conectar diretamente a réplicas do Neptune para equilibrar a carga.

     

  • O roteamento round-robin do endpoint do leitor funciona alterando o host para o qual a entrada aponta. DNS O cliente deve criar uma nova conexão e resolver o DNS registro novamente para obter uma conexão com uma réplica de leitura potencialmente nova.

     

  • Durante um failover, o endpoint de leitor pode direcionar conexões para a nova instância de banco de dados principal de um cluster de banco de dados por um curto período quando uma réplica do Neptune é promovida para a nova instância de banco de dados principal.