Générez une adresse IP sortante statique à l'aide d'une fonction Lambda, d'Amazon VPC et d'une architecture sans serveur - Recommandations AWS

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.

Générez une adresse IP sortante statique à l'aide d'une fonction Lambda, d'Amazon VPC et d'une architecture sans serveur

Créée par Thomas Scott (AWS)

Environnement : Production

Technologies : conteneurs et microservices ; DevelopmentAndTesting

Services AWS : AWS Lambda

Récapitulatif

Ce modèle décrit comment générer une adresse IP sortante statique dans le cloud Amazon Web Services (AWS) à l'aide d'une architecture sans serveur. Votre organisation peut bénéficier de cette approche si elle souhaite envoyer des fichiers à une entité commerciale distincte en utilisant le protocole SFTP (Secure File Transfer Protocol). Cela signifie que l'entité commerciale doit avoir accès à une adresse IP qui permet aux fichiers de passer par son pare-feu. 

L'approche du modèle vous aide à créer une fonction AWS Lambda qui utilise une adresse IP élastique comme adresse IP sortante. En suivant les étapes de ce modèle, vous pouvez créer une fonction Lambda et un cloud privé virtuel (VPC) qui achemine le trafic sortant via une passerelle Internet dotée d'une adresse IP statique. Pour utiliser l'adresse IP statique, vous devez associer la fonction Lambda au VPC et à ses sous-réseaux. 

Conditions préalables et limitations

Prérequis

  • Un compte AWS actif. 

  • Autorisations AWS Identity and Access Management (IAM) pour créer et déployer une fonction Lambda, ainsi que pour créer un VPC et ses sous-réseaux. Pour plus d'informations à ce sujet, consultez la section Rôle d'exécution et autorisations utilisateur dans la documentation AWS Lambda.

  • Si vous envisagez d'utiliser l'infrastructure en tant que code (IaC) pour implémenter l'approche de ce modèle, vous avez besoin d'un environnement de développement intégré (IDE) tel qu'AWS Cloud9. Pour plus d'informations à ce sujet, consultez Qu'est-ce qu'AWS Cloud9 ? dans la documentation d'AWS Cloud9.

Architecture

Le schéma suivant montre l'architecture sans serveur pour ce modèle.

Le schéma suivant illustre le flux de travail suivant :

  1. Le trafic sortant partNAT gateway 1. Public subnet 1

  2. Le trafic sortant partNAT gateway 2. Public subnet 2

  3. La fonction Lambda peut être exécutée dans ou. Private subnet 1 Private subnet 2

  4. Private subnet 1et Private subnet 2 acheminez le trafic vers les passerelles NAT dans les sous-réseaux publics.

  5. Les passerelles NAT envoient le trafic sortant vers la passerelle Internet à partir des sous-réseaux publics.

  6. Les données sortantes sont transférées de la passerelle Internet vers le serveur externe.

Pile technologique

  • Lambda

  • Amazon Virtual Private Cloud (Amazon VPC)

 

Automatisation et mise à l'échelle

Vous pouvez garantir la haute disponibilité (HA) en utilisant deux sous-réseaux publics et deux sous-réseaux privés dans différentes zones de disponibilité. Même si une zone de disponibilité devient indisponible, la solution du modèle continue de fonctionner.

Outils

  • AWS Lambda — AWS Lambda est un service de calcul qui prend en charge l'exécution de code sans provisionner ni gérer de serveurs. Lambda exécute le code uniquement lorsque cela est nécessaire et se met à l'échelle automatiquement, qu'il s'agisse de quelques requêtes par jour ou de milliers de requêtes par seconde. Vous payez uniquement le temps de calcul que vous utilisez. Vous n'exposez aucuns frais quand votre code n'est pas exécuté.

  • Amazon VPC — Amazon Virtual Private Cloud (Amazon VPC) fournit une section logiquement isolée du cloud AWS dans laquelle vous pouvez lancer des ressources AWS dans un réseau virtuel que vous avez défini. Ce réseau virtuel ressemble beaucoup à un réseau traditionnel que vous pourriez exécuter dans votre propre data center, et présente l'avantage d'utiliser l'infrastructure évolutive d'AWS.

Épopées

TâcheDescriptionCompétences requises
Créez un nouveau VPC.

Connectez-vous à l'AWS Management Console, ouvrez la console Amazon VPC, puis créez un VPC nommé Lambda VPC dont la plage d'adresses CIDR est 10.0.0.0/25 IPv4.

Pour plus d'informations sur la création d'un VPC, consultez Getting started with Amazon VPC dans la documentation Amazon VPC

Administrateur AWS
TâcheDescriptionCompétences requises
Créez le premier sous-réseau public.
  1. Sur la console Amazon VPC, choisissez Subnets, puis Create Subnet. 

  2. Pour Balise de nom, saisissez public-one.

  3. Pour VPC, choisissez Lambda VPC.

  4. Choisissez une zone de disponibilité et enregistrez-la. 

  5. Pour le bloc CIDR IPv4, entrez 10.0.0.0/28 puis choisissez Create subnet.

Administrateur AWS
Créez le deuxième sous-réseau public.
  1. Sur la console Amazon VPC, choisissez Subnets, puis Create Subnet. 

  2. Pour Balise de nom, saisissez public-two.

  3. Pour VPC, choisissez Lambda VPC.

  4. Choisissez une zone de disponibilité et enregistrez-la. Important : vous ne pouvez pas utiliser la zone de disponibilité qui contient le public-one sous-réseau. 

  5. Pour le bloc CIDR IPv4, entrez 10.0.0.16/28 puis choisissez Create subnet.

Administrateur AWS
TâcheDescriptionCompétences requises
Créez le premier sous-réseau privé.
  1. Sur la console Amazon VPC, choisissez Subnets, puis Create Subnet. 

  2. Pour Balise de nom, saisissez private-one.

  3. Pour VPC, choisissez Lambda VPC.

  4. Choisissez la zone de disponibilité qui contient le public-one sous-réseau que vous avez créé précédemment. 

  5. Pour le bloc CIDR IPv4, entrez 10.0.0.32/28 puis choisissez Create subnet.

Administrateur AWS
Créez le deuxième sous-réseau privé.
  1. Sur la console Amazon VPC, choisissez Subnets, puis Create Subnet. 

  2. Pour Balise de nom, saisissez private-two.

  3. Pour VPC, choisissez Lambda VPC.

  4. Choisissez la même zone de disponibilité qui contient le public-two sous-réseau que vous avez créé précédemment. 

  5. Pour le bloc CIDR IPv4, entrez 10.0.0.64/28 puis choisissez Create subnet.

Administrateur AWS
TâcheDescriptionCompétences requises
Créez la première adresse IP élastique.
  1. Sur la console Amazon VPC, choisissez Elastic IPs, puis Allocate new address.

  2. Choisissez Allocation et enregistrez l'ID d'allocation pour votre adresse IP élastique nouvellement créée.

Remarque : Cette adresse IP élastique est utilisée pour votre première passerelle NAT. 

Administrateur AWS
Créez la deuxième adresse IP élastique.
  1. Sur la console Amazon VPC, choisissez Elastic IPs, puis Allocate new address.

  2. Choisissez Allouer et enregistrez l'ID d'allocation pour cette deuxième adresse IP élastique.

Remarque : Cette adresse IP élastique est utilisée pour votre deuxième passerelle NAT.

Administrateur AWS
TâcheDescriptionCompétences requises
Créer une passerelle Internet
  1. Sur la console Amazon VPC, choisissez Internet Gateways, puis Create Internet Gateway.

  2. Entrez le Lambda internet gateway nom, puis choisissez Créer une passerelle Internet. Assurez-vous d'enregistrer l'identifiant de la passerelle Internet. 

Administrateur AWS
Connectez la passerelle Internet au VPC.

Sélectionnez la passerelle Internet que vous venez de créer, puis choisissez Actions, Attach to VPC (Actions, Attacher au VPC).

Administrateur AWS
TâcheDescriptionCompétences requises
Créez la première passerelle NAT.
  1. Sur la console Amazon VPC, choisissez NAT Gateways, puis Create NAT Gateway.

  2. Entrez nat-one comme nom de passerelle NAT.

  3. Choisissez public-one comme sous-réseau dans lequel créer la passerelle NAT.

  4. Pour le type de connectivité, choisissez Public.

  5. Pour l'ID d'allocation IP élastique, choisissez la première adresse IP élastique que vous avez créée précédemment et associez-la à la passerelle NAT.

  6. Sélectionnez Créer une passerelle NAT.

Administrateur AWS
Créez la deuxième passerelle NAT.
  1. Sur la console Amazon VPC, choisissez NAT Gateways, puis Create NAT Gateway.

  2. Entrez nat-two comme nom de passerelle NAT.

  3. Choisissez public-two comme sous-réseau dans lequel créer la passerelle NAT.

  4. Pour le type de connectivité, choisissez Public.

  5. Pour l'ID d'allocation IP élastique, choisissez la deuxième adresse IP élastique que vous avez créée précédemment et associez-la à la passerelle NAT.

  6. Sélectionnez Créer une passerelle NAT.

Administrateur AWS
TâcheDescriptionCompétences requises
Créez la table de routage pour le sous-réseau public.
  1. Sur la console Amazon VPC, choisissez Route Tables, puis Create route table.

  2. Entrez le public-one-subnet nom de la table de routage, puis choisissez Créer une table de routage.

  3. Choisissez la table de public-one-subnet routage, choisissez Modifier les itinéraires, puis choisissez Ajouter un itinéraire.

  4. Spécifiez 0.0.0.0 dans le champ Destination, puis choisissez l'ID de passerelle Internet dans la liste des cibles.

  5. Dans l'onglet Associations de sous-réseaux, choisissez Modifier les associations de sous-réseaux, choisissez le public-one sous-réseau avec la plage 10.0.0.0/28 CIDR, puis sélectionnez Enregistrer les associations.

  6. Choisissez Save Changes (Enregistrer les modifications).

Administrateur AWS
Créez la table de routage pour le sous-réseau public-two.
  1. Sur la console Amazon VPC, choisissez Route Tables, puis Create route table.

  2. Entrez le public-two-subnet nom de la table de routage, puis choisissez Créer une table de routage.

  3. Choisissez la table de public-two-subnet routage, choisissez Modifier les itinéraires, puis choisissez Ajouter un itinéraire.

  4. Spécifiez 0.0.0.0 dans le champ Destination, puis choisissez l'ID de passerelle Internet dans la liste des cibles.

  5. Dans l'onglet Associations de sous-réseaux, choisissez Modifier les associations de sous-réseaux, choisissez le public-two sous-réseau avec la plage 10.0.0.16/28 CIDR, puis sélectionnez Enregistrer les associations.

  6. Choisissez Save Changes (Enregistrer les modifications).

Administrateur AWS
Créez la table de routage pour le sous-réseau private-one.
  1. Sur la console Amazon VPC, choisissez Route Tables, puis Create route table.

  2. Entrez le private-one-subnet nom de la table de routage, puis choisissez Créer une table de routage.

  3. Choisissez la table de private-one-subnet routage, choisissez Modifier les itinéraires, puis choisissez Ajouter un itinéraire.

  4. Spécifiez 0.0.0.0 dans le champ Destination, puis choisissez la passerelle NAT dans le public-one sous-réseau dans la liste des cibles.

  5. Dans l'onglet Associations de sous-réseaux, choisissez Modifier les associations de sous-réseaux, choisissez le private-one sous-réseau avec la plage 10.0.0.32/28 CIDR, puis sélectionnez Enregistrer les associations.

  6. Choisissez Save Changes (Enregistrer les modifications).

Administrateur AWS
Créez la table de routage pour le sous-réseau private-two.
  1. Sur la console Amazon VPC, choisissez Route Tables, puis Create route table.

  2. Entrez le private-two-subnet nom de la table de routage, puis choisissez Créer une table de routage.

  3. Choisissez la table de private-two-subnet routage, choisissez Modifier les itinéraires, puis choisissez Ajouter un itinéraire.

  4. Spécifiez 0.0.0.0 dans le champ Destination, puis choisissez la passerelle NAT dans le public-two sous-réseau dans la liste des cibles.

  5. Dans l'onglet Associations de sous-réseaux, choisissez Modifier les associations de sous-réseaux, choisissez le private-two sous-réseau avec la plage 10.0.0.64/28 CIDR, puis sélectionnez Enregistrer les associations.

  6. Choisissez Save Changes (Enregistrer les modifications).

Administrateur AWS
TâcheDescriptionCompétences requises
Créez une fonction Lambda.
  1. Ouvrez la console AWS Lambda et choisissez Create function.

  2. Sous Informations de base, entrez dans Lambda test Nom de la fonction, puis choisissez la langue de votre choix sous Runtime.

  3. Choisissez Créer une fonction.

Administrateur AWS
Ajoutez la fonction Lambda à votre VPC.
  1. Sur la console AWS Lambda, choisissez Functions, puis choisissez la fonction que vous avez créée précédemment. 

  2. Sélectionnez Configuration, puis VPC.

  3. Choisissez Modifier, puis sélectionnez Lambda VPC les deux sous-réseaux privés.

  4. Choisissez le groupe de sécurité par défaut à des fins de test, puis sélectionnez Enregistrer.

Administrateur AWS
Écrivez du code pour appeler un service externe.
  1. Dans le langage de programmation de votre choix, écrivez du code pour appeler un service externe qui renvoie votre adresse IP.

  2. Vérifiez que l'adresse IP renvoyée correspond à l'une de vos adresses IP Elastic.

Administrateur AWS

Ressources connexes