Creazione di un proxy per - 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 proxy per

Puoi utilizzare Amazon RDS Proxy per migliorare la scalabilità, la disponibilità e la sicurezza delle tue applicazioni di database raggruppando le connessioni e gestendo i failover del database in modo più efficiente. Questo argomento illustra come creare un proxy. Prima di iniziare, assicurati che il database soddisfi i prerequisiti necessari, tra cui le autorizzazioni IAM e la configurazione VPC.

Puoi associare un proxy a un cluster database Aurora MySQL o Aurora PostgreSQL.

Per creare un proxy
  1. Accedi a 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. Configura le seguenti impostazioni per il tuo proxy.

    Impostazione Descrizione
    Famiglia di motori Il protocollo di rete del database che il proxy riconosce quando interpreta il traffico di rete da e verso il database.
    Identificatore del proxy Un nome univoco all'interno dell'ID AWS dell'account e AWS della regione corrente.
    Timeout della connessione al client inattiva

    Il proxy chiude una connessione client se rimane inattiva per un determinato periodo. Per impostazione predefinita, si tratta di 1.800 secondi (30 minuti). Una connessione è inattiva quando l'applicazione non invia una nuova richiesta entro il tempo specificato dopo aver completato la 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 rimuovere in modo proattivo le connessioni obsolete, riduci il timeout della connessione client inattiva. Per ridurre al minimo i costi di connessione durante i picchi di carico di lavoro, aumenta il timeout.

    Database L' 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 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.
    Numero massimo di connessioni del pool di connessioni Un valore compreso tra 1 e 100 per definire la percentuale del max_connections limite che il proxy RDS può utilizzare. Se intendi utilizzare un solo proxy con questa istanza o cluster DB, imposta questo valore su 100. Per ulteriori informazioni su come RDS Proxy utilizza questa impostazione, vedereMaxConnectionsPercent.
    Filtri di blocco delle sessioni

    Impedisce al proxy RDS di bloccare determinati stati di sessione rilevati, ignorando così le misure di sicurezza predefinite per le connessioni multiplexate. 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, con conseguenti errori o problemi di correttezza se le query si basano su variabili di sessione impostate al di fuori della transazione corrente. Utilizzate questa opzione solo dopo aver verificato che le applicazioni possano condividere in modo sicuro le connessioni al database.

    I seguenti modelli sono considerati sicuri:

    • SETistruzioni in cui non viene apportata alcuna modifica al valore della variabile di sessione effettiva. In altre parole, 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 il blocco di un proxy RDS.

    Timeout di prestito della connessione Se prevedi che il proxy utilizzi tutte le connessioni al database disponibili, imposta il tempo di attesa prima che restituisca un errore di timeout. Puoi specificare fino a cinque minuti. Questa impostazione si applica solo quando il proxy ha raggiunto il numero massimo di connessioni e tutte sono in uso.
    Interrogazione di inizializzazione Aggiungere o modificare una query di inizializzazione specificando una o più istruzioni SQL per l'esecuzione del proxy all'apertura di una nuova connessione al database. Questa impostazione viene in genere utilizzata con SET le istruzioni per garantire impostazioni di connessione coerenti. Assicurati che la query sia valida e usa le virgole per separare più variabili all'interno di un'SETistruzione. Per esempio:
    SET variable1=value1, variable2=value2

    Per più istruzioni, separale con punto e virgola.

    AWS Identity and Access Management Ruolo (IAM)

    Un ruolo IAM con autorizzazione ad accedere ai segreti di Secrets Manager, che rappresentano le credenziali per gli account utente del database che il proxy può utilizzare. In alternativa, puoi creare un nuovo ruolo IAM da. AWS Management Console

    I 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 del client Il tipo di autenticazione utilizzato dal proxy per le connessioni dai 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 l'API.
    Autenticazione IAM 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 tuo proxy utilizzando invece l'API AWS CLI o.
    Richiedi Transport Layer Security

    Applica TLS/SSL per tutte le connessioni client. Il proxy utilizza la stessa impostazione di crittografia per la connessione al database sottostante, indipendentemente dal fatto che la connessione client sia crittografata o meno.

    Sottoreti

    Questo campo è precompilato con tutte le sottoreti associate al tuo VPC. È possibile rimuovere tutte le sottoreti non necessarie per il proxy, ma è necessario lasciare almeno due sottoreti.

    Gruppo di sicurezza VPC

    Scegli un gruppo di sicurezza VPC esistente o creane uno nuovo dal. AWS Management Console Configura le regole in entrata per consentire alle applicazioni di accedere al proxy e le regole in uscita per consentire il traffico proveniente dalle destinazioni del database.

    Nota

    Il gruppo di sicurezza deve consentire le connessioni dal proxy al database. Serve sia per l'ingresso dalle applicazioni al proxy che 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 all'interno di quel gruppo di sicurezza possano comunicare tra loro.

    Quando utilizzi un VPC condiviso, evita di utilizzare il gruppo di sicurezza predefinito per il VPC o uno associato a un altro account. Seleziona invece un gruppo di sicurezza che appartiene al tuo account. Se non ne esiste nessuno, creane uno. Per ulteriori informazioni, consulta Work with shared VPCs.

    RDS implementa un proxy in più zone di disponibilità per garantire un'elevata disponibilità. Per abilitare la comunicazione Cross-AZ, l'elenco di controllo degli accessi alla rete (ACL) per la sottorete proxy deve consentire l'uscita dalla 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 la destinazione è impostata sul VPC CIDR.

    Attiva la registrazione avanzata

    Abilita questa impostazione per risolvere problemi di compatibilità o prestazioni del proxy. Se abilitato, RDS Proxy 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, RDS Proxy disattiva automaticamente questa impostazione 24 ore dopo l'attivazione. Utilizzala temporaneamente per risolvere problemi specifici.

  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 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à la sottorete IDs da utilizzare per il --vpc-subnet-ids parametro, consulta Configurazione dei prerequisiti di rete per RDS Proxy 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-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, 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 Aurora al gruppo di destinazione chiamando la funzione DBProxy Register Targets.