Creazione di un RDS Proxy - Amazon Aurora

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à.

Creazione di un RDS Proxy

Per gestire le connessioni per un cluster DB, crea un proxy. Puoi associare un proxy a un cluster database Aurora MySQL o Aurora PostgreSQL.

Per creare un proxy
  1. Accedi 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. Scegli Create proxy (Crea proxy).

  4. Scegli tutte le impostazioni per il tuo proxy.

    Per la configurazione del proxy, fornire informazioni per quanto segue:

    • Famiglia di motori. Questa impostazione determina il protocollo di rete del database riconosciuto dal proxy quando interpreta il traffico di rete verso e dal database. Per Aurora MySQL, scegli MariaDB and MySQL (MariaDB e MySQL). Per Aurora PostgreSQL, scegli PostgreSQL.

    • Identificatore proxy. Specificane un nome univoco all'interno dell'ID AWS dell'account e AWS della regione corrente.

    • Timeout della connessione client per inattività. Scegli un periodo di tempo in cui una connessione client può rimanere inattiva prima che il proxy la chiuda. Il valore predefinito è 1.800 secondi (30 minuti). Una connessione client è considerata inattiva quando l'applicazione non invia una nuova richiesta entro il tempo specificato dopo il completamento della richiesta precedente. La connessione al database sottostante rimane aperta e viene restituita al pool di connessioni. Pertanto, è disponibile per essere riutilizzata per nuove connessioni client.

      Per fare in modo che il proxy rimuova in modo proattivo le connessioni obsolete, riducete il timeout della connessione del client inattivo. Quando il carico di lavoro aumenta, per risparmiare sui costi di creazione delle connessioni, aumenta il timeout della connessione dei client inattivi».

    Per la configurazione del gruppo di destinazione, fornire informazioni per quanto segue:

    • Database. Scegli un' cluster Aurora DB a cui accedere tramite questo proxy. L'elenco include solo istanze DB e cluster con motori di database compatibili, versioni del motore e altre impostazioni. Se l'elenco è vuoto, crea una nuova istanza database o un cluster compatibile con RDS Proxy. A tale scopo, segui la procedura in Creazione di un cluster database Amazon Aurora. Quindi prova a creare nuovamente il proxy.

    • Connessioni massime del pool di connessioni. Specificare un valore compreso tra 1 e 100. Questa impostazione rappresenta la percentuale del valore max_connections che RDS Proxy può utilizzare per le relative connessioni. Se intendi utilizzare un solo proxy con questa istanza database o cluster, puoi impostarlo su 100. Per informazioni dettagliate su come RDS Proxy utilizza questa impostazione, consulta MaxConnectionsPercent.

    • Filtri di pinning della sessione. (Facoltativo) Questa opzione consente di forzare Server proxy per Amazon RDS a non eseguire il pin per determinati tipi di stati di sessione rilevati. Ciò elude le misure di sicurezza predefinite per il multiplexing delle connessioni al database tra connessioni client. Attualmente, l'impostazione non è supportata per PostgreSQL. L'unica scelta è. EXCLUDE_VARIABLE_SETS

      L'attivazione di questa impostazione può far sì che le variabili di sessione di una connessione influiscano sulle altre connessioni. Ciò può causare errori o problemi di correttezza se le query dipendono dai valori delle variabili di sessione impostati al di fuori della transazione corrente. Valuta l'utilizzo di questa opzione dopo aver verificato che sia sicuro per le applicazioni condividere le connessioni al database tra connessioni client.

      I seguenti modelli possono essere considerati sicuri:

      • Istruzioni SET in cui non viene apportata alcuna modifica al valore della variabile di sessione effettiva, ovvero non viene apportata alcuna modifica alla variabile di sessione.

      • Modifichi il valore della variabile di sessione ed esegui un'istruzione nella stessa transazione.

      Per ulteriori informazioni, consulta Evitare di bloccare un proxy RDS.

    • Timeout del prestito di connessione. In alcuni casi, è possibile che il proxy utilizzi talvolta tutte le connessioni di database disponibili. In questi casi, è possibile specificare per quanto tempo il proxy attende che una connessione di database diventi disponibile prima di restituire un errore di timeout. È possibile specificare un periodo fino a un massimo di cinque minuti. Questa impostazione si applica solo quando il proxy ha il numero massimo di connessioni aperte e tutte le connessioni sono già in uso.

    • Query di inizializzazione. (Opzionale) Puoi specificare una o più istruzioni SQL per l'esecuzione del proxy all'apertura di ogni nuova connessione al database. L'impostazione viene in genere utilizzata con SET le istruzioni per assicurarsi che ogni connessione abbia impostazioni identiche, come fuso orario e set di caratteri. Per più istruzioni, utilizzare il punto e virgola come separatore. È inoltre possibile includere più variabili in una singola istruzione SET, ad esempio SET x=1, y=2.

    Per l'autenticazione, fornisci informazioni per quanto segue:

    • Ruolo IAM. Scegli un ruolo IAM che disponga dell'autorizzazione per accedere ai segreti Secrets Manager scelti in precedenza. In alternativa, puoi creare un nuovo ruolo IAM da AWS Management Console.

    • Segreti di Secrets Manager. Scegli almeno un segreto di Secrets Manager che contenga le credenziali utente del database che consentano al proxy di accedere al cluster .

    • Tipo di autenticazione client. Scegli il tipo di autenticazione utilizzato dal proxy per le connessioni dei client. La tua scelta si applica a tutti i segreti di Secrets Manager che associ a questo proxy. Se devi specificare un tipo di autenticazione client diverso per ogni segreto, crea il proxy utilizzando invece l'API AWS CLI o.

    • Autenticazione IAM. Scegli se richiedere o non consentire l'autenticazione IAM per le connessioni al proxy. La tua scelta si applica a tutti i segreti di Secrets Manager che associ a questo proxy. Se devi specificare un'autenticazione IAM diversa per ogni segreto, crea il proxy utilizzando invece l'API AWS CLI o l'API.

    Per Connettività, fornire informazioni per quanto segue:

    • Richiedi Transport Layer Security. Scegli questa impostazione se desideri che il proxy applichi TLS/SSL per tutte le connessioni client. Per una connessione crittografata o non crittografata a un proxy, il proxy utilizza la stessa impostazione di crittografia quando effettua la connessione al database sottostante.

    • Sottoreti. Questo campo è precompilato con tutte le sottoreti associate al VPC. Rimuovere le sottoreti non necessarie per questo proxy. Devi lasciare almeno due sottoreti.

    Configurazione di connettività aggiuntiva:

    • Gruppo di sicurezza VPC. Scegli un gruppo di sicurezza VPC esistente. In alternativa, puoi creare un nuovo gruppo di sicurezza da AWS Management Console. È necessario configurare le regole in entrata per consentire alle applicazioni di accedere al proxy. È inoltre necessario configurare le regole in uscita per consentire il traffico proveniente dalle destinazioni del database.

      Nota

      Questo gruppo di sicurezza deve consentire le connessioni dal proxy al database. Lo stesso gruppo di protezione viene utilizzato per l'ingresso dalle applicazioni al proxy e per l'uscita dal proxy al database. Si supponga, ad esempio, di utilizzare lo stesso gruppo di protezione per il database e il proxy. In questo caso, assicurarsi di specificare che le risorse di tale gruppo di protezione possono comunicare con altre risorse dello stesso gruppo di protezione.

      Quando si utilizza un VPC condiviso, non è possibile utilizzare il gruppo di sicurezza predefinito per il VPC o uno appartenente a un altro account. Scegli un gruppo di sicurezza appartenente all'account. Se non esiste, creane uno. Per ulteriori informazioni su questa limitazione, consulta Utilizzo di VPC condivisi.

      RDS implementa un proxy su più zone di disponibilità per garantire una disponibilità elevata. Per abilitare la comunicazione tra zone di disponibilità per un proxy di questo tipo, la lista di controllo degli accessi (ACL) alla rete della sottorete proxy deve consentire l'uscita specifica della porta del motore e l'ingresso di tutte le porte. Per ulteriori informazioni sulle ACL di rete, consulta Come controllare il traffico verso le sottoreti utilizzando le liste di controllo degli accessi di rete. Se l'ACL di rete per il proxy e la destinazione sono identici, devi aggiungere una regola di ingresso del protocollo TCP in cui Origine è impostata sul VPC CIDR. È inoltre necessario aggiungere una regola di uscita del protocollo TCP specifica per la porta del motore in cui la destinazione è impostata sul VPC CIDR.

    (Facoltativo) Fornire una configurazione avanzata:

    • Enable enhanced logging (Abilita registrazione avanzata. Puoi attivare questa impostazione per risolvere problemi di compatibilità o prestazioni del proxy.

      Quando questa impostazione è abilitata, RDS Proxy include informazioni dettagliate sulle prestazioni del proxy nei suoi registri. Queste informazioni consentono di eseguire il debug di problemi relativi al comportamento SQL o alle prestazioni e alla scalabilità delle connessioni proxy. Pertanto, abilita questa impostazione solo per il debug e quando sono state adottate misure di sicurezza per salvaguardare le informazioni sensibili che appaiono nei registri.

      Per ridurre al minimo il sovraccarico associato al proxy, RDS Proxy disattiva automaticamente questa impostazione 24 ore dopo l'attivazione. Abilitare temporaneamente la risoluzione di un problema specifico.

  5. Scegli Create Proxy (Crea Proxy).

Per creare un proxy utilizzando il AWS CLI, chiamate il create-db-proxycomando con i seguenti parametri obbligatori:

  • --db-proxy-name

  • --engine-family

  • --role-arn

  • --auth

  • --vpc-subnet-ids

Il valore --engine-family prevede la distinzione tra lettere maiuscole e minuscole.

Esempio

Per LinuxmacOS, oUnix:

aws rds create-db-proxy \ --db-proxy-name proxy_name \ --engine-family { MYSQL | POSTGRESQL | SQLSERVER } \ --auth ProxyAuthenticationConfig_JSON_string \ --role-arn iam_role \ --vpc-subnet-ids space_separated_list \ [--vpc-security-group-ids space_separated_list] \ [--require-tls | --no-require-tls] \ [--idle-client-timeout value] \ [--debug-logging | --no-debug-logging] \ [--tags comma_separated_list]

Per Windows:

aws rds create-db-proxy ^ --db-proxy-name proxy_name ^ --engine-family { MYSQL | POSTGRESQL | SQLSERVER } ^ --auth ProxyAuthenticationConfig_JSON_string ^ --role-arn iam_role ^ --vpc-subnet-ids space_separated_list ^ [--vpc-security-group-ids space_separated_list] ^ [--require-tls | --no-require-tls] ^ [--idle-client-timeout value] ^ [--debug-logging | --no-debug-logging] ^ [--tags comma_separated_list]

Di seguito è riportato un esempio di valore JSON per l'opzione --auth. Questo esempio 
 applica un tipo di autenticazione client diverso a ciascun segreto.

[ { "Description": "proxy description 1", "AuthScheme": "SECRETS", "SecretArn": "arn:aws:secretsmanager:us-west-2:123456789123:secret/1234abcd-12ab-34cd-56ef-1234567890ab", "IAMAuth": "DISABLED", "ClientPasswordAuthType": "POSTGRES_SCRAM_SHA_256" }, { "Description": "proxy description 2", "AuthScheme": "SECRETS", "SecretArn": "arn:aws:secretsmanager:us-west-2:111122223333:secret/1234abcd-12ab-34cd-56ef-1234567890cd", "IAMAuth": "DISABLED", "ClientPasswordAuthType": "POSTGRES_MD5" }, { "Description": "proxy description 3", "AuthScheme": "SECRETS", "SecretArn": "arn:aws:secretsmanager:us-west-2:111122221111:secret/1234abcd-12ab-34cd-56ef-1234567890ef", "IAMAuth": "REQUIRED" } ]
Suggerimento

Se non conosci già gli ID delle sottoreti da utilizzare per il parametro --vpc-subnet-ids, consulta Configurazione dei prerequisiti di rete per Proxy RDS per esempi su come trovarli.

Nota

Il gruppo di protezione deve consentire l'accesso al database a cui si connette il proxy. Lo stesso gruppo di protezione viene utilizzato per l'ingresso dalle applicazioni al proxy e per l'uscita dal proxy al database. Si supponga, ad esempio, di utilizzare lo stesso gruppo di protezione per il database e il proxy. In questo caso, assicurarsi di specificare che le risorse di tale gruppo di protezione possono comunicare con altre risorse dello stesso gruppo di protezione.

Quando si utilizza un VPC condiviso, non è possibile utilizzare il gruppo di sicurezza predefinito per il VPC o uno appartenente a un altro account. Scegli un gruppo di sicurezza appartenente all'account. Se non esiste, creane uno. Per ulteriori informazioni su questa limitazione, consulta Utilizzo di VPC condivisi.

Per creare le associazioni corrette per il proxy, si usa anche il register-db-proxy-targetscomando. Specificare il tipo di gruppo di destinazione default RDS Proxy crea automaticamente un gruppo di destinazione con questo nome quando si crea ogni proxy.

aws rds register-db-proxy-targets --db-proxy-name value [--target-group-name target_group_name] [--db-instance-identifiers space_separated_list] # rds db instances, or [--db-cluster-identifiers cluster_id] # rds db cluster (all instances)

Per creare un proxy RDS, chiamare l'operazione Amazon RDS API CreateDBProxy. Si passa un parametro con la struttura AuthConfigdei dati.

RDS Proxy crea automaticamente un gruppo di destinazione denominato default quando si crea ogni proxy. È possibile associare un cluster Aurora al gruppo di destinazione chiamando la funzione registerDB. ProxyTargets