Connessione automatica di una funzione Lambda e di un'istanza database - Amazon Relational Database Service

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à.

Connessione automatica di una funzione Lambda e di un'istanza database

È possibile utilizzare la console Amazon RDS per semplificare la configurazione di una connessione tra una funzione Lambda e un'istanza database. Spesso, l'istanza database si trova in una sottorete privata all'interno di un VPC. La funzione Lambda può essere utilizzata dalle applicazioni per accedere all'istanza database privata.

Per istruzioni sulla configurazione di una connessione tra una funzione Lambda e un cluster database Multi-AZ, consulta Connessione automatica di una funzione Lambda e di un cluster database Multi-AZ.

L'immagine seguente mostra una connessione diretta tra l'istanza database e la funzione Lambda.

Connessione automatica di un'istanza database a una funzione Lambda

È possibile configurare la connessione tra la funzione Lambda e l'istanza database tramite RDS Proxy per migliorare le prestazioni e la resilienza del database. Spesso, le funzioni Lambda effettuano connessioni database brevi e frequenti che traggono vantaggio dal pool di connessioni offerto da RDS Proxy. È possibile sfruttare qualsiasi autenticazione AWS Identity and Access Management (IAM) già disponibile per le funzioni Lambda, anziché gestire le credenziali del database nel codice dell'applicazione Lambda. Per ulteriori informazioni, consulta Utilizzo di Server proxy per Amazon RDS.

Quando si utilizza la console per connettersi a un proxy esistente, Amazon RDS aggiorna il gruppo di sicurezza proxy per consentire le connessioni dall'istanza database e la funzione Lambda.

È anche possibile creare un nuovo proxy dalla stessa pagina della console. Quando si crea un proxy nella console, per accedere all'istanza database, occorre inserire le credenziali del database o selezionare un segreto AWS Secrets Manager.

Connessione automatica di un'istanza database a una funzione Lambda tramite RDS Proxy

Panoramica della connettività automatica a una funzione Lambda

Di seguito sono riportati i requisiti per connettere una funzione Lambda a un'istanza database RDS:

  • La funzione Lambda deve esistere nello stesso VPC dell'istanza database.

  • L'utente che configura la connettività deve disporre delle autorizzazioni per eseguire le seguenti operazioni Amazon RDS, Amazon EC2, Lambda, Secrets Manager e IAM:

    • Amazon RDS

      • rds:CreateDBProxies

      • rds:DescribeDBInstances

      • rds:DescribeDBProxies

      • rds:ModifyDBInstance

      • rds:ModifyDBProxy

      • rds:RegisterProxyTargets

    • Amazon EC2

      • ec2:AuthorizeSecurityGroupEgress

      • ec2:AuthorizeSecurityGroupIngress

      • ec2:CreateSecurityGroup

      • ec2:DeleteSecurityGroup

      • ec2:DescribeSecurityGroups

      • ec2:RevokeSecurityGroupEgress

      • ec2:RevokeSecurityGroupIngress

    • Lambda

      • lambda:CreateFunctions

      • lambda:ListFunctions

      • lambda:UpdateFunctionConfiguration

    • Secrets Manager

      • secretsmanager:CreateSecret

      • secretsmanager:DescribeSecret

    • IAM

      • iam:AttachPolicy

      • iam:CreateRole

      • iam:CreatePolicy

    • AWS KMS

      • kms:describeKey

Nota

Se l'istanza database e la funzione Lambda si trovano in zone di disponibilità diverse, potrebbero essere addebitati costi tra zone di disponibilità all'account.

Quando si configura una connessione tra una funzione Lambda e un database RDS, Amazon RDS configura il gruppo di sicurezza VPC per la funzione e per l'istanza database. Se si utilizza il proxy RDS, Amazon RDS configura anche il gruppo di sicurezza VPC per il proxy. Amazon RDS opera in base alla configurazione corrente dei gruppi di sicurezza associati all'istanza database, alla funzione Lambda e al proxy, come descritto nella tabella seguente.

Configurazione del gruppo di sicurezza RDS corrente Configurazione del gruppo di sicurezza Lambda corrente Configurazione del gruppo di sicurezza proxy corrente Operazione RDS

Esistono uno o più gruppi di sicurezza associati all'istanza database con un nome che corrisponde al modello rds-lambda-n o se un proxy è già connesso all'istanza database, RDS verifica se il parametro TargetHealth di un proxy associato è AVAILABLE.

Un gruppo di sicurezza che corrisponde al modello non è stato modificato. Questo gruppo di sicurezza include una sola regola in entrata con il gruppo di sicurezza VPC della funzione Lambda o del proxy come l'origine.

Esistono uno o più gruppi di sicurezza associati alla funzione Lambda con un nome che corrisponde al modello lambda-rds-n o lambda-rdsproxy-n (dove n è un numero).

Un gruppo di sicurezza che corrisponde al modello non è stato modificato. Questo gruppo di sicurezza dispone di una sola regola in uscita con il gruppo di sicurezza VPC dell'istanza database o il proxy come la destinazione.

Esistono uno o più gruppi di sicurezza associati al proxy con un nome che corrisponde al modello rdsproxy-lambda-n (dove n è un numero).

Un gruppo di sicurezza che corrisponde al modello non è stato modificato. Questo gruppo di sicurezza dispone di regole in entrata e in uscita con i gruppi di sicurezza VPC della funzione Lambda e l'istanza database.

Amazon RDS non esegue alcuna azione.

Una connessione era già stata configurata automaticamente tra la funzione Lambda, il proxy (opzionale) e l'istanza database. Poiché esiste già una connessione tra la funzione, il proxy e il database, i gruppi di sicurezza non vengono modificati.

Si applica una delle due condizioni seguenti:

  • Non esiste alcun gruppo di sicurezza associato all'istanza database con un nome che corrisponde al modello rds-lambda-n o se TargetHealth di un proxy associato è AVAILABLE.

  • Esiste almeno un gruppo di sicurezza associato all'istanza database con un nome che corrisponde al modello rds-lambda-n o se TargetHealth di un proxy associato è AVAILABLE. Tuttavia, nessuno di questi gruppi di sicurezza può essere utilizzato per la connessione alla funzione Lambda.

Amazon RDS non può utilizzare un gruppo di sicurezza che non dispone di una regola in entrata con il gruppo di sicurezza VPC della funzione Lambda o del proxy come l'origine. Inoltre, Amazon RDS non può utilizzare un gruppo di sicurezza che è stato modificato. Esempi di modifiche sono l'aggiunta di una regola o la modifica della porta di una regola esistente.

Si applica una delle due condizioni seguenti:

  • Non esiste un gruppo di sicurezza associato alla funzione Lambda con un nome che corrisponde al modello lambda-rds-n o lambda-rdsproxy-n.

  • Esistono uno o più gruppi di sicurezza associati alla funzione Lambda con un nome che corrisponde al modello lambda-rds-n o lambda-rdsproxy-n. Tuttavia, Amazon RDS non può utilizzare nessuno di questi gruppi di sicurezza per la connessione all'istanza database.

Amazon RDS non può utilizzare un gruppo di sicurezza che non dispone di una regola in uscita con il gruppo di sicurezza VPC dell'istanza database o del proxy come destinazione. Inoltre, Amazon RDS non può utilizzare un gruppo di sicurezza che è stato modificato.

Si applica una delle due condizioni seguenti:

  • Non esiste un gruppo di sicurezza associato al proxy con un nome che corrisponde al modello rdsproxy-lambda-n.

  • Esistono uno o più gruppi di sicurezza associati al proxy con un nome che corrisponde al modello rdsproxy-lambda-n. Tuttavia, Amazon RDS non può utilizzare nessuno di questi gruppi di sicurezza per la connessione all'istanza database o alla funzione Lambda.

Amazon RDS non può utilizzare un gruppo di sicurezza che non dispone di una regola in entrata e in uscita con il gruppo di sicurezza VPC dell'istanza database e la funzione Lambda. Inoltre, Amazon RDS non può utilizzare un gruppo di sicurezza che è stato modificato.
RDS action: create new security groups

Esiste almeno un gruppo di sicurezza associato all'istanza database con un nome che corrisponde al modello rds-lambda-n o se TargetHealth di un proxy associato è AVAILABLE.

Un gruppo di sicurezza che corrisponde al modello non è stato modificato. Questo gruppo di sicurezza include una sola regola in entrata con il gruppo di sicurezza VPC della funzione Lambda o del proxy come l'origine.

Esistono uno o più gruppi di sicurezza associati alla funzione Lambda con un nome che corrisponde al modello lambda-rds-n o lambda-rdsproxy-n.

Tuttavia, Amazon RDS non può utilizzare nessuno di questi gruppi di sicurezza per la connessione all'istanza database. Amazon RDS non può utilizzare un gruppo di sicurezza che non dispone di una regola in uscita con il gruppo di sicurezza VPC dell'istanza database o del proxy come destinazione. Inoltre, Amazon RDS non può utilizzare un gruppo di sicurezza che è stato modificato.

Esistono uno o più gruppi di sicurezza associati al proxy con un nome che corrisponde al modello rdsproxy-lambda-n.

Tuttavia, Amazon RDS non può utilizzare nessuno di questi gruppi di sicurezza per la connessione all'istanza database o alla funzione Lambda. Amazon RDS non può utilizzare un gruppo di sicurezza che non dispone di una regola in entrata e in uscita con il gruppo di sicurezza VPC dell'istanza database e la funzione Lambda. Inoltre, Amazon RDS non può utilizzare un gruppo di sicurezza che è stato modificato.

RDS action: create new security groups

Esiste almeno un gruppo di sicurezza associato all'istanza database con un nome che corrisponde al modello rds-lambda-n o se TargetHealth di un proxy associato è AVAILABLE.

Un gruppo di sicurezza che corrisponde al modello non è stato modificato. Questo gruppo di sicurezza include una sola regola in entrata con il gruppo di sicurezza VPC della funzione Lambda o del proxy come l'origine.

Esiste un gruppo di sicurezza Lambda valido per la connessione, ma non è associato alla funzione Lambda. Questo gruppo di sicurezza ha un nome che corrisponde al modello lambda-rds-n o lambda-rdsproxy-n. Non è stato modificato. Dispone di una sola regola in uscita con il gruppo di sicurezza VPC dell'istanza database o del proxy come la destinazione.

Esiste un gruppo di sicurezza proxy valido per la connessione, ma non è associato al proxy. Questo gruppo di sicurezza ha un nome che corrisponde al modello rdsproxy-lambda-n. Non è stato modificato. Dispone di regole in entrata e in uscita con i gruppi di sicurezza VPC dell'istanza database e la funzione Lambda.

RDS action: associate Lambda security group

Si applica una delle due condizioni seguenti:

  • Non esiste alcun gruppo di sicurezza associato all'istanza database con un nome che corrisponde al modello rds-lambda-n o se TargetHealth di un proxy associato è AVAILABLE.

  • Esiste almeno un gruppo di sicurezza associato all'istanza database con un nome che corrisponde al modello rds-lambda-n o se TargetHealth di un proxy associato è AVAILABLE. Tuttavia, Amazon RDS non può utilizzare nessuno di questi gruppi di sicurezza per la connessione alla funzione Lambda o al proxy.

Amazon RDS non può utilizzare un gruppo di sicurezza che non dispone di una regola in entrata con il gruppo di sicurezza VPC della funzione Lambda o del proxy come l'origine. Inoltre, Amazon RDS non può utilizzare un gruppo di sicurezza che è stato modificato.

Esistono uno o più gruppi di sicurezza associati alla funzione Lambda con un nome che corrisponde al modello lambda-rds-n o lambda-rdsproxy-n.

Un gruppo di sicurezza che corrisponde al modello non è stato modificato. Questo gruppo di sicurezza dispone di una sola regola in uscita con il gruppo di sicurezza VPC dell'istanza database o del proxy come la destinazione.

Esistono uno o più gruppi di sicurezza associati al proxy con un nome che corrisponde al modello rdsproxy-lambda-n.

Un gruppo di sicurezza che corrisponde al modello non è stato modificato. Questo gruppo di sicurezza dispone di regole in entrata e in uscita con il gruppo di sicurezza VPC dell'istanza database e la funzione Lambda.

RDS action: create new security groups

Si applica una delle due condizioni seguenti:

  • Non esiste alcun gruppo di sicurezza associato all'istanza database con un nome che corrisponde al modello rds-lambda-n o se TargetHealth di un proxy associato è AVAILABLE.

  • Esiste almeno un gruppo di sicurezza associato all'istanza database con un nome che corrisponde al modello rds-lambda-n o se TargetHealth di un proxy associato è AVAILABLE. Tuttavia, Amazon RDS non può utilizzare nessuno di questi gruppi di sicurezza per la connessione alla funzione Lambda o al proxy.

Amazon RDS non può utilizzare un gruppo di sicurezza che non dispone di una regola in entrata con il gruppo di sicurezza VPC della funzione Lambda o del proxy come l'origine. Inoltre, Amazon RDS non può utilizzare un gruppo di sicurezza che è stato modificato.

Si applica una delle due condizioni seguenti:

  • Non esiste un gruppo di sicurezza associato alla funzione Lambda con un nome che corrisponde al modello lambda-rds-n o lambda-rdsproxy-n.

  • Esistono uno o più gruppi di sicurezza associati alla funzione Lambda con un nome che corrisponde al modello lambda-rds-n o lambda-rdsproxy-n. Tuttavia, Amazon RDS non può utilizzare nessuno di questi gruppi di sicurezza per la connessione all'istanza database.

Amazon RDS non può utilizzare un gruppo di sicurezza che non dispone di una regola in uscita con il gruppo di sicurezza VPC dell'istanza database o del proxy come l'origine. Inoltre, Amazon RDS non può utilizzare un gruppo di sicurezza che è stato modificato.

Si applica una delle due condizioni seguenti:

  • Non esiste un gruppo di sicurezza associato al proxy con un nome che corrisponde al modello rdsproxy-lambda-n.

  • Esistono uno o più gruppi di sicurezza associati al proxy con un nome che corrisponde al modello rdsproxy-lambda-n. Tuttavia, Amazon RDS non può utilizzare nessuno di questi gruppi di sicurezza per la connessione all'istanza database  o alla funzione Lambda.

Amazon RDS non può utilizzare un gruppo di sicurezza che non dispone di una regola in entrata e in uscita con il gruppo di sicurezza VPC dell'istanza database e la funzione Lambda. Inoltre, Amazon RDS non può utilizzare un gruppo di sicurezza che è stato modificato.
RDS action: create new security groups
 RDS: creazione di nuovi gruppi di sicurezza

Amazon RDS esegue le seguenti operazioni:

  • Crea un nuovo gruppo di sicurezza che corrisponde al modello rds-lambda-n o rds-rdsproxy-n (se si sceglie di utilizzare RDS Proxy). Questo gruppo di sicurezza dispone di una regola in entrata con il gruppo di sicurezza VPC della funzione Lambda o proxy come l'origine. Questo gruppo di sicurezza è associato all'istanza database e consente alla funzione o al proxy di accedere all'istanza database.

  • Crea un nuovo gruppo di sicurezza che corrisponde al modello lambda-rds-n o lambda-rdsproxy-n. Questo gruppo di sicurezza dispone di una regola in uscita con il gruppo di sicurezza VPC dell'istanza database o del proxy come la destinazione. Questo gruppo di sicurezza è associato alla funzione Lambda e consente alla funzione di inviare traffico all'istanza database o inviare traffico tramite un proxy.

  • Crea un nuovo gruppo di sicurezza che corrisponde al modello rdsproxy-lambda-n. Questo gruppo di sicurezza dispone di regole in entrata e in uscita con il gruppo di sicurezza VPC dell'istanza database e la funzione Lambda.

Azione 
 RDS: associazione del gruppo di sicurezza Lambda

Amazon RDS associa il gruppo di sicurezza Lambda valido, esistente alla funzione Lambda. Questo gruppo di sicurezza consente alla funzione di inviare traffico all'istanza database o inviare traffico tramite un proxy.

Connessione automatica di un funzione Lambda e di un database RDS

È possibile usare la console Amazon RDS per connettere automaticamente una funzione Lambda all'istanza database. Ciò semplifica il processo di configurazione di una connessione tra queste risorse.

È anche possibile usare RDS Proxy per includere un proxy nella connessione. Funzioni Lambda effettuano connessioni database brevi e frequenti che traggono vantaggio dal pool di connessioni offerto da RDS Proxy. È anche possibile utilizzare qualsiasi autenticazione IAM che è già stata configurata per le funzioni Lambda, anziché gestire le credenziali del database nel codice dell'applicazione Lambda.

È possibile connettere un'istanza database esistente a funzioni Lambda nuove ed esistenti utilizzando la pagina Configurazione della connessione Lambda. Il processo di configurazione consente di impostare automaticamente i gruppi di sicurezza richiesti.

Prima di configurare una connessione tra una funzione Lambda e un'istanza database, assicurati che:

Se si modificano i gruppi di sicurezza dopo la configurazione della connettività, le modifiche potrebbero influenzare la connessione tra la funzione Lambda e l'istanza database.

Nota

È possibile configurare automaticamente una connessione tra un'istanza database e una funzione Lambda solo nella AWS Management Console. Per connettere una funzione Lambda, l'istanza database deve essere nello stato Disponibile.

Per connettere automaticamente una funzione Lambda e un'istanza database
  1. Accedi alla AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel riquadro di navigazione, scegli Database, quindi seleziona l'istanza database che desideri connettere a una funzione Lambda.

  3. Per Operazioni, scegli Configura connessione Lambda.

  4. Nella pagina Configurazione della connessione Lambda, in Seleziona la funzione Lambda, effettua una delle seguenti operazioni:

    • Se disponi di una funzione Lambda esistente nello stesso VPC dell'istanza database, seleziona Scegli una funzione esistente, quindi seleziona la funzione.

    • Se non disponi di una funzione Lambda nello stesso VPC, seleziona Crea una nuova funzione, quindi inserisci un Nome della funzione. Il runtime predefinito è impostato su Nodejs.18. Puoi modificare le impostazioni per la nuova funzione Lambda nella console Lambda dopo aver completato la configurazione della connessione.

  5. (Facoltativo) In RDS Proxy, seleziona Connessione tramite RDS Proxy, quindi esegui una delle seguenti operazioni:

    • Se disponi di un proxy esistente che desideri utilizzare, seleziona Scegli un proxy esistente, quindi seleziona il proxy.

    • Se non disponi di un proxy e desideri che uno venga creato automaticamente da Amazon RDS, seleziona Crea nuovo proxy. Quindi, per Credenziali del database, esegui una delle seguenti operazioni:

      1. Seleziona Nome utente e password del database, quindi inserisci Nome utente e Password  per l'istanza database.

      2. Seleziona Segreti Secrets Manager. Quindi, per Seleziona segreto, scegli un segreto AWS Secrets Manager. Se non disponi di un segreto di Secrets Manager, seleziona Crea nuovo segreto di Secrets Manager per creare un nuovo segreto. Dopo aver creato il segreto, per Seleziona segreto, scegli il nuovo segreto.

      Dopo aver creato il nuovo proxy, seleziona Scegli un proxy esistente, quindi seleziona il proxy. Tieni presente che prima che il proxy sia disponibile per la connessione, potrebbe trascorrere del tempo.

  6. (Facoltativo) Espandi Riepilogo della connessione e verifica gli aggiornamenti evidenziati per le risorse.

  7. Scegliere Set up (Configura).

Visualizzazione delle risorse di calcolo connesse

È possibile usare la AWS Management Console per visualizzare le funzioni Lambda collegate all'istanza database. Le risorse mostrate includono le connessioni delle risorse di calcolo configurate automaticamente da Amazon RDS.

Le risorse di elaborazione elencate non includono quelle connesse manualmente all'istanza database. Ad esempio, è possibile autorizzare manualmente una risorsa di calcolo ad accedere all'istanza database aggiungendo una regola al gruppo di sicurezza VPC associato al database.

Affinché la console elenchi una funzione Lambda, devono essere soddisfatte le seguenti condizioni:

  • Il nome del gruppo di sicurezza associato alla risorsa di calcolo corrisponde al modello lambda-rds-n o lambda-rdsproxy-n (dove n è un numero).

  • Il gruppo di sicurezza associato alla risorsa di calcolo dispone di una regola in uscita con l'intervallo di porte impostato sulla porta dell'istanza database o un proxy associato. La destinazione della regola in uscita deve essere impostata su un gruppo di sicurezza associato all'istanza database o a un proxy associato.

  • Se la configurazione include un proxy, il nome del gruppo di sicurezza collegato al proxy associato al database corrisponde al modello rdsproxy-lambda-n (dove n è un numero).

  • Il gruppo di sicurezza associato alla funzione dispone di una regola in uscita con l'intervallo di porte impostato sulla porta utilizzata dall'istanza database o da un proxy associato. La destinazione deve essere impostata su un gruppo di sicurezza associato all'istanza database o a un proxy associato.

Per visualizzare le risorse di elaborazione connesse automaticamente a un'istanza database
  1. Accedi alla AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel pannello di navigazione, scegli Database e seleziona l'istanza database.

  3. Nella scheda Connettività e sicurezza, visualizza le risorse di calcolo in Risorse di calcolo connesse.