Salta al contenuto

Come posso configurare la mia funzione Lambda in modo da utilizzare Server proxy per Amazon RDS per connettermi a un database Amazon RDS?

4 minuti di lettura
0

Desidero configurare la mia funzione AWS Lambda in modo da utilizzare Amazon Relational Database Service (Amazon RDS) Proxy per connettermi a un database Amazon RDS.

Risoluzione

Prerequisiti: Server proxy per Amazon RDS deve trovarsi nello stesso VPC Amazon Virtual Private Cloud (Amazon VPC) del database Amazon RDS.

Per configurare la funzione Lambda in modo da utilizzare Server proxy per Amazon RDS per connetterti a un database Amazon RDS, completa i seguenti passaggi.

Crea le credenziali del database in Secrets Manager

Completa i seguenti passaggi:

  1. Apri la console AWS Secrets Manager.
  2. Scegli Archivia un nuovo segreto.
  3. Per Tipo di segreto, seleziona Credenziali per il database RDS.
  4. Inserisci il nome utente e la password per l'istanza database RDS.
  5. Per Chiave di crittografia, scegli la chiave del Servizio AWS di gestione delle chiavi (AWS KMS) utilizzata da Secrets Manager per crittografare il valore del segreto.
  6. Per Database, scegli il database, quindi seleziona Avanti.
  7. In Nome segreto, inserisci un nome, quindi scegli Avanti.
  8. Scegli Avanti, quindi seleziona Archivia.
  9. In Segreti, seleziona il segreto di Secrets Manager.
  10. In ARN segreto, prendi nota dell'ARN del segreto.

Per ulteriori informazioni, consulta Crea un segreto in AWS Secrets Manager.

Crea un ruolo e una policy IAM per Server proxy per Amazon RDS

Crea un ruolo AWS Identity and Access Management (AWS IAM) con le autorizzazioni per utilizzare il segreto. Esempio:

{
  "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": "*"
    }
  ]
}

Nota: sostituisci Secret_ARN con l'ARN del tuo segreto.

Quindi crea una policy di attendibilità che consenta ad Amazon RDS di assumere il ruolo. Esempio:

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

Crea e collega un proxy a una funzione Lambda

Prima di tutto crea un proxy RDS. Quindi completa i seguenti passaggi per configurare la funzione e connetterti all'endpoint del proxy anziché all'endpoint del database:

  1. Apri la console Lambda.
  2. Scegli Funzioni, quindi seleziona la funzione Lambda.
  3. Scegli Configurazione, quindi seleziona Database RDS.
  4. Scegli Connessione al database RDS.
  5. Seleziona il database RDS. In alternativa, seleziona Crea un nuovo database e configura le seguenti impostazioni:
    Per Tipo di motore, seleziona il tipo di motore.
    In Identificatore dell'istanza database, inserisci un nome per l'istanza database.
    In Nome utente principale, inserisci l'ID di accesso dell'utente principale.
    Per VPC, utilizza l'impostazione predefinita. Per impostazione predefinita, Lambda configura il database RDS nello stesso VPC della funzione.
  6. Scegli la connessione al database, quindi seleziona Aggiungi proxy.
  7. Per Proxy esistenti, seleziona il proxy RDS.
  8. Scegli Aggiungi.

La connessione proxy richiede alcuni minuti per essere completata. Per ulteriori informazioni sulla configurazione di un'istanza database RDS da utilizzare con Lambda, consulta Utilizzo AWS Lambda con Amazon RDS.

(Facoltativo) Verifica che Server proxy per Amazon RDS utilizzi l'autenticazione IAM

Se utilizzi il ruolo di esecuzione di Lambda per l'autenticazione in Server proxy per Amazon RDS, completa i seguenti passaggi:

  1. Apri la console Aurora e RDS.
  2. Nel pannello di navigazione, scegli Proxy, quindi seleziona il proxy.
  3. Scegli Operazioni, quindi seleziona Modifica.
  4. In Autenticazione, verifica che Autenticazione IAM sia impostata su Obbligatoria.

Se si verificano problemi di connessione, consulta Perché non riesco a connettermi alla mia istanza database di Amazon RDS o di Amazon Aurora utilizzando Server proxy per Amazon RDS?

Per ulteriori informazioni, consulta Using Amazon RDS Proxy with AWS Lambda (Utilizzo di Server proxy per Amazon RDS con AWS Lambda).

Informazioni correlate

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

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

Come faccio a risolvere l'errore "Lambda could not update the function's execution role" quando collego Server proxy per Amazon RDS a una funzione Lambda?

AWS UFFICIALEAggiornata 2 anni fa