Agence web » Actualités du digital » Que sont les interfaces réseau AWS Elastic (ENI) et comment les utilisez-vous?

Que sont les interfaces réseau AWS Elastic (ENI) et comment les utilisez-vous?

comment-automatiser-la-creation-de-machines-virtuelles-aws-a-partir-6689232

Essentiellement, les ENI sont des cartes réseau virtuelles que vous pouvez attacher à vos instances EC2. Ils sont utilisés pour activer la connectivité réseau pour vos instances, et le fait d'avoir plusieurs d'entre elles connectées à votre instance lui permet de communiquer sur deux sous-réseaux différents.

Que sont les interfaces réseau élastiques?

Vous les utilisez déjà si vous utilisez EC2, l'interface par défaut, eth0, est attaché à un ENI qui a été créé lorsque vous avez lancé l'instance et est utilisé pour gérer tout le trafic envoyé et reçu de l'instance.

Cependant, vous n'êtes pas limité à une seule interface réseau: la connexion d'une interface réseau secondaire vous permet de connecter votre instance EC2 à deux réseaux à la fois, ce qui peut être très utile lors de la conception de votre architecture réseau. Vous pouvez les utiliser pour héberger des équilibreurs de charge, des serveurs proxy et des serveurs NAT sur une instance EC2, en acheminant le trafic d'un sous-réseau vers un autre.

Les ENI ont des groupes de sécurité, tout comme les instances EC2, qui agissent comme un pare-feu intégré. Vous pouvez les utiliser plutôt qu'un pare-feu Linux comme iptables, pour gérer le trafic inter-sous-réseau.

Un cas d'utilisation courant des ENI est la création de réseaux de gestion. Cela vous permet d'avoir des applications publiques telles que des serveurs Web dans un sous-réseau public, mais de verrouiller l'accès SSH à un sous-réseau privé sur une interface réseau secondaire. Dans ce scénario, vous vous connectez à l'aide d'un VPN au sous-réseau de gestion privé, puis administrez vos serveurs comme d'habitude.

que-sont-les-interfaces-reseau-aws-elastic-eni-et-comment-2770989

Dans ce diagramme, le sous-réseau de gauche est le sous-réseau public, qui communique avec Internet via la passerelle Internet pour le VPC. Le sous-réseau de droite est le sous-réseau de gestion privé, qui n'est accessible dans cet exemple que par la passerelle AWS Direct Connect, qui permet au réseau sur site de gérer l'authentification et étend simplement ce réseau dans le cloud. Vous pouvez également utiliser AWS Client VPN, qui exécutera un serveur VPN accessible avec des informations d'identification de clé privée.

Les ENI sont également souvent utilisées comme interfaces réseau principales pour les conteneurs Docker lancés sur ECS à l'aide de Fargate. Cela permet aux tâches Fargate de gérer des réseaux complexes, de mettre en place des pare-feu à l'aide de groupes de sécurité et d'être lancées dans des sous-réseaux privés.

1596212724_528_que-sont-les-interfaces-reseau-aws-elastic-eni-et-comment-1636112
Les ENI sont également souvent utilisées comme interfaces réseau principales pour les conteneurs Docker lancés sur ECS à l'aide de Fargate. Cela permet aux tâches Fargate de gérer des réseaux complexes, de mettre en place des pare-feu à l'aide de groupes de sécurité et d'être lancées dans des sous-réseaux privés.

Selon AWS, les ENI ont les attributs suivants:

  • Une adresse IPv4 privée principale de la plage d'adresses IPv4 de votre VPC
  • Une ou plusieurs adresses IPv4 privées secondaires de la plage d'adresses IPv4 de votre VPC
  • Une adresse IP Elastic (IPv4) par adresse IPv4 privée
  • Une adresse IPv4 publique
  • Une ou plusieurs adresses IPv6
  • Un ou plusieurs groupes de sécurité
  • Une adresse MAC
  • Un indicateur de contrôle source / destination
  • Une description

Les ENI sont entièrement gratuites, bien qu'elles ne soient pas exonérées des frais de données AWS standard.

Mettre en œuvre un basculement bon marché avec les ENI

Étant donné que les ENI peuvent avoir leur association attribuée de manière dynamique, elles sont couramment utilisées pour implémenter le basculement dans la conception de réseau. Si vous exécutez un service nécessitant une haute disponibilité, vous pouvez exécuter deux serveurs, un serveur principal et un serveur de secours. Si le serveur principal tombe en panne pour une raison quelconque, le service peut être basculé vers le serveur de secours.

Les ENI peuvent remplir ce modèle assez facilement: il suffit de lancer deux serveurs, de créer une instance ENI secondaire à utiliser comme commutateur et de l'associer au serveur principal, éventuellement avec une adresse IP élastique. Chaque fois que vous avez besoin de basculer vers l'instance de secours, il vous suffit de permuter l'ENI (bien que manuellement, ou avec un script).

Cependant, les ENI ne sont pas le meilleur moyen d'y parvenir dans l'écosystème AWS. AWS prend en charge la mise à l'échelle automatique, qui peut être utilisée pour obtenir le même effet de manière plus rentable. Plutôt que de payer un supplément pour la redondance, vous utiliseriez à la place de nombreux serveurs plus petits dans une flotte à mise à l'échelle automatique. Si l’une des instances tombe en panne, ce n’est pas grave. Un nouveau serveur peut être lancé rapidement pour gérer la baisse du trafic.

S'il est facile de basculer manuellement l'ENI vers l'instance de secours, l'automatisation du processus de basculement est un lot plus compliqué. Vous devrez configurer une alarme CloudWatch sur l'instance principale pour qu'elle se déclenche lorsque l'instance tombe en panne (éventuellement en vous envoyant un message dans le processus), l'abonner à une file d'attente de messages SNS et déclencher une fonction Lambda qui s'exécutera. file d'attente et gérez le processus de détachement et de rattachement à l'aide du kit SDK AWS. C’est faisable, mais nous vous recommandons vivement d’envisager d’utiliser le basculement DNS Route 53 plutôt que cela.

Si vous souhaitez automatiser le processus, vous pouvez suivre ce guide d'AWS pour savoir comment lier une alarme CloudWatch à Lambda.

★★★★★