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 proxy per Amazon RDS
Puoi associare un proxy a un'istanza database RDS per MariaDB, RDS per Microsoft SQL Server, RDS per MySQL o RDS per PostgreSQL.
Per creare un proxy
-
Accedi a AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/
. -
Nel riquadro di navigazione scegli Proxy.
-
Scegli Create proxy (Crea proxy).
-
Configura il proxy utilizzando le impostazioni indicate di seguito.
Impostazione Description Famiglia di motori Il protocollo di rete del database riconosciuto dal proxy quando interpreta il traffico di rete verso e dal database. Nota
Per utilizzare RDS per PostgreSQL, assicurati di mantenere il database
postgresnella tua istanza. Consulta Risoluzione dei problemi relativi al database postgres eliminato.Identificatore proxy Un nome univoco all'interno dell'ID AWS dell'account e AWS della regione corrente. Timeout di connessione client inattivo Il proxy chiude una connessione client se questa rimane inattiva per un determinato periodo. Il valore predefinito è 1.800 secondi (30 minuti). Una connessione client è inattiva quando l’applicazione non invia una nuova richiesta entro il tempo specificato dopo il completamento della richiesta precedente. Il proxy mantiene aperta la connessione al database sottostante e la restituisce al pool di connessioni, rendendola disponibile per nuove connessioni client.
Per eliminare in modo proattivo le connessioni obsolete, riduci il timeout della connessione client per inattività. Per ridurre al minimo i costi di connessione durante i picchi dei carichi di lavoro, aumenta il timeout.
Database Scegli un’istanza database RDS per l’accesso 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'istanza database Amazon RDS. Quindi prova a creare nuovamente il proxy. Numero massimo di connessioni del pool di connessione Un valore compreso tra 1 e 100 per definire il limite per max_connections, espresso in percentuale, che Server proxy per RDS può utilizzare. Se intendi utilizzare un solo proxy con questa istanza o cluster di database, puoi impostare il limite su 100. Per ulteriori informazioni su come Server proxy per RDS utilizza questa impostazione, consulta MaxConnectionsPercent.Filtri per l’aggiunta di sessioni Impedisce a Server proxy per RDS di bloccare determinati stati di sessione rilevati, ignorando così le misure di sicurezza predefinite per le connessioni multiplexing. Attualmente, PostgreSQL non supporta questa impostazione e l’unica opzione disponibile è
EXCLUDE_VARIABLE_SETS. La sua attivazione potrebbe far sì che le variabili di sessione di una connessione influiscano sulle altre, causando errori o problemi di correttezza se le query si basano su variabili di sessione impostate al di fuori della transazione corrente. Utilizza questa opzione solo dopo aver verificato che le applicazioni possano condividere in modo sicuro le connessioni al database.I seguenti modelli sono considerati sicuri:
-
Istruzioni
SETin cui non viene apportata alcuna modifica al valore della variabile di sessione effettiva. In altre parole, la variabile di sessione rimane invariata. -
Modifichi il valore della variabile di sessione ed esegui un'istruzione nella stessa transazione.
Per ulteriori informazioni, consulta Evitare di effettuare il pinning di un Server proxy per RDS.
Timeout del prestito della connessione Se prevedi che il proxy utilizzerà tutte le connessioni al database disponibili, imposta il tempo di attesa prima della restituzione di un errore di timeout. Puoi specificare fino a 5 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) Aggiungi una query di inizializzazione o modifica quella corrente. Puoi specificare una o più istruzioni SQL per l'esecuzione del proxy all'apertura di ogni nuova connessione al database. L’impostazione è in genere utilizzata con le istruzioni
SETper assicurarsi che ogni connessione abbia impostazioni identiche. Assicurati che la query che aggiungi sia valida. Per includere più variabili in una singola istruzioneSET, utilizza la virgola come separatore. Ad esempio:SETvariable1=value1,variable2=value2Per più istruzioni, utilizzare il punto e virgola come separatore.
Importante
Poiché è possibile accedervi nell’ambito della configurazione del gruppo di destinazione, la query di inizializzazione non è protetta da metodi di autenticazione o crittografia. Chiunque abbia accesso alla visualizzazione o alla gestione della configurazione del gruppo di destinazione proxy può visualizzare la query di inizializzazione. È opportuno evitare di aggiungere a questa opzione dati sensibili, ad esempio password o chiavi di crittografia di lunga durata.
AWS Identity and Access Management Ruolo (IAM) Un ruolo IAM con autorizzazione di accesso ai segreti Secrets Manager, che rappresentano le credenziali per gli account utente del database che il proxy può utilizzare. In alternativa, è possibile creare un nuovo ruolo IAM dalla AWS Management Console.
Segreti Secrets Manager Crea o scegli i segreti di Secrets Manager che rappresentano le credenziali per gli account degli utenti del database che possono utilizzare il proxy.
Quando lo schema di autenticazione predefinito è impostato su Nessuno, questo campo è obbligatorio. Quando lo schema di autenticazione predefinito è impostato sull'autenticazione IAM, questo campo diventa facoltativo e viene contrassegnato come tale nella console.
Puoi scegliere uno o più segreti dal menu a discesa o creare un nuovo segreto utilizzando il link Crea un nuovo segreto.
Tipo di autenticazione client 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 tuo proxy utilizzando invece l'API AWS CLI o l'API. Specificate questa opzione solo quando la connessione del client utilizza le credenziali del database per l'autenticazione. Autenticazione IAM Specificate Obbligatoria , Consentita o Non consentita per l'autenticazione IAM per le connessioni al proxy. L'opzione Allowed è valida solo per i proxy per RDS per SQL Server. 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. Schema di autenticazione predefinito Scegli il tipo di autenticazione predefinito utilizzato dal proxy per le connessioni del client al proxy e le connessioni dal proxy al database sottostante. Sono disponibili le seguenti opzioni:
Nessuno (impostazione predefinita): il proxy recupera le credenziali del database dai segreti di Secrets Manager.
Autenticazione IAM: il proxy utilizza l'autenticazione IAM per connettersi al database, abilitando l'autenticazione end-to-end IAM.
Quando si seleziona l'autenticazione IAM, viene visualizzato un avviso informativo che ricorda di abilitare l'autenticazione del database IAM per i database nella configurazione del gruppo target.
Nota
Questa opzione è supportata solo per le famiglie di motori MySQL, PostgreSQL e MariaDB.
Account di database per l'autenticazione IAM Questo campo viene visualizzato solo quando lo schema di autenticazione predefinito è impostato sull'autenticazione IAM e il ruolo di gestione delle identità e degli accessi (IAM) è impostato su Crea ruolo IAM.
Assegna un nome agli account utente del database per il proxy da utilizzare con l'autenticazione IAM. Questo è un campo obbligatorio. Specificare più account mediante:
Digitare il nome utente di un database per aggiungerlo come tag
Utilizzo di nomi utente specifici del database (ad esempio
db_user,jane_doe)Utilizzo di pattern jolly per più utenti (ad esempio,
db_test_*)
Ogni account appare come un tag rimovibile che puoi eliminare facendo clic sull'icona X. La console utilizza questi valori per creare le
rds-db:connectautorizzazioni appropriate nella policy del ruolo IAM.Richiede Transport Layer Security Applica TLS/SSL per tutte le connessioni client. Il proxy utilizza la stessa impostazione di crittografia quando effettua la connessione al database sottostante, indipendentemente dal fatto che la connessione client sia crittografata o meno.
Tipo di rete della connessione di destinazione La versione IP utilizzata dal proxy per connettersi al database di destinazione. Seleziona una delle opzioni seguenti:
-
IPv4— Il proxy si connette al database utilizzando IPv4 gli indirizzi.
-
IPv6— Il proxy si connette al database utilizzando IPv6 gli indirizzi.
Il valore predefinito è IPv4. Per poter essere utilizzato IPv6, il database deve supportare la modalità dual-stack. La modalità dual-stack non è disponibile per le connessioni di destinazione.
Tipo di rete dell’endpoint La versione IP dell’endpoint proxy utilizzato dai client per connettersi al proxy. Seleziona una delle opzioni seguenti:
-
IPv4— L'endpoint proxy utilizza solo indirizzi. IPv4
-
IPv6— L'endpoint proxy utilizza solo IPv6 indirizzi.
-
Dual-stack: l'endpoint proxy supporta entrambi gli indirizzi. IPv4 IPv6
Il valore predefinito è IPv4. Per utilizzare IPv6 il dual-stack, il VPC e le sottoreti devono essere configurati per supportare il tipo di rete selezionato.
Sottoreti Questo campo è precompilato con tutte le sottoreti associate al VPC. È possibile rimuovere tutte le sottoreti non necessarie per il proxy, ma è necessario lasciarne almeno due. Per i tipi di rete endpoint IPv6 o dual-stack, assicurati che le sottoreti selezionate supportino il tipo di rete scelto.
Gruppo di sicurezza VPC Scegli un gruppo di sicurezza VPC esistente o creane uno nuovo dalla AWS Management Console. Configura le regole in entrata per permettere alle applicazioni di accedere al proxy e 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. Viene utilizzato sia per l’ingresso dalle applicazioni al proxy sia per l’uscita dal proxy al database. Ad esempio, se utilizzi lo stesso gruppo di sicurezza sia per il database che per il proxy, assicurati che le risorse al suo possano comunicare tra loro.
Quando ricorri a un VPC condiviso, evita di utilizzare il gruppo di sicurezza predefinito per il VPC o uno associato a un altro account. Scegli un gruppo di sicurezza appartenente all’account. Se non ne esiste uno, crealo. Per ulteriori informazioni, consulta Work with shared. VPCs
RDS implementa un proxy su più zone di disponibilità per garantire una disponibilità elevata. Per abilitare la comunicazione tra zone di disponibilità, la lista di controllo degli accessi (ACL) relativa alla sottorete del proxy deve consentire l’uscita sulla porta del motore e l’ingresso su tutte le porte. Per ulteriori informazioni sulla rete ACLs, consulta Controllare il traffico verso le sottoreti utilizzando la rete. ACLs 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 l’opzione Destinazione sia impostata su CIDR VPC.
Attiva la registrazione di log avanzata Attiva questa impostazione per risolvere problemi di compatibilità o prestazioni del proxy. Se abilitato, Server proxy per RDS registra informazioni dettagliate sulle prestazioni per aiutarti a eseguire il debug del comportamento SQL o delle prestazioni e della scalabilità della connessione proxy.
Abilita questa impostazione solo per il debug e assicurati che siano state adottate misure di sicurezza adeguate per proteggere le informazioni sensibili nei log. Per ridurre al minimo il sovraccarico, Server proxy per RDS disattiva automaticamente questa impostazione 24 ore dopo l’attivazione. Utilizzala temporaneamente per risolvere problemi specifici.
-
-
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--vpc-subnet-ids
Il valore --engine-family prevede la distinzione tra lettere maiuscole e minuscole.
Esempio
Per Linux, macOS o Unix:
aws rds create-db-proxy \ --db-proxy-nameproxy_name\ --engine-family { MYSQL | POSTGRESQL | SQLSERVER } \ --role-arniam_role\ --vpc-subnet-idsspace_separated_list\ [--default-auth-scheme { NONE | IAM_AUTH }] \ [--authProxyAuthenticationConfig_JSON_string] \ [--vpc-security-group-idsspace_separated_list] \ [--require-tls | --no-require-tls] \ [--idle-client-timeoutvalue] \ [--debug-logging | --no-debug-logging] \ [--endpoint-network-type { IPV4 | IPV6 | DUAL }] \ [--target-connection-network-type { IPV4 | IPV6 }] \ [--tagscomma_separated_list]
Per Windows:
aws rds create-db-proxy ^ --db-proxy-nameproxy_name^ --engine-family { MYSQL | POSTGRESQL | SQLSERVER } ^ --role-arniam_role^ --vpc-subnet-idsspace_separated_list^ [--default-auth-scheme { NONE | IAM_AUTH }] ^ [--authProxyAuthenticationConfig_JSON_string] ^ [--vpc-security-group-idsspace_separated_list] ^ [--require-tls | --no-require-tls] ^ [--idle-client-timeoutvalue] ^ [--debug-logging | --no-debug-logging] ^ [--endpoint-network-type { IPV4 | IPV6 | DUAL }] ^ [--target-connection-network-type { IPV4 | IPV6 }] ^ [--tagscomma_separated_list]
Di seguito è riportato un esempio di valore JSON per l'opzione --auth. In questo esempio viene applicato un tipo di autenticazione client diverso per 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" } ]
Il parametro --endpoint-network-type specifica la versione IP dell’endpoint proxy utilizzato dai client per connettersi al proxy. I valori validi sono:
-
IPV4— L'endpoint proxy utilizza solo IPv4 indirizzi (impostazione predefinita). -
IPV6— L'endpoint proxy utilizza solo IPv6 indirizzi. -
DUAL— L'endpoint proxy supporta entrambi IPv4 gli IPv6 indirizzi.
Il parametro --target-connection-network-type specifica la versione IP utilizzata dal proxy per connettersi al database di destinazione. I valori validi sono:
-
IPV4— Il proxy si connette al database utilizzando IPv4 gli indirizzi (impostazione predefinita). -
IPV6— Il proxy si connette al database utilizzando IPv6 gli indirizzi.
Per utilizzare tipi IPv6 di rete endpoint dual-stack, il VPC e le sottoreti devono essere configurati per supportare il tipo di rete selezionato. Per utilizzare il tipo di rete con connessione IPv6 di destinazione, il database deve supportare la modalità dual-stack.
Suggerimento
Se non conosci già la sottorete IDs da utilizzare per il --vpc-subnet-ids parametro, consulta Configurazione dei prerequisiti di rete per Server proxy per 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 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 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 RDS Proxy crea automaticamente un gruppo di destinazione con questo nome quando si crea ogni proxy.
aws rds register-db-proxy-targets --db-proxy-namevalue[--target-group-nametarget_group_name] [--db-instance-identifiersspace_separated_list] # rds db instances, or [--db-cluster-identifierscluster_id] # rds db cluster (all instances)
Per creare un proxy RDS, chiama l'operazione API Amazon RDS Create. DBProxy Passi un parametro con la struttura dei AuthConfigdati.
RDS Proxy crea automaticamente un gruppo di destinazione denominato default quando si crea ogni proxy. È possibile associare un cluster DB di istanze RDS al gruppo di destinazione chiamando la funzione DBProxy Register Targets.
Importante
Quando si seleziona l'autenticazione IAM per lo schema di autenticazione predefinito:
-
È necessario abilitare l'autenticazione del database IAM sulle istanze o sui cluster del database di destinazione prima che il proxy possa connettersi correttamente.
-
Se scegli Crea il ruolo IAM, è obbligatorio il campo Database accounts for IAM authentication.
-
Se selezioni un ruolo IAM esistente, la console non aggiorna automaticamente il ruolo con le autorizzazioni di connessione al database. Verifica che il ruolo disponga delle
rds-db:connectautorizzazioni necessarie.