Skriptgesteuert unberechtigte Benutzer aus lokaler Admingruppe entfernen
20. Dezember 2018

Internetzugriff für AWS Instanzen gefällig?

Wer für seine EC2 Instanzen Internetzugriff einrichten möchte, hat bestimmt schon über die Verwendung einer NAT Lösung nachgedacht.
Wie man ein NAT Gateway oder eine NAT Instance einrichtet wird hier beschrieben:


Inhalt

Voraussetzungen
Variante 1: AWS NAT Gateway
Variante 2: Amazon Linux NAT Instanz
Unterschiede zwischen NAT-Gateway und NAT-Instanz
Linksammlung

Voraussetzungen

Zwei Subnetze müssen mindestens vorhanden sein. Eines für den WAN Traffic z.B DMZ und eines für den internen Traffic.
Vorstellen kann man sich das am Besten mit zwei LAN Kabeln (Internet und LAN), welche an einen "Router/Gateway" angeschlossen werden.


Variante 1: AWS NAT Gateway


Das NAT Gateway ist die fertige Lösung von AWS. Die Funktionsweise und Preise sind hier
https://docs.aws.amazon.com/de_de/vpc/latest/userguide/vpc-nat-gateway.html dokumentiert.
Schritt für Schritt lässt sich ein Gateway wie folgt einrichten:


Unter Services VPC aufrufen

Unter Subnets ggf. zweites Subnetz für das WAN/Public Network anlegen

Unter Routes für das erstelle Subnet die 0.0.0.0/0 zum Internet Gateway hinzufügen (igw-..)

Unter NAT Gateways -> Create NAT Gateway auswählen

Unter Subnet das erstellte Subnet auswählen

Create New EIP wählen

Create a NAT Gateway wählen

Edit Route Tables wählen

Unter dem Reiter „Routes“ -> Edit Routes wählen und die Route 0.0.0.0/0 zum Target NAT Gateway hinzufügen und „Save Routes“ klicken.

Anschließend sollten Instanzen die mit dem privaten Subnet verbunden sind, Zugriff zum Internet haben.


Variante 2: Amazon Linux NAT Instanz


Eine Alternative wäre die Installation und Konfiguration einer EC2 Instanz. Untet dem Link https://docs.aws.amazon.com/de_de/vpc/latest/userguide/VPC_NAT_Instance.html wird die Funktionsweise sehr gut erklärt. Im folgenden Videobeitrag zeige ich euch, wie eine solche Instanz erstellt werden kann:

Unterschiede zwischen NAT-Gateway und NAT-Instanz

Attribut

NAT-Gateway

NAT-Instance

Verfügbarkeit

Hochverfügbar. NAT-Gateways werden innerhalb jeder Availability Zone redundant implementiert. Erstellen Sie ein NAT-Gateway in jeder Availability Zone, um eine zonenunabhängige Architektur sicherzustellen.

Den Failover zwischen Instances können Sie mithilfe eines Skripts verwalten.

Bandbreite

Kann bis auf 45 Gbit/s skaliert werden.

Abhängig von der Bandbreite des Instance-Typs

Wartung

Von AWS verwaltet. Wartung ist nicht erforderlich.

Von Ihnen verwaltet, beispielsweise zur Installation von Softwareupdates oder Betriebssystem-Patches auf der Instance

Leistung

Software auf NAT-Datenverkehr optimiert

Generisches, für NAT konfiguriertes Amazon Linux-AMI

Kosten

Gebühren abhängig von der Anzahl der verwendeten NAT-Gateways, der Nutzungsdauer und dem über die NAT-Gateways gesendeten Datenvolumen

Gebühren abhängig von der Anzahl der verwendeten NAT-Instances, der Nutzungsdauer und dem Instance-Typ sowie der Instance-Größe

Typ und Größe

Einheitliches Angebot, keine Auswahl von Typ oder Größe

Auswahl des geeigneten Instance-Typs und der Instance-Größe anhand des erwarteten Workloads

Öffentliche IP-Adresse

Sie ordnen beim Erstellen eines NAT-Gateways eine Elastic IP-Adresse zu.

Für NAT-Instances können Sie eine Elastic IP-Adresse oder eine öffentliche IP-Adresse verwenden. Sie können die öffentliche IP-Adresse jederzeit ändern, indem Sie der Instance eine neue Elastic IP-Adresse zuordnen.

Private IP-Adressen

Die private IP-Adresse wird beim Erstellen des Gateways automatisch aus dem IP-Adressbereich des Subnetzes zugewiesen.

Weisen Sie beim Starten der Instance eine bestimmte private IP-Adresse aus dem IP-Adressbereich des Subnetzes zu.

Sicherheitsgruppen

Kann einem NAT-Gateway nicht zugeordnet werden. Sie können den Ressourcen hinter dem NAT-Gateway Sicherheitsgruppen zuordnen, um den ein- und ausgehenden Datenverkehr zu steuern.

Ordnen Sie sie NAT-Instances und den Ressourcen hinter der NAT-Instance zu, um ein- und ausgehenden Datenverkehr zu steuern.

Netzwerk-ACLs

Verwenden Sie eine Netzwerk-ACL, um den Datenverkehr zu und von dem Subnetz zu steuern, in dem sich das NAT-Gateway befindet.

Verwenden Sie eine Netzwerk-ACL, um den Datenverkehr zu und von dem Subnetz zu steuern, in dem sich die NAT-Instance befindet.

Flow-Protokolle

Verwenden Sie Flow-Protokolle, um den Datenverkehr zu erfassen.

Verwenden Sie Flow-Protokolle, um den Datenverkehr zu erfassen.

Port-Weiterleitung

Nicht unterstützt

Manuelle Anpassung der Konfiguration zur Unterstützung von Port-Weiterleitung

Bastion Hosts

Nicht unterstützt

Als Bastion Host verwenden

Datenverkehr-Metriken

Anzeigen von CloudWatch-Metriken für den NAT-Gateway.

Anzeigen von CloudWatch-Metriken für die Instance.

Timeout-Verhalten

Wenn eine Verbindung abläuft, gibt ein NAT-Gateway ein RST-Paket an die Ressourcen hinter dem NAT-Gateway zurück, um zu versuchen, die Verbindung wiederaufzunehmen (es wird kein FIN-Paket gesendet).

Wenn eine Verbindung abläuft, sendet eine NAT-Instance ein FIN-Paket an die Ressourcen hinter der NAT-Instance, um die Verbindung zu beenden.

IP-Fragmentierung

Weiterleitung von IP-fragmentierten Paketen für das UDP-Protokoll wird unterstützt.

Fragmentierung für das TCP- und ICMP-Protokoll wird nicht unterstützt. Fragmentierte Pakete werden für diese Protokolle verworfen.

Zusammenführung von IP-fragmentierten Paketen wird für das UDP-, TCP- und ICMP-Protokoll unterstützt.


Quelle: https://docs.aws.amazon.com/de_de/vpc/latest/userguide/vpc-nat-comparison.html

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.