Fargate-Aufgabenvernetzung - Amazon ECS

Fargate-Aufgabenvernetzung

Wichtig

Wenn Sie Amazon-ECS-Aufgaben verwenden, die auf Amazon-EC2-Instances gehostet werden, finden Sie unter Aufgabenvernetzung im Amazon Elastic Container Service-Entwicklerhandbuch weitere Netzwerkinformationen, die für Ihre Instances relevant sind.

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 aktiviert 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 VPC und Subnetze 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 Netzwerkfunktionen 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 AWS PrivateLink im Leitfaden zu bewährten Methoden 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.

Action

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 zur Vernetzung von Fargate-Aufgaben

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 Serviceverknüpfte Rolle 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.

  • Aufgaben, die in Subnetzen mit IPv6-CIDR-Blöcken gestartet werden, erhalten nur eine IPv6-Adresse, wenn Fargate-Plattformversion 1.4.0 oder höher für Linux oder 1.0.0 für Windows verwendet wird.

  • 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 den Fargate-Starttyp 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 Service-Load Balancing.

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 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.

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

  • Die Kontoeinstellung dualStackIPv6 ist aktiviert. Weitere Informationen finden Sie unter Kontoeinstellungen.

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.