Connessione a un cluster di database multi-AZ - Amazon Relational Database Service

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 a un cluster di database multi-AZ

Un cluster di database Multi-AZ dispone di tre istanze database anziché di una singola istanza database. Ogni connessione viene gestita da un'istanza database specifica. Quando ti connetti a un cluster di database multi-AZ, il nome host e la porta specificati puntano a un nome di dominio completo chiamato endpoint. Il cluster di database multi-AZ utilizza il meccanismo di endpoint per astrarre queste connessioni in modo che non sia necessario specificare esattamente l'istanza database del cluster di database multi-AZ. Pertanto, non è necessario codificare tutti i nomi host o scrivere una propria logica per il reindirizzamento delle connessioni quando alcune istanze database non sono disponibili.

L'endpoint di scrittura si connette all'istanza database di scrittura del cluster di database, che supporta operazioni di lettura e scrittura. L'endpoint di lettura si collega a una delle due istanze database di lettura, che supportano solo le operazioni di lettura.

Usando gli endpoint puoi associare ogni connessione all'istanza database o al gruppo di istanze database appropriato in base al caso d'uso. Ad esempio, per eseguire le istruzioni DDL e DML puoi connetterti a qualsiasi istanza database sia l'istanza database di scrittura. Per eseguire le query, puoi connetterti all'endpoint di lettura, mentre il cluster di database Multi-AZ gestisce automaticamente le connessioni tra le istanze database di lettura. Per la diagnosi o l'ottimizzazione, puoi connetterti a un endpoint di istanza database specifico per esaminare i dettagli su una determinata istanza database.

Per informazioni sulla connessione a un'istanza database, consulta Connessione a un'istanza database Amazon RDS.

Tipi di endpoint cluster di database Multi-AZ

Un endpoint è rappresentato da un identificatore univoco contenente un indirizzo host. Di seguito sono riportati i tipi di endpoint disponibili da un cluster di database Multi-AZ:

Endpoint del cluster

Per endpoint del cluster (o endpoint di scrittura) si intende un endpoint per un cluster di datababse Multi-AZ che si connette all'istanza database di scrittura corrente di quel cluster di database. Questo endpoint è l'unico in grado di eseguire operazioni di scrittura come le istruzioni DDL e DML. Questo endpoint può anche eseguire operazioni di lettura.

Ciascun cluster di database Multi-AZ ha un endpoint del cluster e un'istanza database di scrittura.

L'endpoint del cluster si usa per tutte le operazioni di scrittura sul cluster database, inclusi aggiornamenti, inserimenti, eliminazioni e modifiche 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 di scrittura corrente di un cluster database, il cluster di database Multi-AZ esegue automaticamente il failover su una nuova istanza database di scrittura. Durante un failover, il cluster database continua a servire le richieste di connessione all'endpoint del cluster dalla nuova istanza database di scrittura, riducendo al minimo l'interruzione del servizio.

L'esempio seguente mostra un endpoint del cluster per un cluster di database Multi-AZ.

mydbcluster.cluster-123456789012.us-east-1.rds.amazonaws.com

Endpoint di lettura

Un endpoint di lettura per un cluster di database Multi-AZ fornisce supporto per le connessioni di sola lettura al cluster di database. Puoi utilizzare l'endpoint di lettura per le operazioni di lettura, come ad esempio le query SELECT. Elaborando tali istruzioni nelle istanze database del lettore, questo endpoint riduce il sovraccarico sull'istanza database di scrittore. Consente inoltre al cluster di dimensionare la capacità di gestire simultaneamente query SELECT. Ogni cluster database Multi-AZ ha un endpoint di lettura.

L'endpoint di lettura invia ogni richiesta di connessione a una delle istanze database di lettura. Quando utilizzi l'endpoint di lettura per una sessione, è possibile eseguire solo istruzioni di sola lettura come SELECT in quella sessione.

L'esempio seguente mostra un endpoint di lettura per un cluster di database Multi-AZ. La modalità di sola lettura di un endpoint di lettura è indicato dal parametro -ro all'interno del nome dell'endpoint del cluster.

mydbcluster.cluster-ro-123456789012.us-east-1.rds.amazonaws.com

Endpoint dell'istanza

Un endpoint dell'istanza si connette a un'istanza database specifica all'interno di un cluster di database Multi-AZ. Ogni istanza database in un cluster database dispone del proprio endpoint dell'istanza univoco. Pertanto esiste un endpoint dell'istanza per l'istanza database di scrittura corrente del cluster di database e un endpoint dell'istanza per ciascuna istanza database di lettore nel cluster di database.

L'endpoint dell'istanza fornisce controllo diretto sulle connessioni al cluster di database. Questo controllo può aiutarti a risolvere 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 maggiore bilanciamento del carico granulare in base al tipo di carico di lavoro. In questo caso, è possibile configurare più client per connettersi a istanze database di lettore 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 di database Multi-AZ.

mydbinstance.123456789012.us-east-1.rds.amazonaws.com

Visualizzazione degli endpoint per un cluster di database Multi-AZ

Nella AWS Management Console, puoi vedere l'endpoint del cluster e l'endpoint del lettore nella pagina dei dettagli di ogni cluster DB Multi-AZ. L'endpoint dell'istanza viene visualizzato nella pagina dei dettagli di ogni database.

Con AWS CLI, puoi vedere gli endpoint writer e reader nell'output del comando. describe-db-clusters Ad esempio, il comando seguente mostra gli attributi degli endpoint per tutti i cluster nella regione corrente. AWS

aws rds describe-db-cluster-endpoints

Con l'API Amazon RDS, recuperi gli endpoint chiamando l'azione DescribeDB. ClusterEndpoints L'output mostra anche gli endpoint del cluster di database Amazon Aurora DB, se presenti.

Utilizzo dell'endpoint del cluster

Ogni cluster di database Multi-AZ ha un singolo endpoint cluster integrato, il cui nome e altri attributi sono gestiti da Amazon RDS. Non puoi creare, eliminare o modificare questo tipo di endpoint.

L'endpoint del cluster viene utilizzato per la gestione del cluster di database, l'esecuzione di operazioni di estrazione, trasformazione, caricamento (ETL) o di applicazioni di sviluppo e test. L'endpoint del cluster si connette all'istanza di scrittura del cluster di database. L'istanza database di scrittura è l'unica istanza database in cui è possibile creare tabelle e indici, eseguire istruzioni INSERT e altre operazioni DDL e DML.

L'indirizzo IP fisico indicato dall'endpoint del cluster cambia quando il meccanismo di failover promuove una nuova istanza database di scrittura come istanza primaria di lettura-scrittura per il cluster. Se utilizzi qualsiasi forma di pool di connessioni o altro tipo di multiplexing, preparati a eliminare o ridurre le informazioni DNS memorizzate nella cache. time-to-live In tal modo si evita di provare a stabilire una connessione in lettura-scrittura a un'istanza database che non è più disponibile o che ora è di sola lettura a causa di un failover.

Utilizzo dell'endpoint di lettura

Usi l'endpoint di lettura fornisce per le connessioni di sola lettura al cluster di database Multi-AZ. Questo endpoint aiuta il cluster di database a gestire un carico di lavoro che implica numerose query. L'endpoint di lettura è quello che fornisci alle applicazioni che eseguono report o altre operazioni di sola lettura sul cluster. L'endpoint di lettura invia le connessioni solo alle istanze database di lettura in un cluster di database Multi-AZ.

Ogni cluster Multi-AZ ha un singolo endpoint di lettura integrato, il cui nome e altri attributi sono gestiti da Amazon RDS. Non puoi creare, eliminare o modificare questo tipo di endpoint.

Utilizzo degli endpoint di istanza

Ogni istanza database in un cluster di database Multi-AZ ha un proprio endpoint di istanza integrato, il cui nome e altri attributi sono gestiti da Amazon RDS. Non puoi creare, eliminare o modificare questo tipo di endpoint. In genere con un cluster di database Multi-AZ si utilizzano gli endpoint di scrittura e lettura più spesso degli endpoint di istanza.

Nelle day-to-day operazioni, il modo principale di utilizzare gli endpoint delle istanze è diagnosticare problemi di capacità o prestazioni che riguardano una specifica istanza DB in un cluster DB Multi-AZ. Durante la connessione a un'istanza database specifica, puoi esaminare le variabili di stato, i parametri e così via. Ciò può aiutarti a determinare cosa sta succedendo di diverso per quell'istanza database da ciò che accade per le altre istanze database nel cluster.

Come gli endpoint database Multi-AZ funzionano con elevata disponibilità

Per i cluster database Multi-AZ in cui è importante la disponibilità elevata, utilizza l'endpoint di scrittura per le connessioni di lettura-scrittura o a scopo generale e l'endpoint di lettura per le connessioni di sola lettura. Gli endpoint di scrittura e lettura gestiscono il failover delle istanze DB meglio degli endpoint di istanza. A differenza degli endpoint istanza, gli endpoint di scrittura e lettura modificano automaticamente l'istanza database a cui si connettono se un'istanza database nel cluster diventa non disponibile.

In caso di errore dell'istanza database di scrittura di un cluster database, Amazon RDS esegue automaticamente il failover su una nuova istanza database di scrittura. Lo fa promuovendo un'istanza database di lettore in una nuova istanza database di scrittore. Se si verifica un failover, è possibile utilizzare l'endpoint di scrittura per riconnettersi all'istanza database di scrittura appena promossa. Oppure è possibile utilizzare l'endpoint di lettura per riconnettersi a una delle istanze database di lettore nel cluster di database. Durante un failover, l'endpoint di lettura potrebbe dirigere le connessioni alla nuova istanza database di scrittura di un cluster di database per un breve periodo di tempo dopo che un’istanza database di lettura viene promossa a nuova istanza database di scrittura. Se progetti la tua logica applicativa per gestire le connessioni agli endpoint di istanza, puoi rilevare a livello di codice o manualmente il set risultante di istanze database disponibili nel cluster database.

Connessione ai cluster DB Multi-AZ con i driver AWS

La AWS suite di driver è stata progettata per fornire supporto per tempi di switchover e failover più rapidi e l'autenticazione con AWS Secrets Manager, AWS Identity and Access Management (IAM) e Federated Identity. I AWS driver si basano sul monitoraggio dello stato del cluster DB e sulla conoscenza della topologia del cluster per determinare il nuovo writer. Questo approccio riduce i tempi di switchover e failover a secondi a una cifra, rispetto alle decine di secondi dei driver open source.

Con l'introduzione di nuove funzionalità di servizio, l'obiettivo della AWS suite di driver è disporre di un supporto integrato per queste funzionalità di servizio.

Connessione a cluster DB Multi-AZ con il driver JDBC Amazon Web Services (AWS)

Il driver JDBC di Amazon Web Services (AWS) è progettato come wrapper JDBC avanzato per aiutare le applicazioni a sfruttare le funzionalità dei database in cluster. Questo wrapper è complementare e amplia le funzionalità di un driver JDBC esistente. Il driver è compatibile direttamente con i seguenti driver della community:

  • Connettore MySQL/J

  • MariaDB Connector/J

  • PgJDBC

Per installare il driver AWS JDBC, aggiungi il file.jar del driver AWS JDBC (che si trova nell'applicazioneCLASSPATH) e mantieni i riferimenti al rispettivo driver della community. Aggiorna il rispettivo prefisso dell'URL di connessione come segue:

  • jdbc:mysql:// Da a jdbc:aws-wrapper:mysql://

  • jdbc:mariadb:// Da a jdbc:aws-wrapper:mariadb://

  • jdbc:postgresql:// Da a jdbc:aws-wrapper:postgresql://

Per ulteriori informazioni sul driver AWS JDBC e istruzioni complete per il suo utilizzo, consulta l'archivio dei driver JDBC di Amazon Web Services (AWS). GitHub

Connessione a cluster DB Multi-AZ con il driver AWS Python di Amazon Web Services ()

Il driver Python di Amazon Web Services (AWS) è progettato come wrapper Python avanzato. Questo wrapper è complementare ed estende le funzionalità del driver open source Psycopg. Il AWS Python Driver supporta le versioni Python 3.8 e successive. È possibile installare il aws-advanced-python-wrapper pacchetto utilizzando il pip comando, insieme ai pacchetti open source. psycopg

Per ulteriori informazioni sul driver AWS Python e istruzioni complete per il suo utilizzo, consulta il repository Amazon Web Services ()AWS Python Driver. GitHub