Utilizzo degli endpoint Amazon RDS Proxy - 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à.

Utilizzo degli endpoint Amazon RDS Proxy

Informazioni sugli endpoint per Server proxy per RDS e su come usarli. Utilizzando gli endpoint proxy, puoi sfruttare le seguenti funzionalità:

  • Puoi utilizzare più endpoint con un proxy per monitorare e risolvere i problemi di connessione da diverse applicazioni in modo indipendente.

  • Puoi utilizzare un endpoint tra VPC per consentire l'accesso ai database in un VPC da risorse quali istanze Amazon EC2 presenti in un VPC diverso.

Panoramica degli endpoint proxy

L'uso degli endpoint Server proxy per RDS include gli stessi tipi di procedure degli endpoint di istanza RDS. Se non hai familiarità con gli endpoint RDS, puoi consultare Connessione a un'istanza database che esegue il motore del database MySQL e Connessione a un'istanza database che esegue il modulo di gestione di database PostgreSQL.

Per un endpoint proxy creato, puoi inoltre associare l'endpoint a un cloud privato virtuale (VPC) diverso da quello utilizzato dal proxy stesso. In questo modo, puoi connetterti al proxy da un VPC diverso, ad esempio da un VPC utilizzato da un'applicazione diversa all'interno dell'organizzazione.

Per informazioni sui limiti associati agli endpoint proxy, consulta Limitazioni per gli endpoint proxy.

Nei log RDS Proxy, ogni voce è preceduta dal nome dell'endpoint proxy associato. Questo nome può essere quello specificato per un endpoint definito dall'utente. In alternativa, può essere il nome default speciale dell'endpoint predefinito di un proxy che esegue richieste di lettura/scrittura.

Ogni endpoint proxy ha il proprio set di metriche. CloudWatch Puoi monitorare i parametri per tutti gli endpoint di un proxy. Puoi inoltre monitorare i parametri per un endpoint specifico o per tutti gli endpoint di lettura/scrittura o di sola lettura di un proxy. Per ulteriori informazioni, consulta Monitoraggio dei parametri del proxy RDS con Amazon CloudWatch.

Un endpoint proxy utilizza lo stesso meccanismo di autenticazione del proxy associato. RDS Proxy imposta automaticamente i permessi e le autorizzazioni per l'endpoint definito dall'utente, coerenti con le proprietà del proxy associato.

Endpoint proxy per cluster di database Multi-AZ

Per impostazione predefinita, l'endpoint a cui ci si connette quando si utilizza Server proxy per RDS con un cluster di database Multi-AZ ha funzionalità di lettura/scrittura. Di conseguenza, questo endpoint invia tutte le richieste all'istanza di scrittura del cluster. Tutte queste connessioni vengono conteggiate nel valore max_connections dell'istanza di scrittura. Se il proxy è associato a un cluster di database Multi-AZ, puoi creare ulteriori endpoint di lettura/scrittura o di sola lettura per tale proxy.

Puoi utilizzare un endpoint di sola lettura con il proxy per le query di sola lettura. Puoi farlo allo stesso modo in cui utilizzi l'endpoint di lettura per un cluster di database Multi-AZ. Puoi così sfruttare la scalabilità di lettura di un cluster di database Multi-AZ con una o più istanze database di lettura. Puoi eseguire più query simultanee e creare più connessioni simultanee utilizzando un endpoint di sola lettura e aggiungendo più istanze database di lettura al cluster di database Multi-AZ in base alle necessità. Questi endpoint di lettura consentono di migliorare la scalabilità di lettura delle applicazioni che richiedono un uso intensivo di query. Gli endpoint di lettura consentono inoltre di migliorare la disponibilità delle connessioni se un'istanza database di lettura nel cluster non è disponibile.

Endpoint di lettura per cluster di database Multi-AZ

Con RDS Proxy, puoi creare e utilizzare gli endpoint di lettura. Tuttavia, questi endpoint funzionano solo per i proxy associati a cluster di database Multi-AZ. Se utilizzi la CLI RDS o l'API, è possibile che venga visualizzato l'attributo TargetRole con un valore di READ_ONLY. È possibile sfruttare tali proxy modificando la destinazione di un proxy da un'istanza DB RDS a un cluster DB Multi-AZ.

Puoi creare e connetterti a endpoint di sola lettura denominati endpoint di lettura quando utilizzi Server proxy per RDS con cluster di database Multi-AZ.

In che modo gli endpoint di lettura aiutano la disponibilità delle applicazioni

In alcuni casi, un'istanza di lettura nel cluster potrebbe non essere disponibile. In questo caso, le connessioni che utilizzano un endpoint di lettura di un proxy DB possono essere ripristinate più rapidamente di quelle che utilizzano l'endpoint di lettura del cluster di database Multi-AZ. Server proxy per RDS instrada le connessioni solo all'istanza del lettore disponibile nel cluster. Non vi è alcun ritardo dovuto alla memorizzazione nella cache DNS quando un'istanza diventa non disponibile.

Se la connessione è multiplexing, Server proxy per RDS indirizza le query successive a un'istanza di lettura diversa senza alcuna interruzione dell'applicazione. Se un'istanza di lettura si trova in uno stato non disponibile, tutte le connessioni client all'endpoint dell'istanza vengono chiuse.

Se la connessione è bloccata, la successiva query sulla connessione restituisce un errore. Tuttavia, l'applicazione può riconnettersi immediatamente allo stesso endpoint proxy. RDS Proxy indirizza la connessione a un'istanza database del lettore diversa che si trova nello stato available. Se ti riconnetti manualmente, Server proxy per RDS non controlla il ritardo di replica tra la vecchia e la nuova istanza di lettura.

Se il cluster di database Multi-AZ non dispone di istanze di lettura disponibili, Server proxy per RDS tenta di connettersi a un endpoint di lettura disponibile. Se nessuna istanza di lettura diventa disponibile entro il periodo di timeout di prestito della connessione, il tentativo di connessione ha esito negativo. Se invece un'istanza di lettura diventa disponibile, il tentativo di connessione ha esito positivo.

In che modo gli endpoint di lettura aiutano la scalabilità delle query

Gli endpoint di lettura per un proxy supportano la scalabilità delle query del cluster di database Multi-AZ nei seguenti modi:

  • Laddove possibile, RDS Proxy utilizza la stessa istanza database di lettura per tutti i problemi di query utilizzando una particolare connessione all'endpoint di lettura. In questo modo, un insieme di query correlate sulle stesse tabelle può sfruttare la memorizzazione nella cache, l'ottimizzazione del piano e così via, su una particolare istanza database.

  • Se un'istanza database di lettura non è disponibile, l'effetto sull'applicazione dipende dal fatto che la sessione sia multiplexing o bloccata. Se la sessione è multiplexing, RDS Proxy indirizza tutte le query successive a un'istanza database di lettura diversa senza richiedere alcuna azione da parte tua. Se invece la sessione è bloccata, l'applicazione riceve un errore e deve riconnettersi. Puoi riconnetterti immediatamente all'endpoint di lettura e RDS Proxy indirizza la connessione a un'istanza database di lettura disponibile. Per ulteriori informazioni sul multiplexing e sul blocco per le sessioni proxy, consulta Panoramica dei concetti RDS Proxy.

Accesso ai database RDS su VPC

Per impostazione predefinita, i componenti dello stack di tecnologia di RDS si trovano tutti nello stesso Amazon VPC. Supponi, ad esempio, che un'applicazione in esecuzione su un'istanza Amazon EC2 si connetta a un'istanza database Amazon RDS. In questo caso, il server delle applicazioni e il database devono trovarsi entrambi all'interno dello stesso VPC.

Con RDS Proxy, puoi configurare l'accesso a un'istanza Amazon RDS DB DB del in un VPC dalle risorse di un altro VPC, come le istanze EC2. Ad esempio, l'organizzazione potrebbe avere più applicazioni che accedono alle stesse risorse del database. Ogni applicazione potrebbe trovarsi nel proprio VPC.

Per consentire l'accesso tra VPC, crea un nuovo endpoint per il proxy. Il proxy stesso risiede nello stesso VPC dell'istanza database Amazon RDS. Tuttavia, l'endpoint tra VPC si trova nell'altro VPC, insieme alle altre risorse, ad esempio le istanze EC2. L'endpoint tra VPC è associato a sottoreti e gruppi di sicurezza dello stesso VPC così come EC2 e altre risorse. Queste associazioni consentono di connettersi all'endpoint dalle applicazioni che altrimenti non potrebbero accedere al database a causa delle restrizioni del VPC.

Nella procedura seguente viene illustrato come creare e accedere a un endpoint tra VPC tramite RDS Proxy:

  1. Crea due VPC o scegli due VPC già utilizzati per RDS. Ogni VPC dovrebbe avere le proprie risorse di rete associate come un gateway Internet, tabelle di routing, sottoreti e gruppi di sicurezza. Se si dispone di un solo VPC, è possibile consultare la procedura Nozioni di base su Amazon RDS per configurare un altro VPC per l'utilizzo corretto di RDS. Puoi anche esaminare il tuo VPC esistente nella console Amazon EC2 per vedere i tipi di risorse da connettere tra loro.

  2. Crea un proxy database associato all'istanza database Amazon RDS a cui desideri connetterti. Segui la procedura riportata in Creazione di un RDS Proxy.

  3. Nella pagina Dettagli del proxy nella console RDS, nella sezione Endpoint proxy seleziona Crea endpoint. Segui la procedura riportata in Creazione di un endpoint proxy.

  4. Seleziona se impostare l'endpoint tra VPC in lettura/scrittura o in sola lettura.

  5. Invece di accettare il valore predefinito dello stesso VPC dell'istanza database Amazon RDS, seleziona un VPC diverso. Questo VPC deve trovarsi nella stessa regione AWS del VPC in cui risiede il proxy.

  6. Ora invece di accettare i valori predefiniti per le sottoreti e i gruppi di sicurezza dallo stesso VPC dell'istanza database Amazon RDS, effettua nuove selezioni. Le nuove selezioni dovranno essere relative alle sottoreti e ai gruppi di sicurezza del VPC scelto.

  7. Non è necessario modificare alcuna delle impostazioni per i segreti di Secrets Manager. Le stesse credenziali funzionano per tutti gli endpoint del proxy, indipendentemente dal VPC in cui si trova ciascun endpoint.

  8. Attendi che il nuovo endpoint raggiunga lo stato Disponibile.

  9. Prendi nota del nome completo dell'endpoint. Questo è il valore che termina in Region_name.rds.amazonaws.com fornito come parte della stringa di connessione per l'applicazione di database.

  10. Accedi al nuovo endpoint da una risorsa nello stesso VPC dell'endpoint. Un modo semplice per testare questo processo consiste nel creare una nuova istanza EC2 in questo VPC. Quindi, accedi all'istanza EC2 ed psql esegui i comandi mysql or per connetterti utilizzando il valore dell'endpoint nella stringa di connessione.

Creazione di un endpoint proxy

Per creare un endpoint proxy
  1. Accedi alla AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel riquadro di navigazione scegli Proxies (Proxy).

  3. Fai clic sul nome del proxy per il quale desideri creare un nuovo endpoint.

    Sarà visualizzata la pagina dei dettagli del proxy.

  4. In Endpoint proxy, seleziona Crea endpoint proxy.

    Verrà visualizzata la finestra Crea endpoint proxy.

  5. Per Nome endpoint proxy, specifica un nome descrittivo a scelta.

  6. Per Ruolo di destinazione, scegli se rendere l'endpoint di lettura/scrittura o di sola lettura.

    Le connessioni che utilizzano endpoint di lettura/scrittura possono eseguire qualsiasi tipo di operazione, come istruzioni DDL (Data Definition Language), istruzioni DML (Data Manipulation Language) e query. Questi endpoint si connettono sempre all'istanza primaria del cluster di database RDS. Puoi utilizzare gli endpoint di lettura/scrittura per le operazioni generali del database nel caso in cui utilizzi un singolo endpoint nell'applicazione. È inoltre possibile utilizzare endpoint di lettura/scrittura per operazioni amministrative, applicazioni di elaborazione delle transazioni online (OLTP) e lavori (ETL). extract-transform-load

    Le connessioni che utilizzano un endpoint di sola lettura possono soltanto eseguire query. Server proxy per RDS può utilizzare una delle istanze di lettura per ogni connessione all'endpoint. In questo modo, un'applicazione ad uso intensivo di query può sfruttare i vantaggi della capacità di clustering dei cluster di database Multi-AZ. Queste connessioni di sola lettura non impongono alcun sovraccarico sull'istanza primaria del cluster. In questo modo, le query di report e analisi non rallentano le operazioni di scrittura delle applicazioni OLTP.

  7. Per Virtual Private Cloud (VPC), scegli l'impostazione predefinita per accedere all'endpoint dalle stesse istanze EC2 o da altre risorse che normalmente vengono utilizzate per accedere al proxy o al database associato. Per impostare l'accesso tra VPC per questo proxy, scegli un VPC diverso da quello predefinito. Per ulteriori informazioni sull'accesso tra VPC, consulta Accesso ai database RDS su VPC.

  8. Per Sottoreti, RDS Proxy riempie le stesse sottoreti del proxy associato per impostazione predefinita. Per limitare l'accesso all'endpoint solo a una parte dell'intervallo di indirizzi del VPC a cui è possibile connettersi, rimuovi una o più sottoreti.

  9. Per Gruppo di sicurezza VPC puoi selezionare un gruppo di sicurezza esistente o crearne uno nuovo. Per impostazione predefinita, RDS Proxy riempie lo stesso gruppo o gruppi di sicurezza del proxy associato. Se le regole in entrata e in uscita per il proxy sono appropriate per questo endpoint, mantieni la scelta predefinita.

    Se decidi di creare un nuovo gruppo di sicurezza, specifica un nome per il gruppo di sicurezza in questa pagina. Quindi modifica le impostazioni del gruppo di sicurezza dalla console EC2 in un secondo momento.

  10. Scegli Crea endpoint proxy.

Per creare un endpoint proxy, usa il AWS CLI create-db-proxy-endpointcomando.

Includi i parametri obbligatori seguenti:

  • --db-proxy-name value

  • --db-proxy-endpoint-name value

  • --vpc-subnet-ids list_of_ids. Separa gli ID delle sottoreti con gli spazi. Non specificare l'ID del VPC stesso.

Puoi inoltre includere i seguenti parametri facoltativi:

  • --target-role { READ_WRITE | READ_ONLY }. Questo parametro per impostazione predefinita è READ_WRITE. Quando il proxy è associato a un cluster DB Multi-AZ, un cluster che contiene solo un'istanza Writer DB, non è possibile specificare. READ_ONLY Per ulteriori informazioni sull'uso previsto degli endpoint di sola lettura con Endpoint di lettura per cluster di database Multi-AZ

  • --vpc-security-group-ids value. Separa gli ID dei gruppi di sicurezza con gli spazi. Se ometti questo parametro, RDS Proxy utilizza il gruppo di sicurezza predefinito per il VPC. RDS Proxy determina il VPC in base agli ID sottorete specificati per il parametro --vpc-subnet-ids.

Esempio

Nell'esempio seguente viene creato un endpoint proxy denominato my-endpoint.

LinuxmacOSPer, o: Unix

aws rds create-db-proxy-endpoint \ --db-proxy-name my-proxy \ --db-proxy-endpoint-name my-endpoint \ --vpc-subnet-ids subnet_id subnet_id subnet_id ... \ --target-role READ_ONLY \ --vpc-security-group-ids security_group_id ]

Per Windows:

aws rds create-db-proxy-endpoint ^ --db-proxy-name my-proxy ^ --db-proxy-endpoint-name my-endpoint ^ --vpc-subnet-ids subnet_id_1 subnet_id_2 subnet_id_3 ... ^ --target-role READ_ONLY ^ --vpc-security-group-ids security_group_id

Per creare un endpoint proxy, utilizza l'azione ProxyEndpointCreateDB dell'API RDS.

Visualizzazione degli endpoint proxy

Per visualizzare i dettagli di un endpoint proxy
  1. Accedi alla AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel riquadro di navigazione scegli Proxies (Proxy).

  3. Nell'elenco scegli il proxy di cui si desidera visualizzare l'endpoint. Fai clic sul nome del proxy per visualizzarne la pagina dei dettagli.

  4. Nella sezione Endpoint proxy, scegli l'endpoint che desideri visualizzare. Fai clic sul relativo nome per visualizzare la pagina dei dettagli.

  5. Esamina i parametri di cui ti interessano i valori. Puoi controllare proprietà come le seguenti:

    • Se l'endpoint è di lettura/scrittura o di sola lettura.

    • L'indirizzo dell'endpoint utilizzato in una stringa di connessione al database.

    • Le sottoreti e i gruppi di sicurezza del VPC associati all'attività.

Per visualizzare uno o più endpoint proxy, usa il comando. AWS CLI describe-db-proxy-endpoints

Puoi includere i seguenti parametri facoltativi:

  • --db-proxy-endpoint-name

  • --db-proxy-name

Nell'esempio seguente viene descritto l'endpoint proxy my-endpoint.

Esempio

Per LinuxmacOS, oUnix:

aws rds describe-db-proxy-endpoints \ --db-proxy-endpoint-name my-endpoint

Per Windows:

aws rds describe-db-proxy-endpoints ^ --db-proxy-endpoint-name my-endpoint

Per descrivere uno o più endpoint proxy, utilizzate l'operazione RDS API ProxyEndpointsDescribeDB.

Modifica di un endpoint proxy

Per modificare uno o più endpoint proxy
  1. Accedi alla AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel riquadro di navigazione scegli Proxies (Proxy).

  3. Nell'elenco seleziona il proxy di cui desideri modificare l'endpoint. Fai clic sul nome del proxy per visualizzarlo

  4. Nella sezione Endpoint proxy, scegli l'endpoint che desideri modificare. Puoi selezionarlo dall'elenco oppure fare clic sul relativo nome e visualizzarne la pagina dei dettagli.

  5. Nella pagina dei dettagli del proxy, sotto la sezione Endpoint proxy, seleziona Modifica. Oppure, nella pagina dei dettagli dell'endpoint proxy, per Azioni, scegli Modifica.

  6. Modificare i valori dei parametri desiderati.

  7. Seleziona Save changes (Salva modifiche).

Per modificare un endpoint proxy, utilizza il AWS CLI modify-db-proxy-endpointcomando con i seguenti parametri richiesti:

  • --db-proxy-endpoint-name

Specifica le modifiche alle proprietà dell'endpoint utilizzando uno o più dei seguenti parametri:

  • --new-db-proxy-endpoint-name

  • --vpc-security-group-ids. Separa gli ID dei gruppi di sicurezza con gli spazi.

Nel seguente esempio l'endpoint proxy my-endpoint viene ridenominato in new-endpoint-name.

Esempio

Per LinuxmacOS, oUnix:

aws rds modify-db-proxy-endpoint \ --db-proxy-endpoint-name my-endpoint \ --new-db-proxy-endpoint-name new-endpoint-name

Per Windows:

aws rds modify-db-proxy-endpoint ^ --db-proxy-endpoint-name my-endpoint ^ --new-db-proxy-endpoint-name new-endpoint-name

Per modificare un endpoint proxy, utilizzate l'operazione ProxyEndpointModifyDB dell'API RDS.

Eliminazione di un endpoint proxy

Puoi eliminare un endpoint per il proxy utilizzando la console come descritto di seguito.

Nota

Non è possibile eliminare l'endpoint proxy predefinito che RDS Proxy crea automaticamente per ogni proxy.

Quando elimini un proxy, RDS Proxy elimina automaticamente tutti gli endpoint associati.

Per eliminare un endpoint proxy utilizzando il AWS Management Console
  1. Nel riquadro di navigazione scegli Proxies (Proxy).

  2. Nell'elenco seleziona il proxy per cui desideri eliminare l'endpoint. Fai clic sul nome del proxy per visualizzarne la pagina dei dettagli.

  3. Nella sezione Endpoint proxy, scegli l'endpoint che desideri eliminare. Puoi selezionare uno o più endpoint dall'elenco oppure fare clic sul nome di un singolo endpoint e visualizzarne la pagina dei dettagli.

  4. Nella pagina dei dettagli del proxy, sotto la sezione Endpoint proxy, seleziona Elimina. Oppure, nella pagina dei dettagli dell'endpoint proxy, per Azioni, scegli Elimina.

Per eliminare un endpoint proxy, esegui il delete-db-proxy-endpointcomando con i seguenti parametri richiesti:

  • --db-proxy-endpoint-name

Il comando seguente elimina l'endpoint proxy denominato my-endpoint.

Per LinuxmacOS, oUnix:

aws rds delete-db-proxy-endpoint \ --db-proxy-endpoint-name my-endpoint

Per Windows:

aws rds delete-db-proxy-endpoint ^ --db-proxy-endpoint-name my-endpoint

Per eliminare un endpoint proxy con l'API RDS, esegui l'operazione ProxyEndpointDeleteDB. Specifica il nome dell'endpoint proxy per il parametro DBProxyEndpointName.

Limitazioni per gli endpoint proxy

Gli endpoint proxy RDS presentano le seguenti limitazioni:

  • Ogni proxy dispone di un endpoint predefinito che è possibile modificare ma non creare o eliminare.

  • Il numero massimo di endpoint definiti dall'utente per un proxy è 20. Pertanto, un proxy può avere fino a 21 endpoint: l'endpoint predefinito più 20 creati.

  • Quando associ degli endpoint aggiuntivi a un proxy, RDS Proxy determina automaticamente quali istanze database nel cluster utilizzare per ciascun endpoint.