Amazon ECS-Anwendungen mit dem Internet Connect - Amazon Elastic Container Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Amazon ECS-Anwendungen mit dem Internet Connect

Die meisten containerisierten Anwendungen haben zumindest einige Komponenten, die ausgehenden Zugriff auf das Internet benötigen. Beispielsweise erfordert das Backend für eine mobile App ausgehenden Zugriff auf Push-Benachrichtigungen.

Amazon Virtual Private Cloud bietet zwei Hauptmethoden zur Erleichterung der Kommunikation zwischen Ihrer VPC und dem Internet.

Öffentliches Subnetz und Internet-Gateway

Diagramm, das die Architektur eines öffentlichen Subnetzes zeigt, das mit einem Internet-Gateway verbunden ist.

Wenn Sie ein öffentliches Subnetz verwenden, das über eine Route zu einem Internet-Gateway verfügt, können Sie Ihre containerisierte Anwendung auf einem Host innerhalb einer VPC in einem öffentlichen Subnetz ausführen. Dem Host, auf dem Ihr Container läuft, wird eine öffentliche IP-Adresse zugewiesen. Diese öffentliche IP-Adresse kann über das Internet erreichbar sein. Weitere Informationen finden Sie unter Internet-Gateways im Amazon-VPC-Benutzerhandbuch.

Diese Netzwerkarchitektur ermöglicht die direkte Kommunikation zwischen dem Host, auf dem Ihre Anwendung ausgeführt wird, und anderen Hosts im Internet. Die Kommunikation ist bidirektional. Das bedeutet, dass Sie nicht nur eine ausgehende Verbindung zu einem anderen Host im Internet herstellen können, sondern dass auch andere Hosts im Internet versuchen können, eine Verbindung zu Ihrem Host herzustellen. Daher sollten Sie Ihre Sicherheitsgruppen- und Firewall-Regeln genau beachten. Dadurch wird sichergestellt, dass andere Hosts im Internet keine Verbindungen öffnen können, von denen Sie nicht möchten, dass sie geöffnet werden.

Wenn Ihre Anwendung beispielsweise auf Amazon läuft EC2, stellen Sie sicher, dass Port 22 für den SSH-Zugriff nicht geöffnet ist. Andernfalls könnte Ihre Instance ständig SSH-Verbindungsversuche von bösartigen Bots im Internet erhalten. Diese Bots durchsuchen öffentliche IP-Adressen. Nachdem sie einen offenen SSH-Port gefunden haben, versuchen sie, mit Brute-Force-Passwörtern auf Ihre Instance zuzugreifen. Aus diesem Grund schränken viele Unternehmen die Nutzung öffentlicher Subnetze ein und ziehen es vor, die meisten, wenn nicht sogar alle ihrer Ressourcen in privaten Subnetzen zu haben.

Die Verwendung öffentlicher Subnetze für Netzwerke eignet sich für öffentliche Anwendungen, die viel Bandbreite oder minimale Latenz erfordern. Zu den anwendbaren Anwendungsfällen gehören Videostreaming- und Spieleservices.

Dieser Netzwerkansatz wird sowohl unterstützt, wenn Sie Amazon ECS auf Amazon EC2 verwenden, als auch wenn Sie es auf Amazon verwenden AWS Fargate.

  • Amazon EC2 — Sie können EC2 Instances in einem öffentlichen Subnetz starten. Amazon ECS verwendet diese EC2 Instances als Cluster-Kapazität, und alle Container, die auf den Instances ausgeführt werden, können die zugrunde liegende öffentliche IP-Adresse des Hosts für ausgehende Netzwerke verwenden. Dies gilt sowohl für den host- als auch den bridge-Netzwerkmodus. Der awsvpc Netzwerkmodus bietet jedoch keine Aufgaben ENIs mit öffentlichen IP-Adressen. Diese können daher ein Internet-Gateway nicht direkt nutzen.

  • Fargate – Wenn Sie Ihren Amazon-ECS-Service erstellen, geben Sie öffentliche Subnetze für die Netzwerkkonfiguration Ihres Service an und verwenden Sie die Option Öffentliche IP-Adresse zuweisen. Jede Fargate-Aufgabe ist im öffentlichen Subnetz vernetzt und hat ihre eigene öffentliche IP-Adresse für die direkte Kommunikation mit dem Internet.

Privates Subnetz und NAT-Gateway

Diagramm, das die Architektur eines privaten Subnetzes zeigt, das mit einem NAT-Gateway verbunden ist.

Wenn Sie ein privates Subnetz und ein NAT-Gateway verwenden, können Sie Ihre containerisierte Anwendung auf einem Host ausführen, der sich in einem privaten Subnetz befindet. Daher hat dieser Host eine private IP-Adresse, die innerhalb Ihrer VPC weitergeleitet werden kann, aber nicht vom Internet aus. Das bedeutet, dass andere Hosts innerhalb der VPC über ihre private IP-Adresse eine Verbindung zum Host herstellen können, andere Hosts im Internet jedoch keine eingehende Kommunikation mit dem Host herstellen können.

Bei einem privaten Subnetz können Sie ein Network Address Translation (NAT)-Gateway verwenden, um einem Host in einem privaten Subnetz eine Internetverbindung zu ermöglichen. Hosts im Internet erhalten eine eingehende Verbindung, die anscheinend von der öffentlichen IP-Adresse des NAT-Gateways stammt, das sich in einem öffentlichen Subnetz befindet. Das NAT-Gateway ist dafür verantwortlich, als Brücke zwischen dem Internet und dem privaten Subnetz zu dienen. Diese Konfiguration wird häufig aus Sicherheitsgründen bevorzugt, da sie bedeutet, dass Ihre VPC vor direktem Zugriff durch Angreifer im Internet geschützt ist. Weitere Informationen finden Sie unter NAT-Gateways im Amazon-VPC-Benutzerhandbuch.

Dieser private Netzwerkansatz eignet sich für Szenarien, in denen Sie Ihre Container vor direktem externen Zugriff schützen möchten. Zu den anwendbaren Szenarien gehören Zahlungsabwicklungssysteme oder Container, in denen Benutzerdaten und Passwörter gespeichert werden. Für das Erstellen und Betreiben eines NAT-Gateways in Ihrem Konto fallen entsprechende Gebühren an. Es gelten die Stunden- und Datenverarbeitungsraten für NAT-Gateways Aus Redundanzgründen sollten Sie in jeder Availability Zone ein NAT-Gateway haben. Auf diese Weise beeinträchtigt der Verlust der Verfügbarkeit einer einzelnen Availability Zone Ihre ausgehende Konnektivität nicht. Aus diesem Grund kann es bei einem geringen Workload kostengünstiger sein, private Subnetze und NAT-Gateways zu verwenden.

Dieser Netzwerkansatz wird sowohl bei der Verwendung von Amazon ECS auf Amazon als EC2 auch bei der Verwendung auf Amazon unterstützt AWS Fargate.

  • Amazon EC2 — Sie können EC2 Instances in einem privaten Subnetz starten. Die Container, die auf diesen EC2 Hosts ausgeführt werden, verwenden das zugrunde liegende Host-Netzwerk, und ausgehende Anfragen werden über das NAT-Gateway abgewickelt.

  • Fargate – Wenn Sie Ihren Amazon-ECS-Service erstellen, geben Sie öffentliche Subnetze für die Netzwerkkonfiguration des Services an und verwenden Sie nicht die Option Öffentliche IP-Adresse zuweisen. Jede Fargate-Aufgabe wird in einem privaten Subnetz gehostet. Der ausgehende Datenverkehr wird über jedes NAT-Gateway geleitet, das Sie diesem privaten Subnetz zugeordnet haben.