Netzwerkoptionen für Amazon-ECS-Aufgaben für Fargate - Amazon Elastic Container Service

Netzwerkoptionen für Amazon-ECS-Aufgaben für Fargate

Standardmäßig wird jede Amazon-ECS-Aufgabe auf Fargate eine Elastic-Network-Schnittstelle (ENI) mit einer primären privaten IP-Adresse bereitgestellt. Wenn Sie ein öffentliches Subnetz verwenden, können Sie der ENI der Aufgabe optional eine öffentliche IP-Adresse zuweisen. Wenn Ihre VPC für den Dual-Stack-Modus konfiguriert ist und Sie ein Subnetz mit einem IPv6-CIDR-Block verwenden, erhält die ENI Ihrer Aufgabe auch eine IPv6-Adresse. Einer Aufgabe kann immer nur eine ENI auf einmal zugeordnet sein. Container, die zur selben Aufgabe gehören, können auch über die localhost-Schnittstelle kommunizieren. Weitere Informationen über VPCs und Subnetze finden Sie unter So funktioniert Amazon VPC im Amazon-VPC-Benutzerhandbuch.

Damit eine Aufgabe auf Fargate ein Container-Image abrufen kann, muss die Aufgabe eine Route zum Internet haben. Nachfolgend finden Sie Informationen darüber, wie Sie sicherstellen können, dass Ihre Aufgabe über einen Pfad zum Internet verfügt.

  • Wenn Sie ein öffentliches Subnetz verwenden, können Sie der Aufgaben-ENI eine öffentliche IP-Adresse zuweisen.

  • Bei Verwendung eines privaten Subnetzes kann ein NAT-Gateway an das Subnetz angeschlossen sein.

  • Wenn Sie Container-Images verwenden, die in Amazon ECR gehostet werden, können Sie Amazon ECR so konfigurieren, dass ein Interface-VPC-Endpunkt verwendet wird. Der Image-Pull erfolgt über die private IPv4-Adresse der Aufgabe. Weitere Informationen finden Sie unter Amazon ECR-Schnittstellen VPC-Endpunkte (AWS PrivateLink) im Amazon Elastic Container-Registry-Benutzerhandbuch.

Da jede Aufgabe ihre eigene ENI erhält, können Sie Netzwerkfeatures wie VPC Flow Logs nutzen, sodass Sie den Verkehr zu und von Ihren Aufgaben überwachen können. Weitere Informationen finden Sie unter VPC-Flow-Protokolle im Amazon-VPC-Benutzerhandbuch.

Sie können auch die Vorteile von AWS PrivateLink nutzen. Sie können einen VPC-Schnittstellenendpunkt konfigurieren, sodass Sie über private IP-Adressen auf Amazon-ECS-APIs zugreifen können. AWS PrivateLink beschränkt den gesamten Netzwerkverkehr zwischen Ihrer VPC und Amazon ECS auf das Amazon-Netzwerk. Sie benötigen kein Internet-Gateway, kein NAT-Gerät und kein Virtual Private Gateway. Weitere Informationen finden Sie unter VPC-Endpunkte der Amazon-ECS-Schnittstelle (AWS PrivateLink).

Beispiele, die zeigen, wie die NetworkConfiguration-Ressource mit CloudFormation verwendet wird, finden Sie unter CloudFormation-Beispielvorlagen für Amazon ECS.

Die erstellten ENIs werden vollständig von AWS Fargate aus verwaltet. Darüber hinaus gibt es eine zugeordnete IAM-Richtlinie, die zum Erteilen von Berechtigungen für Fargate verwendet wird. Bei Aufgaben, die die Fargate-Plattformversion 1.4.0 oder höher verwenden, empfängt die Aufgabe eine einzelne ENI (als Aufgaben-ENI bezeichnet) und der gesamte Netzwerkverkehr fließt durch diese ENI innerhalb Ihrer VPC. Dieser Netzwerkverkehr wird in Ihren VPC-Flow-Protokollen aufgezeichnet. Für Aufgaben, die die Fargate-Plattformversion 1.3.0 und älter verwenden, erhält die Aufgabe zusätzlich zu der Aufgaben-ENI auch eine separate ENI im Besitz von Fargate, die für Netzwerkverkehr verwendet wird, der in den VPC-Flow-Protokollen nicht sichtbar ist. Im der folgenden Tabelle werden das Verhalten des Netzwerkverkehrs sowie die erforderliche IAM-Richtlinie für jede Plattformversion beschrieben.

Aktion Datenverkehrsfluss mit Linux-Plattformversion 1.3.0 und älter Datenverkehrsfluss mit Linux-Plattformversion 1.4.0 Datenverkehrsfluss mit Windows-Plattformversion 1.0.0 IAM-Berechtigung
Amazon ECR-Anmeldeinformationen abrufen ENI im Besitz von Fargate Aufgaben-ENI Aufgaben-ENI IAM-Aufgabenausführungsrolle
Image abrufen Aufgaben-ENI Aufgaben-ENI Aufgaben-ENI IAM-Aufgabenausführungsrolle
Senden von Protokollen über einen Protokolltreiber Aufgaben-ENI Aufgaben-ENI Aufgaben-ENI IAM-Aufgabenausführungsrolle
Senden von Protokollen über FireLens für Amazon ECS Aufgaben-ENI Aufgaben-ENI Aufgaben-ENI IAM-Rolle für Aufgabe
Abrufen von Geheimnissen aus Secrets Manager oder Systems Manager ENI im Besitz von Fargate Aufgaben-ENI Aufgaben-ENI IAM-Aufgabenausführungsrolle
Datenverkehr des Amazon EFS-Dateisystems Nicht verfügbar Aufgaben-ENI Aufgaben-ENI IAM-Rolle für Aufgabe
Datenverkehr der Anwendung Aufgaben-ENI Aufgaben-ENI Aufgaben-ENI IAM-Rolle für Aufgabe

Überlegungen

Beachten Sie Folgendes, wenn Sie Aufgabenvernetzung verwenden.

  • Die serviceverknüpfte Rolle von Amazon ECS ist erforderlich, um Amazon ECS die Berechtigungen zum Aufrufen anderer AWS-Dienstleistungen in Ihrem Namen zu geben. Diese Rolle wird für Sie erstellt, wenn Sie einen Cluster erstellen oder wenn Sie einen Service in der AWS Management Console erstellen oder aktualisieren. Weitere Informationen finden Sie unter Verwendung von serviceverknüpften Rollen für Amazon ECS. Sie können die serviceverknüpfte Rolle auch mit dem folgenden AWS CLI-Befehl erstellen.

    aws iam create-service-linked-role --aws-service-name ecs.amazonaws.com
  • Amazon ECS füllt den Hostnamen der Aufgabe mit einem von Amazon bereitgestellten DNS-Hostnamen auf, wenn sowohl die Option enableDnsHostnames als auch die Option enableDnsSupport auf Ihrer VPC aktiviert sind. Wenn diese Optionen nicht aktiviert sind, ist der DNS-Hostname der Aufgabe ein zufälliger Hostname. Weitere Informationen zu den DNS-Einstellungen für eine ECS finden Sie unter Verwenden von DNS in Ihrer VPC im Amazon-VPC-Benutzerhandbuch.

  • Sie können für awsVpcConfiguration nur bis zu 16 Subnetze und 5 Sicherheitsgruppen angeben. Weitere Informationen finden Sie unter AwsVpcConfiguration in der Amazon Elastic Container Service-API-Referenz.

  • Sie können die von Fargate erstellten und angehängten ENIs nicht manuell trennen oder anhängen. Auf diese Weise wird ein versehentliches Löschen einer ENI, die einer aktuell ausgeführten Aufgabe zugeordnet wird, verhindert. Wenn Sie die ENIs für eine Aufgabe freigeben möchten, stoppen Sie die Aufgabe.

  • Wenn ein VPC-Subnetz aktualisiert wird, um die eingestellten DHCP-Optionen zu ändern, können Sie diese Änderungen auch nicht für vorhandene Aufgaben übernehmen, die die VPC verwenden. Starten Sie neue Aufgaben, die die neue Einstellung erhalten, damit die Migration reibungslos funktioniert. Testen Sie die neue Änderung und stoppen Sie dann die alten Aufgaben, wenn kein Rollback erforderlich ist.

  • Das Folgende gilt für Aufgaben, die auf der Fargate-Plattformversion 1.4.0 oder höher für Linux oder 1.0.0 für Windows ausgeführt werden. Aufgaben, die in Dual-Stack-Subnetzen gestartet werden, erhalten eine IPv4-Adresse und eine IPv6-Adresse. Aufgaben, die in nur-IPv6-Subnetzen gestartet werden, erhalten nur eine IPv6-Adresse.

  • Für Aufgaben, die die Plattformversion 1.4.0 oder höher für Linux oder 1.0.0 für Windows verwenden, unterstützen die Aufgaben-ENIs Jumbo-Frames. Netzwerkschnittstellen sind mit einer Maximum Transmission Unit (MTU) konfiguriert, die der Größe der größten Nutzlast entspricht, die in einen einzelnen Frame passt. Je größer die MTU ist, desto mehr Anwendungsnutzlast passt in ein einzelnes Frame, was den Overhead pro Frame reduziert und die Effizienz erhöht. Die Unterstützung von Jumbo-Frames reduziert den Overhead, wenn der Netzwerkpfad zwischen Ihrer Aufgabe und dem Ziel Jumbo-Frames unterstützt.

  • Services mit Aufgaben, die Fargate verwenden, unterstützen nur Application Load Balancer oder Network Load Balancer. Classic Load Balancer werden nicht unterstützt. Wenn Sie eine beliebige Zielgruppe für diese Services erstellen, müssen Sie ip als Zieltyp auswählen und nicht instance. Weitere Informationen finden Sie unter Verwenden von Load Balancing für die Verteilung des Service-Datenverkehrs in Amazon ECS.

Verwenden einer VPC im Dual-Stack-Modus

Wenn Sie eine VPC im Dual-Stack-Modus verwenden, können Ihre Aufgaben über IPv4, über IPv6 oder über beide kommunizieren. IPv4- und IPv6-Adressen sind voneinander unabhängig und sie müssen daher das Routing und die Sicherheit in Ihrer VPC für IPv4 und IPv6 getrennt konfigurieren. Weitere Informationen zum Konfigurieren der VPC für den Dual-Stack-Modus finden Sie unter Migrieren zu IPv6 im Amazon VPC-Benutzerhandbuch.

Bei Amazon-ECS-Aufgaben auf Fargate wird eine IPv6-Adresse zugewiesen, wenn die folgenden Bedingungen erfüllt sind:

  • Ihre Amazon-ECS-Kontoeinstellung dualStackIPv6 ist für den IAM-Prinzipal aktiviert (enabled), der Ihre Aufgaben in der Region startet, in der Sie Ihre Aufgaben starten. Diese Einstellung kann nur mit der API oder AWS CLI geändert werden. Sie haben die Möglichkeit, diese Einstellung für einen bestimmten IAM-Prinzipal in Ihrem Konto oder für Ihr gesamtes Konto zu aktivieren, indem Sie die Standardeinstellung für Ihr Konto festlegen. Weitere Informationen finden Sie unter Zugriff auf Amazon-ECS-Features über die Kontoeinstellungen.

  • Ihre VPC und Ihr Subnetz sind für IPv6 aktiviert. Weitere Informationen zum Konfigurieren der VPC für den Dual-Stack-Modus finden Sie unter Migrieren zu IPv6 im Amazon-VPC-Benutzerhandbuch.

  • Ihr Subnetz ist für die automatische Zuweisung von IPV6-Adressen aktiviert. Weitere Informationen zur Konfiguration Ihres Subnetzes finden Sie unter Ändern des IPv6-Adressierungsattributs für Ihr Subnetz im Benutzerhandbuch für Amazon VPC.

  • Die Aufgabe oder der Service verwendet die Fargate-Plattformversion 1.4.0 oder höher für Linux.

Wenn Sie Ihre VPC mit einem Internet-Gateway oder einem reinen ausgehenden Internet-Gateway konfigurieren, können auf Fargate gehostete Amazon-ECS-Aufgaben, denen eine IPv6-Adresse zugewiesen ist, auf das Internet zugreifen. NAT-Gateways werden nicht benötigt. Weitere Informationen finden Sie unter Internet-Gateways und Internet-Gateways nur für Egress im Amazon VPC-Benutzerhandbuch.

Verwenden einer VPC im Nur-IPv6-Modus

In einer Nur-IPv6-Konfiguration kommunizieren Ihre Amazon-ECS-Aufgaben ausschließlich über IPv6. Um VPCs und Subnetze für eine Nur-IPv6-Konfiguration einzurichten, müssen Sie der VPC einen IPv6-CIDR-Block hinzufügen und Subnetze erstellen, die nur einen IPv6-CIDR-Block enthalten. Weitere Informationen finden Sie unter IPv6-Unterstützung für Ihre VPC hinzufügen und Subnetz erstellen im Amazon-VPC-Benutzerhandbuch. Sie müssen auch die Routing-Tabellen mit IPv6-Zielen aktualisieren und Sicherheitsgruppen mit IPv6-Regeln konfigurieren. Weitere Informationen finden Sie unter Routing-Tabellen konfigurieren und Sicherheitsgruppenregeln konfigurieren im Amazon-VPC-Benutzerhandbuch.

Beachten Sie die folgenden Überlegungen:

  • Sie können einen Service nur für IPv4 oder einen Dual-Stack-Service von Amazon ECS auf eine Nur-IPv6-Konfiguration aktualisieren, indem Sie entweder den Service direkt aktualisieren, sodass er Nur-IPv6-Subnetze verwendet, oder indem Sie einen parallelen Nur-IPv6-Service erstellen und Amazon-ECS-Blau/Grün-Bereitstellungen verwenden, um den Datenverkehr auf den neuen Service zu verlagern. Weitere Informationen zu Amazon-ECS-Blau/Grün-Bereitstellungen finden Sie unter Amazon ECS-Blau/Grün-Bereitstellungen.

  • Ein Nur-IPv6-Service von Amazon ECS muss Dual-Stack-Load Balancer mit IPv6-Zielgruppen verwenden. Wenn Sie einen bestehenden Amazon-ECS-Service migrieren, der hinter einem Application Load Balancer oder einem Network Load Balancer steht, können Sie einen neuen Dual-Stack-Load Balancer erstellen und den Datenverkehr vom alten Load Balancer verlagern oder den IP-Adresstyp des vorhandenen Load Balancers aktualisieren.

    Weitere Informationen zu Network Load Balancers finden Sie unter Erstellen eines Network Load Balancers und Aktualisieren der IP-Adresstypen für Ihren Network Load Balancer im Benutzerhandbuch für Network Load Balancer. Weitere Informationen zu Application Load Balancers finden Sie unter Erstellen eines Application Load Balancer und Aktualisieren der IP-Adresstypen für Ihren Application Load Balancer im Benutzerhandbuch für Application Load Balancer.

  • Die Nur-IPv6-Konfiguration wird in Windows nicht unterstützt.

  • Damit Amazon-ECS-Aufgaben in einer Nur-IPv6-Konfiguration mit Nur-IPv4-Endpunkten kommunizieren, können Sie NAT64 und DNS64 für die Netzwerkadressübersetzung von IPv6 auf IPv4 einrichten. Weitere Informationen finden Sie unter DNS64 und NAT64 im Amazon VPC Benutzerhandbuch.

  • Die Nur-IPv6-Konfiguration wird auf der Fargate-Plattformversion 1.4.0 oder höher unterstützt.

  • Amazon-ECS-Workloads in einer Nur-IPv6-Konfiguration müssen beim Abrufen von Images aus Amazon ECR die Dual-Stack-Image-URI-Endpunkte von Amazon ECR verwenden. Weitere Informationen finden Sie unter Erste Schritte mit Anfragen über IPv6 im Benutzerhandbuch für Amazon Elastic Container Registry.

    Anmerkung

    Amazon ECR unterstützt keine VPC-Endpunkte mit Dual-Stack-Schnittstelle, die Aufgaben in einer Nur-IPv6-Konfiguration verwenden können. Weitere Informationen finden Sie unter Erste Schritte mit Anfragen über IPv6 im Benutzerhandbuch für Amazon Elastic Container Registry.

  • Amazon ECS Exec wird in einer Nur-IPv6-Konfiguration nicht unterstützt.

  • Amazon CloudWatch unterstützt keinen Dual-Stack-FIPS-Endpunkt, der zur Überwachung von Amazon-ECS-Aufgaben in einer Nur-IPv6-Konfiguration verwendet werden kann, die FIPS-140-Konformität verwendet. Weitere Informationen über FIPS-140 finden Sie unter AWS Fargate Bundesstandard für Informationsprozesse (FIPS-140).

AWS-Regionen, die den Nur-IPv6-Modus für Amazon ECS unterstützen

Sie können Aufgaben in einer Nur-IPv6-Konfiguration in den folgenden AWS-Regionen ausführen, in denen Amazon ECS verfügbar ist:

  • US East (Ohio)

  • USA Ost (Nord-Virginia)

  • USA West (Nordkalifornien)

  • USA West (Oregon)

  • Africa (Cape Town)

  • Asien-Pazifik (Hongkong)

  • Asien-Pazifik (Hyderabad)

  • Asien-Pazifik (Jakarta)

  • Asien-Pazifik (Melbourne)

  • Asien-Pazifik (Mumbai)

  • Asien-Pazifik (Osaka)

  • Asien-Pazifik (Seoul)

  • Asien-Pazifik (Singapur)

  • Asien-Pazifik (Sydney)

  • Asien-Pazifik (Tokio)

  • Canada (Central)

  • Kanada West (Calgary)

  • China (Peking)

  • China (Ningxia)

  • Europa (Frankfurt)

  • Europa (London)

  • Europa (Milan)

  • Europa (Paris)

  • Europa (Spain)

  • Israel (Tel Aviv)

  • Naher Osten (Bahrain)

  • Naher Osten (VAE)

  • Südamerika (São Paulo)

  • AWS GovCloud (USA-Ost)

  • AWS GovCloud (USA-West)