Comment puis-je configurer ma fonction Lambda afin d’utiliser le proxy Amazon RDS pour me connecter à une base de données Amazon RDS ?

Lecture de 4 minute(s)
0

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

Résolution

Prérequis : Le proxy Amazon RDS doit se trouver dans le même VPC Amazon Virtual Private Cloud (Amazon VPC) que la base de données Amazon RDS.

Pour configurer la fonction Lambda afin d'utiliser le proxy Amazon RDS pour vous connecter à une base de données Amazon RDS, procédez comme suit.

Créer des informations d'identification pour votre base de données dans AWS Secrets Manager

Procédez comme suit :

  1. Ouvrez la console AWS Secrets Manager.
  2. Sélectionnez Stocker un nouveau secret.
  3. Pour Type de secret, sélectionnez Informations d'identification pour la base de données RDS.
  4. Saisissez le nom d'utilisateur et le mot de passe de votre instance de base de données RDS.
  5. Pour Clé de chiffrement, choisissez la clé AWS Key Management Service (AWS KMS) que Secrets Manager utilise pour chiffrer la valeur du secret.
  6. Pour Base de données, choisissez votre base de données, puis sélectionnez Suivant.
  7. Pour Nom du secret, saisissez un nom, puis sélectionnez Suivant.
  8. Sélectionnez Suivant, puis Stocker.
  9. Dans Secrets, sélectionnez le secret Secrets Manager.
  10. Dans ARN du secret, notez l'ARN du secret.

Pour plus d’informations, consultez la rubrique Créer un secret AWS Secrets Manager.

Créer une stratégie et un rôle IAM pour le proxy Amazon RDS

Créez un rôle AWS Identity and Access Management (IAM) avec les autorisations nécessaires pour utiliser le secret. Exemple :

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

Remarque : Remplacez Secret_ARN par l’ARN de votre secret.

Puis, créez une stratégie de confiance permettant à Amazon RDS d'endosser ce rôle. Exemple :

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

Créer et attacher un proxy à une fonction Lambda

Tout d'abord, créez un proxy RDS. Puis, procédez comme suit pour configurer votre fonction afin de vous connecter au point de terminaison du proxy au lieu du point de terminaison de base de données :

  1. Ouvrez la console Lambda.
  2. Sélectionnez Fonctions, puis sélectionnez votre fonction Lambda.
  3. Sélectionnez Configuration, puis Bases de données RDS.
  4. Sélectionnez Connexion à la base de données RDS.
  5. Sélectionnez votre base de données RDS. Vous pouvez également sélectionner Créer une nouvelle base de données, puis configurer les paramètres suivants :
    Pour Type de moteur, sélectionnez le type de moteur.
    Pour l'identifiant d'instance de base de données, saisissez un nom pour votre instance de base de données.
    Pour Nom d'utilisateur principal, saisissez l'identifiant de connexion de l'utilisateur principal.
    Pour VPC, utilisez le paramètre par défaut. Par défaut, Lambda configure la base de données RDS dans le même VPC que la fonction.
  6. Choisissez la connexion à la base de données, puis sélectionnez Ajouter un proxy.
  7. Pour Proxies existants, sélectionnez votre proxy RDS.
  8. Sélectionnez Ajouter.

La connexion au proxy prend quelques minutes. Pour plus d'informations sur la configuration d'une instance de base de données RDS à utiliser avec Lambda, consultez la section Configuration de votre fonction afin qu'elle fonctionne avec les ressources RDS.

(Facultatif) Vérifier que votre proxy Amazon RDS utilise l'authentification IAM

Si vous utilisez le rôle d'exécution Lambda pour vous authentifier auprès du proxy Amazon RDS, procédez comme suit :

  1. Ouvrez la console Amazon RDS.
  2. Dans le volet de navigation, sélectionnez Proxies, puis sélectionnez votre proxy.
  3. Sélectionnez Actions, puis Modifier.
  4. Sous Authentification, vérifiez que l'authentification IAM est définie sur Obligatoire.

Si vous rencontrez des problèmes de connexion, consultez la section Pourquoi ne puis-je pas me connecter à ma base de données Amazon RDS ou à mon instance de base de données Amazon Aurora à l'aide du proxy Amazon RDS ?

Pour plus d'informations, consultez la section Utilisation du proxy Amazon RDS avec AWS Lambda.

Informations connexes

Comment puis-je résoudre les erreurs de délai de connexion provenant de Lambda lorsque j'essaie d'accéder à une instance de base de données Amazon RDS ?

Comment puis-je configurer une fonction Lambda afin qu’elle se connecte à une instance RDS ?

Comment puis-je résoudre l'erreur « Lambda could not update the function's execution role » lorsque j'associe le proxy Amazon RDS à une fonction Lambda ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 6 mois