Come posso configurare la mia funzione Lambda per la connessione a un database Amazon RDS utilizzando il server proxy per Amazon RDS?

5 minuti di lettura
0

Desidero configurare la mia funzione AWS Lambda per connettermi a un database Amazon Relational Database Service (Amazon RDS) utilizzando il server proxy per Amazon RDS.

Breve descrizione

È possibile creare un database Server proxy per Amazon RDS per la tua funzione Lambda. Un proxy di database gestisce un pool di connessioni al database e inoltra le query di una funzione. Ciò consente a una funzione di raggiungere elevati livelli di concorrenza senza esaurire le connessioni al database.

Per ulteriori informazioni, consulta Configurazione dell'accesso al database per una funzione Lambda.

Risoluzione

Segui queste istruzioni per configurare il server proxy per Amazon RDS con una funzione Lambda.

Nota: il server proxy per Amazon RDS deve trovarsi nello stesso Amazon Virtual Private Cloud (Amazon VPC) del database Amazon RDS. Configura la funzione Lambda con Amazon VPC per accedere al server proxy per Amazon RDS.

Fase 1: crea le credenziali del database con Gestione dei segreti AWS

1.    Apri la console Gestione dei segreti e seleziona Store a new secret (Archivia un nuovo segreto).

2.    Per Secret type (Tipo di segreto), indica Credentials for RDS Database (Credenziali per database RDS).

3.    Inserisci il nome utente e la password per l'istanza del database Amazon RDS.

4.    Come Encryption key (Chiave di crittografia) scegli il servizio di gestione delle chiavi AWS (AWS KMS) utilizzato da Gestione dei segreti per crittografare il valore segreto**.**

5.    Per Database, scegli il tuo database e seleziona Next (Avanti).

6.    Per Secret name (Nome segreto), inserisci un nome, seleziona Next (Avanti), ancora Next (Avanti), quindi Store (Archivia).

7.    InSecrets (Segreti), scegli il segreto di Gestione dei segreti che hai creato.

8.    In Secret ARN (ARN del segreto), copia l'ARN per utilizzarlo in un altro passaggio.

Per ulteriori informazioni, consulta Creazione di un segreto del database AWS Secrets Manager.

Fase 2: crea una policy e un ruolo di AWS Identity and Access Management (IAM) per il server proxy per Amazon RDS

Crea un ruolo IAM con l'autorizzazione ad utilizzare il segreto, quindi crea una policy di attendibilità che consenta ad Amazon RDS di assumere il ruolo.

Esempio di policy IAM di Gestione dei segreti

Nota: sostituisci Secret_ARN con l'ARN di Gestione dei segreti copiato in precedenza**.**

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:GetResourcePolicy",
        "secretsmanager:GetSecretValue",
        "secretsmanager:DescribeSecret",
        "secretsmanager:ListSecretVersionIds"
      ],
      "Resource": [
        "[Secret_ARN]"
      ]
    },
    {
      "Sid": "VisualEditor1",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:GetRandomPassword",
        "secretsmanager:ListSecrets"
      ],
      "Resource": "*"
    }
  ]
}

Esempio di policy di attendibilità IAM RDS

{
 "Version": "2012-10-17",
 "Statement": [
  {
   "Sid": "",
   "Effect": "Allow",
   "Principal": {
    "Service": "rds.amazonaws.com"
   },
   "Action": "sts:AssumeRole"
  }
 ]
}

Fase 3: crea e collega un proxy RDS a una funzione Lambda

1.    Apri la pagina Funzioni nella console Lambda.

2.    In Functions (Funzioni), seleziona la funzione Lambda.

3.    Seleziona Configuration (Configurazione), quindi scegli Add database proxy (Aggiungi proxy di database).

4.    Inserisci le seguenti variabili:
Proxy identifier (Identificatore del proxy): il nome del proxy.
RDS DB instance (Istanza DB RDS): un cluster o istanza MySQL o PostgreSQL supportato/a.
Secret (Segreto): la Gestione dei segreti che hai creato.
IAM role (Ruolo IAM): il ruolo IAM che hai creato.
Authentication (Autenticazione): scegli Password per connetterti con le credenziali del database, oppure seleziona Execution role (Ruolo di esecuzione) per utilizzare le credenziali IAM della funzione per l'autenticazione.

5.    Seleziona Add (Aggiungi).

La creazione del proxy necessita di qualche minuto per completarsi. Quando il proxy è disponibile, configura la tua funzione per connetterti all'endpoint del proxy invece che all'endpoint del database. Per ulteriori informazioni, consulta Creazione di un proxy di database (console).

Fase 4: (facoltativo) conferma che il tuo server proxy per Amazon RDS stia utilizzando l'autenticazione IAM

I seguenti passaggi servono solo se utilizzi il ruolo di esecuzione Lambda per autenticarti con il server proxy per Amazon RDS.

1.    Apri la console Amazon RDS.

2.    Nel pannello di navigazione, scegli Proxies (Proxy) e seleziona il tuo.

3.    Scegli Actions (Operazioni), quindi scegli Modify (Modifica).

4.    Nel modulo Connectivity assicurati che l'autenticazione IAM sia impostata su Required (Richiesta).

Nota: se hai problemi di connessione, consulta Why can't I connect to my Amazon RDS DB or Amazon Aurora DB instance using RDS Proxy? (Perché non riesco a connettermi al mio database Amazon RDS o all'istanza database Amazon Aurora utilizzando il server proxy per RDS?) Per ulteriori informazioni, consulta Using Amazon RDS Proxy with AWS Lambda (Utilizzare il server proxy per Amazon RDS con AWS Lambda).


Informazioni correlate

Come posso risolvere gli errori di timeout della connessione di Lambda quando provo ad accedere a un'istanza database di Amazon RDS?

Come posso configurare una funzione Lambda per connettermi a un'istanza RDS?

Come posso risolvere l'errore "Lambda non può aggiornare il ruolo di esecuzione della funzione" quando si allega il proxy Amazon RDS a una funzione Lambda?

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa