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 RDS console Amazon pour simplifier la configuration d'une connexion entre une fonction Lambda et une instance de base de données (un cluster de base de données ). Souvent, le de base de données se trouve dans un sous-réseau privé au sein d'unVPC. 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 le de base de données via un RDS proxy afin d'améliorer les performances et la résilience de votre base de données. Les fonctions Lambda établissent souvent des connexions de base de données fréquentes et courtes qui bénéficient du regroupement de connexions proposé RDS par Proxy. Vous pouvez tirer parti de n'importe quelle authentification AWS Identity and Access Management (IAM) dont vous disposez déjà pour les fonctions Lambda, au lieu de gérer les informations d'identification de base de données dans le code de votre application Lambda. Pour de plus amples informations, veuillez consulter RDSProxy Amazon .

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, votre 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 au de base de données, vous devez saisir vos informations d'identification de base de données ou sélectionner un AWS Secrets Manager secret.

Connecter automatiquement une instance de base de données () à une fonction Lambda via un proxy RDS
Astuce

Pour connecter rapidement une fonction Lambda à une instance de base de données (un cluster ), vous pouvez également utiliser l'assistant guidé intégré à la console. Pour ouvrir l'assistant, procédez comme suit :

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

  2. Sélectionnez la fonction à laquelle vous souhaitez connecter une base de données.

  3. Dans l'onglet Configuration, sélectionnez les RDSbases de données.

  4. Choisissez Connect to RDS database.

Après avoir connecté votre fonction à une base de données, vous pouvez créer un proxy en choisissant Ajouter un proxy.

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

Les conditions requises pour connecter une fonction Lambda à une instance de base de données (cluster de base de RDSdonnées ) sont les suivantes :

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

  • L'utilisateur qui configure la connectivité doit être autorisé à effectuer les opérations AmazonRDS, Amazon, LambdaEC2, Secrets Manager et IAM autres 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é.

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

Configuration actuelle RDS du groupe de sécurité 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 au de base de données dont le nom correspond au modèle rds-lambda-n ou, si un proxy est déjà connecté à votre de base TargetHealth de données, RDS vérifie si le proxy associé l'estAVAILABLE.

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 entrante avec le groupe de VPC sécurité 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é n'a qu'une seule règle sortante avec le groupe de VPC sécurité du de base de données ou le 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é.

Amazon ne RDS prend aucune mesure.

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 ne RDS peut pas utiliser un groupe de sécurité qui n'a pas de règle entrante avec le groupe de VPC sécurité de la fonction Lambda ou du proxy comme source. Amazon ne peut pas non RDS 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. Cependant, Amazon ne RDS peut utiliser aucun de ces groupes de sécurité pour la connexion avec le de base de données.

Amazon ne RDS peut pas utiliser un groupe de sécurité qui n'a pas de règle sortante avec le groupe de VPC sécurité de l'instance de base de données, du de base de données ou du proxy comme destination. Amazon ne peut pas non RDS 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. Amazon ne RDS peut toutefois utiliser aucun de ces groupes de sécurité pour la connexion avec l'instance de base de données, le de base de données ou la fonction Lambda.

Amazon ne RDS peut pas utiliser un groupe de sécurité dépourvu de règles entrantes et sortantes avec le groupe de VPC sécurité du de base de données et la fonction Lambda. Amazon ne peut pas non RDS 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é ne possède qu'une seule règle entrante avec le groupe de VPC sécurité 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.

Cependant, Amazon ne RDS peut utiliser aucun de ces groupes de sécurité pour la connexion avec le de base de données. Amazon ne RDS peut pas utiliser un groupe de sécurité qui n'a pas de règle sortante avec le groupe de VPC sécurité de l'instance de base de données, du de base de données ou du proxy comme destination. Amazon ne peut pas non RDS 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.

Amazon ne RDS peut toutefois utiliser aucun de ces groupes de sécurité pour la connexion avec l'instance de base de données, le de base de données ou la fonction Lambda. Amazon ne RDS peut pas utiliser un groupe de sécurité dépourvu de règles entrantes et sortantes avec le groupe de VPC sécurité du de base de données et la fonction Lambda. Amazon ne peut pas non RDS 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é ne possède qu'une seule règle entrante avec le groupe de VPC sécurité 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 n'a qu'une seule règle sortante avec le groupe de VPC sécurité de l'instance de base de données, du 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 VPC sécurité du 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. Amazon ne RDS peut toutefois utiliser aucun de ces groupes de sécurité pour la connexion avec la fonction Lambda ou le proxy.

Amazon ne RDS peut pas utiliser un groupe de sécurité qui n'a pas de règle entrante avec le groupe de VPC sécurité de la fonction Lambda ou du proxy comme source. Amazon ne peut pas non RDS 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é n'a qu'une seule règle sortante avec le groupe de VPC sécurité de l'instance de base de données, de l' 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 VPC sécurité du 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. Amazon ne RDS peut toutefois utiliser aucun de ces groupes de sécurité pour la connexion avec la fonction Lambda ou le proxy.

Amazon ne RDS peut pas utiliser un groupe de sécurité qui n'a pas de règle entrante avec le groupe de VPC sécurité de la fonction Lambda ou du proxy comme source. Amazon ne peut pas non RDS 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. Cependant, Amazon ne RDS peut utiliser aucun de ces groupes de sécurité pour la connexion avec le de base de données.

Amazon ne RDS peut pas utiliser un groupe de sécurité qui n'a pas de règle sortante avec le groupe de VPC sécurité de l'instance de base de données, du de base de données ou du proxy comme source. Amazon ne peut pas non RDS 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. Amazon ne RDS peut toutefois utiliser aucun de ces groupes de sécurité pour la connexion avec l'instance de base de données, le de base de données ou la fonction Lambda.

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

Amazon RDS prend les mesures 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 RDS proxy). Ce groupe de sécurité possède une règle entrante avec le groupe de VPC sécurité 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é dispose d'une règle sortante avec le groupe de VPC sécurité de l'instance de base de données, du 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 VPC sécurité du de base de données et la fonction Lambda.

RDSaction : 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 à un cluster de base de RDSdonnées Aurora

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

Vous pouvez également utiliser RDS Proxy pour inclure un proxy dans votre connexion. Les fonctions Lambda établissent fréquemment de courtes connexions à la base de données qui bénéficient du regroupement de connexions proposé RDS par Proxy. Vous pouvez également utiliser n'importe quelle IAM authentification que vous avez déjà configurée pour votre fonction Lambda, au lieu de gérer les informations d'identification de base de données dans le code de votre 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 un de base de données et une fonction Lambda uniquement dans le. 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 à la RDS console Amazon AWS Management Console et ouvrez-la à 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 une fonction Lambda existante VPC identique à votre de base de données, choisissez Choisir une fonction existante, puis choisissez la fonction.

    • Si vous n'avez pas de fonction Lambda dans la même fenêtreVPC, choisissez Create new function, puis entrez un nom de 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 RDSProxy, sélectionnez Se connecter à l'aide d'un RDS proxy, 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 Create new 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 AWS Secrets Manager secret. 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 le AWS Management Console pour afficher les fonctions Lambda connectées à votre cluster de base de données d' de base de données. Les ressources présentées incluent les connexions aux ressources de calcul qu'Amazon RDS met en place 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 au de base de données en ajoutant une règle à votre groupe VPC de sécurité 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 à la RDS console Amazon AWS Management Console et ouvrez-la à 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.