Connessione agli endpoint Amazon Neptune - Amazon Neptune

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Connessione agli endpoint Amazon Neptune

Amazon Neptune utilizza un cluster di istanze database anziché una singola istanza. Ogni connessione Neptune viene gestita da un'istanza database specifica. Quando ti connetti a un cluster Neptune, il nome host e la porta specificati puntano a un handler intermedio chiamato endpoint. Un endpoint è un URL che contiene un indirizzo host e una porta. Gli endpoint Neptune utilizzano connessioni TLS/SSL (Transport Layer Security/Secure Sockets Layer) crittografate.

Neptune utilizza il meccanismo degli endpoint per astrarre queste connessioni in modo da non dover codificare i nomi host o scrivere una propria logica per il reindirizzamento delle connessioni quando alcune istanze database non sono disponibili.

Usando gli endpoint puoi associare ogni connessione all'istanza o al gruppo di istanze appropriato in base al caso d'uso. Gli endpoint personalizzati consentono di connettersi a sottoinsiemi di istanze database. I seguenti endpoint sono disponibili in un cluster .database Neptune.

Endpoint del cluster Neptune

Per endpoint del cluster si intende un endpoint per un cluster database Neptune che si connette all'istanza database primaria corrente di quel cluster. Ciascun cluster database Neptune ha un endpoint del cluster e un'istanza database primaria.

L'endpoint del cluster fornisce un failover del cluster per connessioni di lettura-scrittura al cluster database. Usa l'endpoint del cluster per tutte le operazioni di scrittura sul cluster DB, inclusi aggiornamenti, inserzioni, eliminazioni e modifiche al linguaggio di definizione dati (DDL). Puoi anche utilizzare l'endpoint del cluster per le operazioni di lettura, come ad esempio le query.

In caso di errore dell'istanza database primaria corrente di un cluster database, Neptune esegue automaticamente il failover su una nuova istanza database primaria. Durante un failover, il cluster database continua a servire le richieste di connessione all'endpoint del cluster dalla nuova istanza database primaria, riducendo al minimo l'interruzione del servizio.

L'esempio seguente mostra un endpoint del cluster per un cluster database Neptune.

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

Endpoint di lettura Neptune

Per endpoint di lettura si intende un endpoint per un cluster database Neptune che si connette a una delle repliche Neptune disponibili per quel cluster. Ogni cluster database Neptune ha un endpoint di lettura. Se sono presenti più repliche Neptune, l'endpoint di lettura instrada ciascuna richiesta di connessione a una delle repliche Neptune.

L'endpoint lettore fornisce l'instradamento round robin per connessioni di sola lettura al cluster database. Puoi utilizzare l'endpoint di lettura per le operazioni di lettura, come ad esempio le query .

Non è possibile utilizzare l'endpoint di lettura per le operazioni di scrittura a meno che non si disponga di un cluster a istanza singola (un cluster senza repliche di lettura). Solo in questo caso, il lettore può essere utilizzato sia per le operazioni di scrittura che per le operazioni di lettura.

L'instradamento round robin dell'endpoint lettore funziona cambiando l'host a cui punta la voce DNS. Ogni volta che si risolve il DNS, ottieni un IP differente e vengono aperte le connessioni verso tali IP. Una volta stabilita una connessione, tutte le richieste per quella connessione vengono inviate allo stesso host. Il client deve creare una nuova connessione e risolvere di nuovo il record DNS per ottenere una connessione a una replica di lettura potenzialmente differente.

Nota

WebSockets le connessioni vengono spesso mantenute attive per lunghi periodi. Per ottenere diverse repliche di lettura, procedi nel seguente modo:

  • Assicurati che il client risolva la voce DNS ogni volta che si connette.

  • Chiudi la connessione e riconnettiti.

Vari software client potrebbero risolvere il DNS in modi diversi. Ad esempio, se il client risolve il DNS e quindi usa l'IP per ogni connessione, indirizza tutte le richieste a un unico host.

Il caching DNS per client o proxy risolve il nome DNS per lo stesso endpoint dalla cache. Questo è un problema sia per gli scenari di instradamento round robin che di failover.

Nota

Disattiva qualunque impostazione di caching DNC per forzare ogni volta la risoluzione DNS.

Il cluster database distribuisce le richieste di connessione all'endpoint di lettura fra le repliche Neptune disponibili. Se il cluster database contiene solo un'istanza database primaria, l'endpoint lettore serve le richieste di connessione dall'istanza database primaria. Se per quel cluster database viene creata una replica Neptune, l'endpoint di lettura continua a servire le richieste di connessione all'endpoint di lettura dalla nuova replica Neptune, riducendo al minimo l'interruzione del servizio.

L'esempio seguente mostra un endpoint di lettura per un cluster database Neptune.

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

Endpoint dell'istanza Neptune

Per endpoint dell'istanza si intende un endpoint per un'istanza database in un cluster database Neptune che si connette a quella specifica istanza. Ciascuna istanza database di un cluster database, a prescindere dal tipo, ha un proprio endpoint dell'istanza esclusivo. Pertanto, è presente un endpoint dell'istanza per l'istanza database primaria attuale del cluster database. Inoltre, è presente un endpoint dell'istanza per ognuna delle repliche Neptune nel cluster database.

L'endpoint dell'istanza fornisce controllo diretto sulle connessioni al cluster database, per scenari in cui l'utilizzo dell'endpoint del cluster o dell'endpoint di lettura potrebbe non essere appropriato. Ad esempio, l'applicazione client potrebbe richiedere un bilanciamento del carico granulare in base al tipo di carico di lavoro. In questo caso, è possibile configurare più client per connettersi alle repliche Neptune in un cluster database per distribuire i carichi di lavoro in lettura.

L'esempio seguente mostra un endpoint dell'istanza per un'istanza database in un cluster database Neptune.

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

Endpoint personalizzati Neptune

L'endpoint personalizzato per un cluster Neptune rappresenta un set di istanze database selezionate. Quando ti connetti all'endpoint, Neptune sceglie una delle istanze del gruppo per gestire la connessione. Puoi definire a quali istanze si riferisce questo endpoint e a quale scopo serve l'endpoint.

Un cluster database Neptune non ha endpoint personalizzati finché non ne crei uno ed è possibile creare fino a cinque endpoint personalizzati per ogni cluster Neptune con provisioning.

L'endpoint personalizzato fornisce le connessioni ai database con bilanciamento del carico sulla base di criteri diversi dalla capacità di sola lettura o di lettura-scrittura delle istanze database. Dal momento che è possibile eseguire la connessione a qualsiasi istanza database associata all'endpoint, assicurarsi che tutte le istanze all'interno del gruppo condividano le stesse caratteristiche di prestazioni e capacità di memoria. Quando usi gli endpoint personalizzati, in genere non utilizzi l'endpoint di lettura per il cluster.

Questa caratteristica è progettata per gli utenti esperti con tipi specializzati di carichi di lavoro in cui non è pratico mantenere identiche tutte le repliche Neptune nel cluster. Con gli endpoint personalizzati, puoi modificare la capacità delle istanze database utilizzate con ciascuna connessione.

Ad esempio, se si definiscono diversi endpoint personalizzati che si connettono a gruppi di istanze con classi di istanze diverse, è possibile indirizzare gli utenti con esigenze di prestazioni diverse verso gli endpoint più adatti ai loro casi d'uso.

L'esempio seguente mostra un endpoint personalizzato per un'istanza database in un cluster database Neptune.

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

Per ulteriori informazioni, consulta Utilizzo degli endpoint personalizzati.

Considerazioni sugli endpoint Neptune

Considera quanto segue quando utilizzi gli endpoint Neptune:

  • Prima di utilizzare l'endpoint istanza per la connessione a una specifica istanza database di un cluster database, potresti valutare l'uso dell'endpoint cluster o lettore per il cluster database.

    L'endpoint del cluster e l'endpoint lettore supportano scenari ad alta disponibilità. In caso di errore dell'istanza database primaria di un cluster database, Neptune esegue automaticamente il failover su una nuova istanza database primaria. Questa operazione viene eseguita promuovendo una replica Neptune esistente in una nuova istanza database primaria oppure creando una nuova istanza database primaria. Se si verifica un failover, è possibile utilizzare l'endpoint del cluster per la riconnessione all'istanza database primaria appena creata o promossa oppure ricorrere all'endpoint di lettura per riconnettersi a una delle altre repliche Neptune nel cluster database.

    Anche se scegli di adottare un approccio diverso, puoi comunque assicurarti di effettuare la connessione all'istanza database corretta del cluster database per l'operazione desiderata. A tale scopo, puoi scoprire in modo manuale o programmatico la serie risultante di istanze database nel cluster DB e confermare i tipi di istanze dopo il failover, prima di utilizzare l'endpoint di un'istanza database specifica.

    Per ulteriori informazioni sui failover, consulta Tolleranza ai guasti di un cluster database Neptune..

     

  • L'endpoint di lettura indirizza le connessioni solo a repliche Neptune disponibili in un cluster database Neptune. Non indirizza query specifiche.

    Importante

    Neptune non bilancia il carico.

    Se desideri bilanciare il carico di query per distribuire il carico di lavoro in lettura per un cluster database, devi gestire l'operazione nella tua applicazione. Devi utilizzare endpoint di istanza per connetterti direttamente alle repliche Neptune per bilanciare il carico.

     

  • L'instradamento round robin dell'endpoint lettore funziona cambiando l'host a cui punta la voce DNS. Il client deve creare una nuova connessione e risolvere di nuovo il record DNS per ottenere una connessione a una replica di lettura potenzialmente nuova.

     

  • Durante un failover, l'endpoint di lettura potrebbe indirizzare le connessioni alla nuova istanza database primaria di un cluster database per un breve periodo di tempo, quando una replica Neptune viene promossa a nuova istanza database primaria.