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. È possibile associare un proxy a un cluster Aurora My o Aurora SQL Postgre DB. SQL

Per creare un proxy
  1. Accedi a AWS Management Console e apri la RDS console Amazon 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 e My. SQL Per Aurora Postgre, scegli Postgre. SQL SQL

    • Identificatore proxy. Specificane un nome univoco all'interno AWS dell'ID 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' del 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 o cluster DB 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 max_connections valore che RDS Proxy può utilizzare per le sue 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, vedereMaxConnectionsPercent.

    • Filtri di pinning della sessione. (Facoltativo) Questa opzione consente di forzare RDS Proxy 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 SQL Postgre. 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. (Facoltativo) Aggiungi una query di inizializzazione o modifica quella corrente. È possibile specificare una o più SQL istruzioni 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. Assicurati che la query che aggiungi sia valida. Per includere più variabili in una singola SET istruzione, utilizzate i separatori di virgole. Per esempio:

      SET variable1=value1, variable2=value2

      Per più istruzioni, utilizzare il punto e virgola come separatore.

    Per l'autenticazione, fornisci informazioni per quanto segue:

    • IAMruolo. Scegli un IAM ruolo con il permesso di accedere ai segreti di Secrets Manager che hai scelto in precedenza. In alternativa, puoi creare un nuovo IAM ruolo 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 Aurora RDS .

    • 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 il AWS CLI o ilAPI.

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

    Per Connettività, fornire informazioni per quanto segue:

    • Richiedi Transport Layer Security. Scegli questa impostazione se desideri che il proxy applichiTLS/SSLper 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 tuo. VPC Rimuovere le sottoreti non necessarie per questo proxy. Devi lasciare almeno due sottoreti.

    Configurazione di connettività aggiuntiva:

    • VPCgruppo di sicurezza. Scegli un gruppo VPC di sicurezza 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 account condivisoVPC, non è possibile utilizzare il gruppo di sicurezza predefinito per o uno che appartiene a un altro account. VPC Scegli un gruppo di sicurezza appartenente all'account. Se non esiste, creane uno. Per ulteriori informazioni su questa limitazione, consulta Work with shared VPCs.

      RDSdistribuisce un proxy su più zone di disponibilità per garantire un'elevata disponibilità. Per abilitare la comunicazione Cross-AZ per tale proxy, la lista di controllo dell'accesso alla rete (ACL) per la sottorete proxy deve consentire l'uscita specifica della porta del motore e l'ingresso di tutte le porte. Per ulteriori informazioni sulla reteACLs, consulta Controllare il traffico verso le sottoreti utilizzando la rete. ACLs Se la rete ACL del proxy e della destinazione sono identiche, è necessario aggiungere una regola di ingresso TCPdel protocollo in cui l'origine è impostata su. VPC CIDR È inoltre necessario aggiungere una regola di uscita del TCPprotocollo specifica per la porta del motore in cui la destinazione è impostata su. 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 SQL comportamento o alle prestazioni e alla scalabilità delle connessioni proxy. Pertanto, abilita questa impostazione solo per il debug e quando disponi di misure di sicurezza per salvaguardare le informazioni sensibili che appaiono nei log.

      Per ridurre al minimo il sovraccarico associato al proxy, RDS Proxy disattiva automaticamente questa impostazione 24 ore dopo averla abilitata. 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

In Linux, macOS, oppure Unix:

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]

In 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 del JSON valore dell'--authopzione. 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 conoscete già la sottorete IDs da usare per il --vpc-subnet-ids parametro, vedete Configurazione dei prerequisiti di rete per Proxy RDS alcuni 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 account condivisoVPC, non è possibile utilizzare il gruppo di sicurezza predefinito per o uno che appartiene a un altro account. VPC Scegli un gruppo di sicurezza appartenente all'account. Se non esiste, creane uno. Per ulteriori informazioni su questa limitazione, consulta Work with shared VPCs.

Per creare le associazioni corrette per il proxy, si usa anche il register-db-proxy-targetscomando. Specificare il tipo di gruppo di destinazione default RDSProxy crea automaticamente un gruppo target 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 RDS proxy, chiama l'RDSAPIoperazione Amazon reateDBProxyC. Passi un parametro con la struttura AuthConfigdei dati.

RDSProxy crea automaticamente un gruppo target denominato default quando si crea ciascun proxy. È possibile associare un cluster Aurora DB al gruppo di destinazione chiamando la funzione R egisterDBProxy Targets.