Comment configurer ma fonction Lambda pour me connecter à une base de données Amazon RDS à l'aide du proxy Amazon RDS ?

Lecture de 5 minute(s)
0

Je souhaite configurer ma fonction AWS Lambda pour me connecter à une base de données Amazon Relational Database Service (Amazon RDS) à l'aide du proxy Amazon RDS.

Brève description

Vous pouvez créer une base de données Proxy Amazon RDS pour votre fonction Lambda. Un proxy de base de données gère un pool de connexions à la base de données et relaie les requêtes provenant d'une fonction. Cela permet à une fonction d'atteindre des niveaux de simultanéité élevés sans épuiser les connexions à la base de données.

Pour plus d'informations, consultez la section Configuration de l'accès à la base de données pour une fonction Lambda.

Résolution

Suivez ces instructions pour configurer le Proxy Amazon RDS avec une fonction Lambda.

Remarque : le proxy Amazon RDS doit se trouver dans le même Amazon Virtual Private Cloud (Amazon VPC) que la base de données Amazon RDS. Configurez la fonction Lambda avec Amazon VPC pour accéder au proxy Amazon RDS.

Étape 1 : Créez des informations d'identification de base de données dans AWS Secrets Manager

1.    Ouvrez la console Secrets Manager, puis choisissez Store a new secret (Stocker un nouveau secret).

2.    Pour Secret type (Type de secret), choisissez Credentials for RDS database (Informations d'identification de la base de données RDS).

3.    Entrez le nom d'utilisateur et le mot de passe de votre instance de base de données Amazon RDS.

4.    Pour la clé de chiffrement, choisissez la clé AWS Key Management Service (AWS KMS) que Secrets Manager utilise pour chiffrer la valeur secrète**.**

5.    Dans Base de données, choisissez votre base de données, puis cliquez sur Suivant.

6.    Dans Nom secret, entrez un nom, choisissez Suivant, choisissez à nouveau Suivant, puis choisissez Store.

7.    Dans Secrets, choisissez le secret du Gestionnaire de secrets que vous avez créé.

8.    Dans Secret ARN, copiez l'ARN à utiliser lors d'une autre étape.

Pour plus d'informations, consultez Créer un secret de base de données AWS Secrets Manager.

Étape 2 : Création d'une stratégie et d'un rôle AWS de gestion des identités et des accès (IAM) pour le proxy Amazon RDS

Créez un rôle IAM autorisé à utiliser le secret, puis créez une stratégie de confiance permettant à Amazon RDS d'assumer ce rôle.

Exemple de politique IAM Secrets Manager

Remarque : remplacez Secret_ARN par l'ARN de Secrets Manager que vous avez précédemment copié**.**

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

Exemple de politique d'approbation de RDS IAM

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

Étape 3 : créer et associer un proxy RDS à une fonction Lambda

1.    Ouvrez la page Functions (Fonctions) dans la console Lambda.

2.    Dans Fonctions, choisissez votre fonction Lambda.

3.    Choisissez Configuration, puisAjouter des proxys de base de données.

4.    Entrez les variables suivantes :
Identifiant du proxy : nom du proxy.
Instance de base de données RDS : une instance ou un cluster de bases de données MySQL ou PostgreSQL pris en charge.
Secret : le gestionnaire de secrets que vous avez créé.
Rôle IAM : le rôle IAM que vous avez créé.
Authentification : choisissez le mot de passe pour vous connecter avec les informations d'identification de la base de données ou choisissez le rôle d'exécution pourutiliser les informations d'identification IAM de la fonction à des fins d'authentification.

5.    Sélectionnez Add (Ajouter).

La création du proxy prend quelques minutes. Lorsque le proxy est disponible, configurez votre fonction pour qu'elle se connecte au point de terminaison du proxy plutôt qu'au point de terminaison de la base de données. Pour plus d'informations, consultez la section Création d'un proxy de base de données (console).

Étape 4 : (Facultatif) Vérifiez que votre proxy Amazon RDS utilise l'authentification IAM

Les étapes suivantes ne sont requises que si vous utilisez le rôle d'exécution Lambda pour vous authentifier auprès du proxy Amazon RDS.

1.    Ouvrez la console Amazon RDS.

2.    Dans le panneau de navigation, choisissez Proxies, puis choisissez votre proxy.

3.    Sélectionnez Actions, puis Modifier.

4.    Dans le module Connectivité, assurez-vous que l'authentification IAM est définie sur Obligatoire.

Remarque : Si vous ne parvenez pas à vous connecter, consultez Pourquoi ne puis-je pas me connecter à mon instance de base de données Amazon RDS ou Amazon Aurora à l'aide du proxy RDS? Pour obtenir plus d'informations, consultez la section Utilisation du proxy Amazon RDS avec AWS Lambda.


Informations connexes

Comment résoudre les erreurs relatives aux délais d'expiration de Lambda lorsque je tente d'accéder à une instance de base de données Amazon RDS ?

Comment configurer une fonction Lambda pour se connecter à une instance RDS ?

Comment résoudre l'erreur « Lambda could not update the function's execution role » (Lambda n'a pas pu mettre à jour le rôle d'exécution de la fonction) lors de l'attachement du proxy Amazon RDS à une fonction Lambda ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an