Come posso configurare la mia funzione Lambda per 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 per 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 per utilizzare Server proxy per Amazon RDS per connetterti a un database Amazon RDS, completa i seguenti passaggi.

Creazione delle 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 Servizio AWS di gestione delle chiavi (AWS KMS) utilizzata da Secrets Manager per crittografare il valore 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 Secrets Manager.
  10. In ARN segreto, prendi nota dell'ARN del segreto.

Per ulteriori informazioni, consulta Create an AWS Secrets Manager secret (Creazione di un segreto di AWS Secrets Manager).

Creazione di una policy e un ruolo IAM per Server proxy per Amazon RDS

Crea un ruolo AWS Identity and Access Management (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 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"
  }
 ]
}

Creazione e collegamento di un proxy a una funzione Lambda

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

  1. Apri la console Lambda.
  2. Scegli Funzioni, quindi seleziona la funzione Lambda.
  3. Scegli Configurazione, quindi scegli Database RDS.
  4. Scegli Connessione al database RDS.
  5. Seleziona il database RDS. In alternativa, seleziona Crea un nuovo database, quindi configura le seguenti impostazioni:
    Per Tipo di motore, seleziona il tipo di motore.
    Per Identificatore dell'istanza database, inserisci un nome per l'istanza database.
    Per Nome utente principale, inserisci l'ID di accesso 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 su come configurare un'istanza database RDS da utilizzare con Lambda, consulta Configuring your function to work with RDS resources (Configurazione della funzione per l'utilizzo delle risorse RDS).

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

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

  1. Apri la console Amazon 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 RDS Proxy?

Per ulteriori informazioni, consulta Using Amazon RDS Proxy with 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 non è riuscito ad aggiornare il ruolo di esecuzione della funzione" quando si collega il proxy Amazon RDS a una funzione Lambda?

AWS UFFICIALE
AWS UFFICIALEAggiornata un mese fa