Was Sind AWS Elastic Network Interfaces (ENIs), und Wie Verwenden Sie Sie?

0
37

Im wesentlichen, ENIs sind virtuelle Netzwerk-Karten, die Sie anbringen können, um Ihre EC2-Instanzen. Sie werden verwendet, um Netzwerk-Konnektivität für Ihre Instanzen, und mehr als einer von Ihnen mit Ihrer Instanz verbunden es ermöglicht die Kommunikation über zwei verschiedene Subnetze.

Was Sind Elastische Netzwerk-Schnittstellen?

Du bist schon mit Ihnen wenn Sie auf EC2—die Standard-Schnittstelle, eth0, wird an einer ENI, die erstellt wurde, wenn Sie die instance gestartet haben, und wird verwendet, um allen Datenverkehr gesendet und empfangen aus der Instanz.

Du bist nicht beschränkt auf nur ein Netzwerk-interface, obwohl die Befestigung einer sekundären Netzwerk-interface ermöglicht die Verbindung Ihrer EC2-Instanz zu zwei Netzwerken auf einmal, was sehr nützlich sein kann beim Entwurf der Netzwerk-Architektur. Sie können diese verwenden, um host-load-Balancer, proxy-Servern und NAT-Servern auf einer EC2-Instanz, routing-Verkehr von einem Subnetz zu einem anderen.

ENIs haben die Sicherheit, Gruppen, genau wie die EC2-Instanzen, die als eine integrierte firewall. Sie können diese verwenden, anstatt eine Linux firewall wie iptables, zu verwalten inter-subnet-Verkehr.

Ein üblicher Fall für ENIs ist die Erstellung von management-Netzwerken. Dies ermöglicht Ihnen, öffentliche Anwendungen wie web-Server in einem öffentlichen Subnetz aber sperren SSH-Zugang nach unten, um ein eigenes Subnetz auf ein sekundäres Netzwerk-Schnittstelle. In diesem Szenario würden Sie eine Verbindung mit einem VPN die private management-Subnetz, dann Administrieren Sie Ihren Server wie gewohnt.

In diesem Diagramm, das Subnetz auf der linken Seite ist das öffentliche Subnetz, die kommuniziert mit dem internet über das Internet-Gateway für den VPC. Das Subnetz, auf der rechten Seite ist die private management-Subnetz, das nur zugegriffen werden kann, in diesem Beispiel, durch den AWS Direct Connect-gateway, welches es dem lokalen Netzwerk für die Handhabung von Authentifizierung und erweitert einfach das Netzwerk in der cloud. Sie können auch die AWS VPN-Client, die VPN-server zugreifen können, die mit dem privaten Schlüssel der Anmeldeinformationen.

ENIs sind auch Häufig verwendet als primäre Netzwerk-Schnittstellen für Docker Container gestartet auf ECS mit Fargate. Dies ermöglicht Fargate Aufgaben zu erledigen, komplexe Netzwerke, set-firewalls, die Verwendung von Sicherheitsgruppen und gestartet werden, die in privaten Subnetzen.

ENIs sind auch Häufig verwendet als primäre Netzwerk-Schnittstellen für Docker Container gestartet auf ECS mit Fargate. Dies ermöglicht Fargate Aufgaben zu erledigen, komplexe Netzwerke, set-firewalls, die Verwendung von Sicherheitsgruppen und gestartet werden, die in privaten Subnetzen.

Gemäß der AWS, ENIs haben die folgenden Attribute:

  • Eine primäre private IPv4-Adresse aus dem IPv4-Adressbereich Ihrer VPC
  • Eine oder mehrere sekundäre private IPv4-Adressen aus dem IPv4-Adressbereich Ihrer VPC
  • Eine Elastic IP-Adresse (IPv4) pro private IPv4-Adresse
  • Eine öffentliche IPv4-Adresse
  • Eine oder mehrere IPv6-Adressen
  • Eine oder mehrere Sicherheitsgruppen
  • Eine MAC-Adresse
  • Ein source/destination-check flag
  • Eine Beschreibung

ENIs sind völlig frei zu verwenden, aber Sie sind nicht befreit von den standard-AWS-Gebühren für die Datenübertragung.

Die Umsetzung Billig Failover Mit ENIs

Weil ENIs können Ihre Verbindung dynamisch zugewiesen, Sie sind allgemein verwendet zum implementieren von failover-Netzwerk-design. Wenn Sie mit einem Dienst, der braucht eine hohe Verfügbarkeit, können Sie zwei Server, einen primären server und einem standby-server. Wenn der primäre server aus irgendeinem Grund ausfällt, kann der Dienst umgestellt werden, um den standby-server.

ENIs erfüllen können, dieses Muster ganz einfach—starten Sie einfach zwei Server, erstellen Sie eine sekundäre ENI Beispiel zu verwenden, wie der Schalter, und verbinden Sie diese an den primären server, der Optional mit einer elastic IP. Wenn Sie brauchen, um zu tauschen, um die standby-Instanz, müssen Sie einfach die swap-ENI über (wenn auch manuell oder mit einem Skript).

Jedoch, ENIs sind nicht der beste Weg zu gehen über diese im AWS-ökosystem. Unterstützt AWS auto-scaling, die verwendet werden, um den gleichen Effekt erzielen, in einer kostengünstigen Art und Weise. Anstatt extra bezahlen für Redundanz, Sie würde stattdessen führen viele kleinere Server speichern, in einer auto-scaling-Flotte. Wenn eine der Instanzen nach unten geht, ist es nicht eine große Sache. Einen neuen server gesponnen werden können, schnell zu handhaben, die drop-in-Verkehr.

Beim manuellen Umschalten der ENI über die standby-Instanz ist einfach, die Automatisierung des failover-Prozess ist viel komplizierter. Sie müssen zum einrichten eines CloudWatch-alarm auf der primären Instanz ausgelöst, wenn die Instanz ausfällt (Optional senden Sie eine Nachricht in den Prozess), zu abonnieren, um eine SNS-Nachricht-Warteschlange, und der trigger eine Lambda-Funktion, die ausgeführt wird, aus der Warteschlange und verarbeiten das abnehmen und Wiederanbringen Prozess mithilfe des AWS SDK. Es ist machbar, aber wir empfehlen die Suche in der Verwendung von Route 53 DNS-failover eher als diese.

Wenn Sie wollen, um den Prozess zu automatisieren, können Sie dieser Anleitung Folgen von AWS auf, wie die Verknüpfung eines CloudWatch-alarms an die Lambda.