Accéder à des ressources privées dans une VPC

Applications sans serveur avec AWS Lambda

Claudio Canales

Senior DevOps Engineer

Qu'est-ce qu'une VPC ?

  • Une VPC est votre réseau privé dans AWS.
  • Elle fournit l'adressage, le routage et des contrôles de pare-feu.
  • Vous décidez comment les ressources se connectent.

Aperçu des composants d'une VPC

Applications sans serveur avec AWS Lambda

Une analogie simple : une communauté fermée

  • Les sous-réseaux sont des quartiers.
  • Les groupes de sécurité sont les règles aux portes.
  • Le NAT est la sortie partagée vers l'internet public.

Analogie : quartier fermé avec portail

Applications sans serveur avec AWS Lambda

Pourquoi exécuter Lambda dans une VPC ?

  • Accéder à des ressources privées comme des services internes ou des bases de données.
  • Les groupes de sécurité contrôlent à quoi Lambda peut se connecter.

Accès privé de Lambda dans une VPC

Applications sans serveur avec AWS Lambda

Ce que vous configurez

  • Sélectionner des sous-réseaux.
  • Sélectionner un groupe de sécurité.
  • Lambda obtient une IP dans votre VPC pour joindre des points de terminaison privés.

Entrées de configuration VPC et effets

Applications sans serveur avec AWS Lambda

Sous-réseaux : où s'exécute votre fonction

  • Les sous-réseaux déterminent l'emplacement réseau de la fonction.
  • Les sous-réseaux privés n'ont pas de route directe vers internet.
  • Choisissez des sous-réseaux qui joignent ce qu'exige votre gestionnaire.

Impact du choix des sous-réseaux

Applications sans serveur avec AWS Lambda

Groupes de sécurité : règles de pare-feu

  • Les groupes de sécurité sont des règles de pare-feu pour l'interface réseau.
  • Ils contrôlent le trafic entrant et sortant.
  • Les règles sortantes déterminent souvent si Lambda peut joindre une base de données.

Analogie : agent de sécurité d'un groupe de sécurité

Applications sans serveur avec AWS Lambda

ENI et démarrages à froid

  • ENI = Elastic Network Interface.
  • Lambda peut devoir créer et attacher une ENI avant d'invoquer votre gestionnaire.
  • Cette configuration réseau supplémentaire peut ajouter de la latence au démarrage à froid.

Séquence de démarrage à froid avec ENI

Applications sans serveur avec AWS Lambda

Analogie ENI : brancher un câble réseau

  • ENI = la connexion réseau de votre fonction.
  • Elle est créée dans le sous-réseau choisi.
  • Plus d'étapes de configuration peuvent ralentir les démarrages à froid.

Analogie : brancher un câble réseau (ENI)

Applications sans serveur avec AWS Lambda

Accès internet sortant

  • Les sous-réseaux privés ne peuvent généralement pas joindre l'internet public.
  • Sans routage sortant, les appels aux API publiques expirent.
  • Approche courante : une passerelle NAT.

Flux sortant via passerelle NAT

Applications sans serveur avec AWS Lambda

Quand avez-vous besoin d'un NAT ?

  • Besoin d'un NAT pour appeler des points publics sur internet.
  • NAT peut être inutile si l'on accède seulement à des ressources privées de la VPC.

Diagramme de décision : besoin de NAT

Applications sans serveur avec AWS Lambda

Symptômes courants en cas de problème réseau

  • Des délais d'attente indiquent des routes ou un NAT manquants.
  • Des refus de connexion pointent vers les règles du groupe de sécurité.

Liste des symptômes réseau

Applications sans serveur avec AWS Lambda

Pratiques exemplaires

  • Utiliser une VPC seulement pour la connectivité privée.
  • Garder la configuration minimale.
  • Surveiller la latence au démarrage à froid et les erreurs de connexion.

Pratiques exemplaires pour VPC

Applications sans serveur avec AWS Lambda

Points clés à retenir

  • La VPC offre un réseau privé à Lambda.
  • Vous configurez les sous-réseaux et les groupes de sécurité.
  • Les ENI peuvent ajouter de la charge au démarrage à froid.
  • Les sous-réseaux privés ont besoin d'un NAT pour l'accès internet sortant.

Compromis de connectivité VPC

Applications sans serveur avec AWS Lambda

Passons à la pratique !

Applications sans serveur avec AWS Lambda

Preparing Video For Download...