Connexion des points de terminaison d'un VPC de l'interface entrante pour Lambda - AWS Lambda

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 des points de terminaison d'un VPC de l'interface entrante pour Lambda

Si vous utilisez Amazon Virtual Private Cloud (Amazon VPC) pour héberger vos ressources AWS, vous pouvez établir une connexion entre votre VPC et Lambda. Vous pouvez utiliser cette connexion pour invoquer votre fonction Lambda sans traverser l'Internet public.

Pour établir une connexion privée entre votre VPC et Lambda, créez un point de terminaison de VPC d'interface. Les points de terminaison d'interface étant alimentés par AWS PrivateLink, vous pouvez accéder en privé aux API Lambda sans passerelle Internet, périphérique NAT, connexion VPN ou connexion AWS Direct Connect. Les instances dans votre VPC n'ont pas besoin d'adresses IP publiques pour communiquer avec des API Lambda. Le trafic entre votre VPC et Lambda ne quitte pas le réseau AWS.

Chaque point de terminaison d'interface est représenté par une ou plusieurs interfaces réseau Elastic dans vos sous-réseaux. Une interface réseau fournit une adresse IP privée qui sert de point d'entrée au trafic vers Lambda.

Considérations relatives aux points de terminaison d'interface Lambda

Avant de configurer un point de terminaison d'interface pour Lambda, consulter Propriétés et limites des points de terminaison d'interface dans le Guide de l'utilisateur Amazon VPC.

Vous pouvez appeler n'importe quelle opération d'API Lambda à partir de votre VPC. Par exemple, vous pouvez invoquer la fonction Lambda en appelant l'API Invoke à partir de votre VPC. Pour obtenir la liste complète des API Lambda, consultez Actions dans la Référence API Lambda.

use1-az3 est une région à capacité limitée pour les fonctions Lambda VPC. Vous ne devez pas utiliser de sous-réseaux dans cette zone de disponibilité avec vos fonctions Lambda, car cela peut réduire la redondance zonale en cas de panne.

Keep-alive pour les connexions persistantes

Lambda purgeant les connexions inactives au fil du temps, vous devez utiliser une directive keep-alive pour maintenir les connexions persistantes. Si vous tentez de réutiliser une connexion inactive lorsque vous invoquez une fonction, cela entraîne une erreur de connexion. Pour maintenir votre connexion persistante, utilisez la directive Keep-alive associée à votre environnement d'exécution. Pour obtenir un exemple, voir Réutilisation des connexions avec Keep-Alive dans Node.js dans le Guide du développeur AWS SDK for JavaScript.

Considérations sur la facturation

L'accès à une fonction Lambda via un point de terminaison d'interface n'occasionne aucun coût supplémentaire. Pour plus d'informations sur la tarification de Lambda, consultez Tarification AWS Lambda.

La tarification standard pour AWS PrivateLink s'applique aux points de terminaison d'interface pour Lambda. Votre compte AWS est facturé pour chaque heure d'approvisionnement de point de terminaison d'interface dans chaque zone de disponibilité, et pour les données traitées via le point de terminaison d'interface. Pour plus d'informations sur la tarification des points de terminaison d'interface, consultez Tarification AWS PrivateLink.

Considérations sur l'appairage de VPC

Vous pouvez connecter d'autres VPC au VPC avec des points de terminaison d'interface à l'aide d'un Appairage de VPC. L'appairage de VPC est une connexion réseau entre deux VPC. Vous pouvez aussi établir une connexion d'appairage de VPC entre vos deux VPC, ou avec un VPC situé dans un autre compte AWS. Les VPC peuvent également se trouver dans deux régions AWS différentes.

Le trafic entre des VPC appairés reste sur le réseau AWS et ne traverse pas l'Internet public. Une fois les VPC appairés, des ressources telles que des instances Amazon Elastic Compute Cloud (Amazon EC2), des instances Amazon Relational Database Service (Amazon RDS) ou des fonctions Lambda API basées sur un VPC dans les deux VPC peuvent accéder à l'API Lambda via des points de terminaison d'interface créés dans l'un des VPC.

Création d'un point de terminaison d'interface pour Lambda

Vous pouvez créer un point de terminaison d'interface pour Lambda à l'aide de la console Amazon VPC ou de l'AWS Command Line Interface (AWS CLI). Pour de plus amples informations, veuillez consulter Création d'un point de terminaison d'interface dans le Amazon VPC Guide de l'utilisateur.

Pour créer un point de terminaison d'interface pour Lambda (console)
  1. Ouvrez la page Points de terminaison de la console Amazon VPC.

  2. Choisissez Créer un point de terminaison.

  3. Pour Catégorie de service, assurez-vous que Services AWS est sélectionné.

  4. Pour Nom du service, choisissez com.amazonaws.région.lambda. Vérifiez que le Type est Interface.

  5. Choisissez un VPC et des sous-réseaux

  6. Pour activer un DNS privé pour le point de terminaison d'interface, sélectionnez la case à cocher Enable DNS Name (Activer le nom de DNS).

  7. Pour Groupes de sécurité, choisissez un ou plusieurs groupes de sécurité.

  8. Choisissez Créer un point de terminaison.

Pour utiliser l'option de DNS privée, vous devez définir les enableDnsHostnames et enableDnsSupportattributes de votre VPC. Pour plus d'informations, consultez Affichage et mise à jour de la prise en charge de DNS pour votre VPC dans le Guide de l'utilisateur Amazon VPC. Si vous activez le DNS privé pour le point de terminaison d'interface, vous pouvez adresser des demandes d'API à Lambda en utilisant son nom DNS par défaut pour la région, par exemple, lambda.us-east-1.amazonaws.com. Pour plus de points de terminaison de service, consultez Points de terminaison de service et quotas dans le Références générales AWS.

Pour de plus amples informations, veuillez consulter Accès à un service via un point de terminaison d'interface dans le Amazon VPC Guide de l'utilisateur.

Pour plus d'informations sur la création et la configuration d'un point de terminaison avec AWS CloudFormation, consultez la ressource AWS::EC2::VPCEndpoint dans le Guide de l'utilisateur AWS CloudFormation.

Pour créer un point de terminaison d'interface pour Lambda (AWS CLI)

Utilisez la commande create-vpc-endpoint et spécifiez l'ID du VPC, le type du point de terminaison de VPC (interface), le nom du service, les sous-réseaux qui utiliseront le point de terminaison et les groupes de sécurité à associer aux interfaces réseau du point de terminaison. Exemples :

aws ec2 create-vpc-endpoint --vpc-id vpc-ec43eb89 --vpc-endpoint-type Interface --service-name \ com.amazonaws.us-east-1.lambda --subnet-id subnet-abababab --security-group-id sg-1a2b3c4d

Création d'une stratégie de point de terminaison d'interface pour Lambda

Pour contrôler qui peut utiliser votre point de terminaison d'interface, ainsi que les fonctions Lambda auxquelles l'utilisateur peut accéder, vous pouvez attacher une stratégie de point de terminaison à votre point de terminaison. La stratégie spécifie les informations suivantes :

  • Le principal qui peut exécuter des actions.

  • Les actions que le principal peut effectuer.

  • Ressources sur lesquelles le principal peut effectuer des actions.

Pour de plus amples informations, veuillez consulter Contrôle de l'accès aux services avec points de terminaison d'un VPC dans le Amazon VPC Guide de l'utilisateur.

Exemple : stratégie de point de terminaison d'interface pour des actions Lambda

Voici un exemple de stratégie de point de terminaison pour Lambda. Lorsqu'elle est attachée à un point de terminaison, cette stratégie permet à l'utilisateur MyUser d'invoquer la fonction my-function.

Note

Vous devez inclure les ARN de la fonction qualifiée et de celle non qualifiée dans la ressource.

{ "Statement":[ { "Principal": { "AWS": "arn:aws:iam::111122223333:user/MyUser" }, "Effect":"Allow", "Action":[ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:us-east-2:123456789012:function:my-function", "arn:aws:lambda:us-east-2:123456789012:function:my-function:*" ] } ] }