Connexion automatique d'une fonction Lambda et d'une instance de base de données - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Connexion automatique d'une fonction Lambda et d'une instance de base de données

Vous pouvez utiliser la console Amazon RDS pour simplifier la configuration d'une connexion entre une fonction Lambda et une instance de base de données. Souvent, votre instance de base de données se trouve dans un sous-réseau privé au sein d'un VPC. La fonction Lambda peut être utilisée par les applications pour accéder à votre instance de base de données privée.

Pour obtenir des instructions sur la configuration d'une connexion entre une fonction Lambda et un cluster de bases de données multi-AZ, consultez Connexion automatique d'une fonction Lambda et d'un cluster de bases de données multi-AZ.

L'image suivante montre une connexion directe entre votre instance de base de données et votre fonction Lambda.

Connexion automatique d'une instance de base de données à une fonction Lambda

Vous pouvez configurer la connexion entre votre fonction Lambda et votre instance de base de données via un proxy RDS pour améliorer les performances et la résilience de votre base de données. Souvent, les fonctions Lambda établissent des connexions de base de données courtes et fréquentes qui bénéficient du regroupement de connexions offert par le proxy RDS. Vous pouvez profiter de toute authentification AWS Identity and Access Management (IAM) dont vous disposez déjà pour les fonctions Lambda, plutôt que de gérer les informations d'identification de base de données dans votre code d'application Lambda. Pour de plus amples informations, veuillez consulter Utilisation d'Amazon RDS Proxy .

Lorsque vous utilisez la console pour vous connecter à un proxy existant, Amazon RDS met à jour le groupe de sécurité du proxy pour autoriser les connexions depuis votre instance de base de données et la fonction Lambda.

Vous pouvez également créer un nouveau proxy à partir de la même page de console. Lorsque vous créez un proxy dans la console, pour accéder à l'instance de base de données, vous devez saisir vos informations d'identification de base de données ou sélectionner un secret AWS Secrets Manager.

Connexion automatique d'une instance de base de données à une fonction Lambda via un proxy RDS

Vue d'ensemble de la connectivité automatique avec une fonction Lambda

Voici les conditions requises pour connecter une fonction Lambda avec une instance de base de données RDS :

  • La fonction Lambda doit exister dans le même VPC que l'instance de base de données.

  • L'utilisateur qui configure la connectivité doit avoir les autorisations nécessaires pour effectuer les opérations Amazon RDS, Amazon EC2, Lambda, Secrets Manager et IAM suivantes :

    • 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

Note

Si l'instance de base de données et la fonction Lambda se trouvent dans des zones de disponibilité différentes, votre compte peut être confronté à des coûts croisés entre zones de disponibilité.

Lorsque vous configurez une connexion entre une fonction Lambda et une base de données RDS, Amazon RDS configure le groupe de sécurité VPC pour votre fonction et pour votre instance de base de données. Si vous utilisez un proxy RDS, Amazon RDS configure également le groupe de sécurité VPC pour le proxy. Amazon RDS agit en fonction de la configuration actuelle des groupes de sécurité associés à l'instance de base de données, à la fonction Lambda et au proxy, comme décrit dans le tableau suivant.

Configuration du groupe de sécurité RDS actuel Configuration actuelle du groupe de sécurité Lambda Configuration actuelle du groupe de sécurité du proxy Action RDS

Un ou plusieurs groupes de sécurité sont associés à l'instance de base de données avec un nom qui correspond au modèle rds-lambda-n ou si un proxy est déjà connecté à votre instance de base de données, RDS vérifie si l'élément TargetHealth d'un proxy associé a pour valeur AVAILABLE.

Un groupe de sécurité qui correspond au modèle n'a pas été modifié. Ce groupe de sécurité comprend une seule règle entrante avec le groupe de sécurité VPC de la fonction Lambda ou du proxy comme source.

Un ou plusieurs groupes de sécurité sont associés à la fonction Lambda avec un nom qui correspond au modèle lambda-rds-n ou lambda-rdsproxy-n (où n est un nombre).

Un groupe de sécurité qui correspond au modèle n'a pas été modifié. Ce groupe de sécurité ne possède qu'une seule règle sortante avec le groupe de sécurité VPC de l'instance de base de données ou du proxy comme destination.

Un ou plusieurs groupes de sécurité sont associés au proxy avec un nom qui correspond au modèle rdsproxy-lambda-n (où n est un nombre).

Un groupe de sécurité qui correspond au modèle n'a pas été modifié. Ce groupe de sécurité possède des règles entrantes et sortantes avec les groupes de sécurité VPC de la fonction Lambda et de l'instance de base de données.

Amazon RDS n'entreprend aucune action.

Une connexion a déjà été configurée automatiquement entre la fonction Lambda, le proxy (facultatif) et l'instance de base de données. Comme une connexion existe déjà entre la fonction, le proxy et la base de données, les groupes de sécurité ne sont pas modifiés.

L'une des conditions suivantes s'applique :

  • Aucun groupe de sécurité n'est associé à l'instance de base de données avec un nom qui correspond au modèle rds-lambda-n ou si l'élément TargetHealth d'un proxy associé a pour valeur AVAILABLE.

  • Un ou plusieurs groupes de sécurité sont associés à l'instance de base de données avec un nom qui correspond au modèle rds-lambda-n ou si l'élément TargetHealth d'un proxy associé a pour valeur AVAILABLE. Toutefois, aucun de ces groupes de sécurité ne peut être utilisé pour la connexion à la fonction Lambda.

Amazon RDS ne peut pas utiliser comme source un groupe de sécurité dépourvu de toute règle entrante avec le groupe de sécurité VPC de la fonction Lambda ou du proxy. Amazon RDS ne peut pas non plus utiliser un groupe de sécurité qui a été modifié. Des exemples de modifications incluent l'ajout d'une règle ou la modification du port d'une règle existante.

L'une des conditions suivantes s'applique :

  • Aucun groupe de sécurité n'est associé à la fonction Lambda avec un nom qui correspond au modèle lambda-rds-n ou lambda-rdsproxy-n.

  • Un ou plusieurs groupes de sécurité sont associés à la fonction Lambda avec un nom qui correspond au modèle lambda-rds-n ou lambda-rdsproxy-n. Toutefois, Amazon RDS ne peut utiliser aucun de ces groupes de sécurité pour la connexion avec l'instance de base de données.

Amazon RDS ne peut pas utiliser comme destination un groupe de sécurité dépourvu de toute règle sortante avec le groupe de sécurité VPC de l'instance de base de données ou du proxy. Amazon RDS ne peut pas non plus utiliser un groupe de sécurité qui a été modifié.

L'une des conditions suivantes s'applique :

  • Aucun groupe de sécurité n'est associé au proxy avec un nom qui correspond au modèle rdsproxy-lambda-n.

  • Un ou plusieurs groupes de sécurité sont associés au proxy avec un nom qui correspond à rdsproxy-lambda-n. Toutefois, Amazon RDS ne peut utiliser aucun de ces groupes de sécurité pour la connexion avec l'instance de base de données ou la fonction Lambda.

Amazon RDS ne peut pas utiliser un groupe de sécurité dépourvu de règles entrantes et sortantes avec le groupe de sécurité VPC de l'instance de base de données et de la fonction Lambda. Amazon RDS ne peut pas non plus utiliser un groupe de sécurité qui a été modifié.
RDS action: create new security groups

Un ou plusieurs groupes de sécurité sont associés à l'instance de base de données avec un nom qui correspond au modèle rds-lambda-n ou si l'élément TargetHealth d'un proxy associé a pour valeur AVAILABLE.

Un groupe de sécurité qui correspond au modèle n'a pas été modifié. Ce groupe de sécurité comprend une seule règle entrante avec le groupe de sécurité VPC de la fonction Lambda ou du proxy comme source.

Un ou plusieurs groupes de sécurité sont associés à la fonction Lambda avec un nom qui correspond au modèle lambda-rds-n ou lambda-rdsproxy-n.

Toutefois, Amazon RDS ne peut utiliser aucun de ces groupes de sécurité pour la connexion avec l'instance de base de données. Amazon RDS ne peut pas utiliser comme destination un groupe de sécurité dépourvu de toute règle sortante avec le groupe de sécurité VPC de l'instance de base de données ou du proxy. Amazon RDS ne peut pas non plus utiliser un groupe de sécurité qui a été modifié.

Un ou plusieurs groupes de sécurité sont associés au proxy avec un nom qui correspond au modèle rdsproxy-lambda-n.

Toutefois, Amazon RDS ne peut utiliser aucun de ces groupes de sécurité pour la connexion avec l'instance de base de données ou la fonction Lambda. Amazon RDS ne peut pas utiliser un groupe de sécurité dépourvu de règles entrantes et sortantes avec le groupe de sécurité VPC de l'instance de base de données et de la fonction Lambda. Amazon RDS ne peut pas non plus utiliser un groupe de sécurité qui a été modifié.

RDS action: create new security groups

Un ou plusieurs groupes de sécurité sont associés à l'instance de base de données avec un nom qui correspond au modèle rds-lambda-n ou si l'élément TargetHealth d'un proxy associé a pour valeur AVAILABLE.

Un groupe de sécurité qui correspond au modèle n'a pas été modifié. Ce groupe de sécurité comprend une seule règle entrante avec le groupe de sécurité VPC de la fonction Lambda ou du proxy comme source.

Il existe un groupe de sécurité Lambda valide pour la connexion, mais il n'est pas associé à la fonction Lambda. Le nom de ce groupe de sécurité correspond au modèle lambda-rds-n ou lambda-rdsproxy-n. Il n'a pas été modifié. Il ne possède qu'une seule règle sortante avec le groupe de sécurité VPC de l'instance de base de données ou du proxy comme destination.

Il existe un groupe de sécurité de proxy valide pour la connexion, mais il n'est pas associé au proxy. Le nom de ce groupe de sécurité correspond au modèle rdsproxy-lambda-n. Il n'a pas été modifié. Il possède des règles entrantes et sortantes avec le groupe de sécurité VPC de l'instance de base de données et la fonction Lambda.

RDS action: associate Lambda security group

L'une des conditions suivantes s'applique :

  • Aucun groupe de sécurité n'est associé à l'instance de base de données avec un nom qui correspond au modèle rds-lambda-n ou si l'élément TargetHealth d'un proxy associé a pour valeur AVAILABLE.

  • Un ou plusieurs groupes de sécurité sont associés à l'instance de base de données avec un nom qui correspond au modèle rds-lambda-n ou si l'élément TargetHealth d'un proxy associé a pour valeur AVAILABLE. Toutefois, Amazon RDS ne peut utiliser aucun de ces groupes de sécurité pour la connexion avec la fonction Lambda ou le proxy.

Amazon RDS ne peut pas utiliser comme source un groupe de sécurité dépourvu de toute règle entrante avec le groupe de sécurité VPC de la fonction Lambda ou du proxy. Amazon RDS ne peut pas non plus utiliser un groupe de sécurité qui a été modifié.

Un ou plusieurs groupes de sécurité sont associés à la fonction Lambda avec un nom qui correspond au modèle lambda-rds-n ou lambda-rdsproxy-n.

Un groupe de sécurité qui correspond au modèle n'a pas été modifié. Ce groupe de sécurité ne possède qu'une seule règle sortante avec le groupe de sécurité VPC de l'instance de base de données ou du proxy comme destination.

Un ou plusieurs groupes de sécurité sont associés au proxy avec un nom qui correspond au modèle rdsproxy-lambda-n.

Un groupe de sécurité qui correspond au modèle n'a pas été modifié. Ce groupe de sécurité possède des règles entrantes et sortantes avec le groupe de sécurité VPC de l'instance de base de données et la fonction Lambda.

RDS action: create new security groups

L'une des conditions suivantes s'applique :

  • Aucun groupe de sécurité n'est associé à l'instance de base de données avec un nom qui correspond au modèle rds-lambda-n ou si l'élément TargetHealth d'un proxy associé a pour valeur AVAILABLE.

  • Un ou plusieurs groupes de sécurité sont associés à l'instance de base de données avec un nom qui correspond au modèle rds-lambda-n ou si l'élément TargetHealth d'un proxy associé a pour valeur AVAILABLE. Toutefois, Amazon RDS ne peut utiliser aucun de ces groupes de sécurité pour la connexion avec la fonction Lambda ou le proxy.

Amazon RDS ne peut pas utiliser comme source un groupe de sécurité dépourvu de toute règle entrante avec le groupe de sécurité VPC de la fonction Lambda ou du proxy. Amazon RDS ne peut pas non plus utiliser un groupe de sécurité qui a été modifié.

L'une des conditions suivantes s'applique :

  • Aucun groupe de sécurité n'est associé à la fonction Lambda avec un nom qui correspond au modèle lambda-rds-n ou lambda-rdsproxy-n.

  • Un ou plusieurs groupes de sécurité sont associés à la fonction Lambda avec un nom qui correspond au modèle lambda-rds-n ou lambda-rdsproxy-n. Toutefois, Amazon RDS ne peut utiliser aucun de ces groupes de sécurité pour la connexion avec l'instance de base de données.

Amazon RDS ne peut pas utiliser comme source un groupe de sécurité dépourvu de toute règle sortante avec le groupe de sécurité VPC de l'instance de base de données ou du proxy. Amazon RDS ne peut pas non plus utiliser un groupe de sécurité qui a été modifié.

L'une des conditions suivantes s'applique :

  • Aucun groupe de sécurité n'est associé au proxy avec un nom qui correspond au modèle rdsproxy-lambda-n.

  • Un ou plusieurs groupes de sécurité sont associés au proxy avec un nom qui correspond à rdsproxy-lambda-n. Toutefois, Amazon RDS ne peut utiliser aucun de ces groupes de sécurité pour la connexion avec l'instance de base de données ni la fonction Lambda.

Amazon RDS ne peut pas utiliser un groupe de sécurité dépourvu de règles entrantes et sortantes avec le groupe de sécurité VPC de l'instance de base de données et de la fonction Lambda. Amazon RDS ne peut pas non plus utiliser un groupe de sécurité qui a été modifié.
RDS action: create new security groups
Action RDS
 : créer de nouveaux groupes de sécurité

Amazon RDS entreprend les actions suivantes :

  • Crée un nouveau groupe de sécurité qui correspond au modèle rds-lambda-n ou rds-rdsproxy-n (si vous choisissez d'utiliser un proxy RDS). Ce groupe de sécurité comprend une règle entrante avec le groupe de sécurité VPC de la fonction Lambda ou du proxy comme source. Ce groupe de sécurité est associé à l'instance de base de données et permet à la fonction ou au proxy d'accéder à l'instance de base de données.

  • Crée un nouveau groupe de sécurité qui correspond au modèle lambda-rds-n ou lambda-rdsproxy-n. Ce groupe de sécurité possède une règle sortante avec le groupe de sécurité VPC de l'instance de base de données ou du proxy comme destination. Ce groupe de sécurité est associé à la fonction Lambda et permet à cette dernière d'envoyer du trafic vers l'instance de base de données ou d'envoyer du trafic via un proxy.

  • Crée un nouveau groupe de sécurité qui correspond au modèle rdsproxy-lambda-n. Ce groupe de sécurité possède des règles entrantes et sortantes avec le groupe de sécurité VPC de l'instance de base de données et la fonction Lambda.

Action 
 RDS : associer un groupe de sécurité Lambda

Amazon RDS associe le groupe de sécurité Lambda valide et existant à la fonction Lambda. Ce groupe de sécurité permet à la fonction Lambda d'envoyer du trafic vers l'instance de base de données ou d'envoyer du trafic via un proxy.

Connexion automatique d'une fonction Lambda et d'une base de données RDS

Vous pouvez utiliser la console Amazon RDS pour connecter automatiquement une fonction Lambda à votre instance de base de données. Cela simplifie le processus de configuration d'une connexion entre ces ressources.

Vous pouvez également utiliser un proxy RDS pour inclure un proxy dans votre connexion. Les fonctions Lambda établissent des connexions de base de données courtes et fréquentes qui bénéficient du regroupement de connexions offert par le proxy RDS. Vous pouvez également utiliser toute authentification IAM que vous avez déjà configurée pour votre fonction Lambda, plutôt que de gérer les informations d'identification de base de données dans votre code d'application Lambda.

Vous pouvez connecter une instance de base de données existante aux fonctions Lambda nouvelles et existantes à l'aide de la page Configurer une connexion Lambda. Le processus de configuration configure automatiquement les groupes de sécurité requis pour vous.

Avant de configurer une connexion entre une fonction Lambda et une instance de base de données, assurez-vous que :

Si vous modifiez les groupes de sécurité après avoir configuré la connectivité, ces modifications peuvent affecter la connexion entre la fonction Lambda et l'instance de base de données.

Note

Vous pouvez configurer automatiquement une connexion entre une instance de base de données et une fonction Lambda uniquement dans la AWS Management Console. Pour connecter une fonction Lambda, l'instance de base de données doit être dans l'état Disponible.

Pour connecter automatiquement une fonction Lambda et une instance de base de données
  1. Connectez-vous à l'AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, choisissez Bases de données, puis choisissez l'instance de base de données que vous voulez connecter à une fonction Lambda.

  3. Pour Actions, choisissez Configurer la connexion Lambda.

  4. Sur la page Configurer la connexion Lambda, sous Sélectionner une fonction Lambda, effectuez l'une des opérations suivantes :

    • Si vous avez déjà une fonction Lambda dans le même VPC que votre instance de base de données, choisissez Choisir une fonction existante, puis choisissez la fonction.

    • Si vous ne disposez pas d'une fonction Lambda dans le même VPC, choisissez Créer une nouvelle fonction, puis saisissez le Nom de la fonction. L'environnement d'exécution par défaut est défini sur Nodejs.18. Vous pouvez modifier les paramètres de votre nouvelle fonction Lambda dans la console Lambda après avoir terminé la configuration de la connexion.

  5. (Facultatif) Sous Proxy RDS, sélectionnez Se connecter via un proxy RDS, puis effectuez l'une des opérations suivantes :

    • Si vous souhaitez utiliser un proxy existant, choisissez Choisir un proxy existant, puis choisissez le proxy.

    • Si vous n'avez pas de proxy et que vous souhaitez qu'Amazon RDS en crée un automatiquement pour vous, choisissez Créer un nouveau proxy. Ensuite, pour Informations d'identification de la base de données, effectuez l'une des opérations suivantes :

      1. Choisissez Nom d'utilisateur et mot de passe de base de données, puis saisissez le Nom d'utilisateur et le Mot de passe de votre instance de base de données.

      2. Choisissez Secret Secrets Manager. Ensuite, pour Sélectionner un secret, choisissez un secret AWS Secrets Manager. Si vous n'avez pas de secret Secrets Manager, choisissez Créer un nouveau secret Secrets Manager pour créer un nouveau secret. Après avoir créé le secret, pour Sélectionner un secret, choisissez le nouveau secret.

      Après avoir créé le nouveau proxy, choisissez Choisir un proxy existant, puis choisissez le proxy. Notez qu'il peut s'écouler un certain temps avant que votre proxy soit disponible pour la connexion.

  6. (Facultatif) Développez Récapitulatif de la connexion et vérifiez les mises à jour en surbrillance pour vos ressources.

  7. Choisissez Set up (Configurer).

Affichage des ressources de calcul connectées

Vous pouvez utiliser la AWS Management Console pour visualiser les fonctions Lambda connectées à votre instance de base de données. Les ressources affichées incluent les connexions de ressources de calcul qu'Amazon RDS a configurées automatiquement.

Les ressources de calcul répertoriées n'incluent pas celles qui sont connectées manuellement à l'instance de base de données. Par exemple, vous pouvez autoriser une ressource de calcul à accéder manuellement à votre instance de base de données en ajoutant une règle à votre groupe de sécurité VPC associé à la base de données.

Pour que la console répertorie une fonction Lambda, les conditions suivantes doivent s'appliquer :

  • Le nom du groupe de sécurité associé à la ressource de calcul correspond au modèle lambda-rds-n ou lambda-rdsproxy-n (où n est un nombre).

  • Le groupe de sécurité associé à la ressource de calcul possède une règle sortante avec la plage de ports définie sur le port de l'instance de base de données ou d'un proxy associé. La destination de la règle sortante doit être définie sur un groupe de sécurité associé à l'instance de base de données ou un proxy associé.

  • Si la configuration inclut un proxy, le nom du groupe de sécurité attaché au proxy associé à votre base de données correspond au modèle rdsproxy-lambda-n (où n est un nombre).

  • Le groupe de sécurité associé à la fonction possède une règle sortante avec le port défini sur le port utilisé par l'instance de base de données ou le proxy associé. La destination doit être définie sur un groupe de sécurité associé à l'instance de base de données ou au proxy associé.

Pour afficher les ressources de calcul automatiquement connectées à une instance de base de données
  1. Connectez-vous à l'AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, choisissez Bases de données, puis choisissez l'instance de base de données.

  3. Dans l'onglet Connectivité et sécurité, examinez les ressources de calcul sous Ressources de calcul connectées.