Ronan vous montre comment
vous connecter à Internet à l'aide
d'une fonction Lambda dans un VPC

ronan_internet_access_lambda_function

Je souhaite accorder l'accès à Internet à ma fonction AWS Lambda dans un VPC. Comment puis-je faire ?

Si votre fonction Lambda a besoin d'accéder à des ressources VPC privées (comme une instance de base de données Amazon RDS ou une instance Amazon EC2), vous devez associer la fonction à un VPC. Si votre fonction requiert également un accès à Internet (pour atteindre un service public comme Amazon DynamoDB par exemple), elle doit utiliser une instance ou une passerelle NAT.

Pour ajouter une configuration VPC à votre fonction Lambda, vous devez l'associer à au moins un sous-réseau. Si la fonction requiert un accès à Internet, vous devez respecter deux règles :

  • Cette fonction doit uniquement être associée à des sous-réseaux privés.
  • Votre VPC doit contenir une instance ou une passerelle NAT dans un sous-réseau public.

Le caractère privé ou public d'un sous-réseau dépend de sa table de routage. Chaque table de routage a une route par défaut, qui détermine le saut suivant pour les paquets avec une destination publique.

  • Sous-réseau privé : la route par défaut pointe vers une passerelle NAT (nat-...) ou une instance NAT (eni-...).
  • Sous-réseau public : la route par défaut pointe vers une passerelle Internet (igw-...).

Si votre VPC dispose déjà d'un sous-réseau public (avec un NAT) et d'un ou plusieurs sous-réseaux privés pour votre fonction Lambda, il vous suffit de suivre les étapes de « Configurer votre fonction ».

Configurer votre fonction

Identifiez vos sous-réseaux publics et privés :

  1. Dans le volet de navigation de la console VPC, sélectionnez Sous-réseaux.
  2. Sélectionnez un sous-réseau, puis cliquez sur l'onglet Table de routage. Vérifiez la route par défaut :
    Sous-réseau public : Destination : 0.0.0.0/0, Cible : igw-…
    Sous-réseau privé: Destination : 0.0.0.0/0, Cible : nat-… ou eni-…

Associez la fonction à des sous-réseaux privés :

  1. Dans la console Lambda, sélectionnez votre fonction, puis cliquez sur Configuration.
  2. Développez Paramètres avancés, puis VPC et sélectionnez votre VPC.
  3. Développez Sous-réseaux et sélectionnez uniquement des sous-réseaux privés.
  4. Développez Groupes de sécurité, sélectionnez un groupe de sécurité, puis cliquez sur Enregistrer.

Pour créer un sous-réseau public ou privé

  1. Dans le volet de navigation de la console VPC, sélectionnez Sous-réseaux.
  2. Pour créer un nouveau sous-réseau, sélectionnez Créer le sous-réseau. Sinon, utilisez un sous-réseau existant.
  3. Sélectionnez l'onglet Table de routage, puis Modifier.
  4. Sélectionnez une table de routage adéquate dans le menu déroulant Remplacer par : :

Pour un sous-réseau privé, la route par défaut doit pointer vers une passerelle NAT ou une instance NAT :

Destination: 0.0.0.0/0
Target: nat-… (or eni-…)

Pour un sous-réseau public, la route par défaut doit pointer vers une passerelle Internet :

Destination: 0.0.0.0/0
Target: igw-…

Pour créer une table de routage pour un sous-réseau public ou privé

  1. Dans la console VPC, sélectionnez Tables de routage, puis Créer une table de routage.
  2. Dans le champ Balise de nom, saisissez un nom convivial, cliquez sur le menu déroulant VPC, sélectionnez votre VPC, puis cliquez sur Oui, créer.
  3. Sélectionnez une nouvelle table de routage, puis cliquez sur l'onglet Routes.
  4. Cliquez sur Modifier, puis Ajouter une autre route.
    Destination : 0.0.0.0/0
    Cible :
    Pour un sous-réseau privé avec une instance NAT : eni-…
    Pour un sous-réseau privé avec une passerelle NAT : nat-…
    Pour un sous-réseau public : igw-…

Pour créer une passerelle Internet

  1. Dans le panneau de navigation de la console VPC, cliquez sur Passerelles Internet, puis sur Créer une passerelle Internet.
  2. Dans le champ Balise de nom, saisissez un nom, puis cliquez sur Oui, créer.
  3. Sélectionnez la passerelle Internet, puis cliquez sur Attacher au VPC.

Pour créer une passerelle NAT

  1. Dans le panneau de navigation de la console VPC, cliquez sur Passerelles NAT, puis sur Créer une passerelle NAT.
  2. Dans le champ Sous-réseau, sélectionnez un sous-réseau public.
  3. Dans le champ ID d'allocation d'adresses IP Elastic, choisissez une adresse IP Elastic existante ou cliquez sur Créer une nouvelle adresse IP Elastic, puis sur Créer une passerelle NAT.

Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support

Date de publication : 06/09/2017