View a markdown version of this page

Eine Netzwerkschnittstelle für eine Amazon-ECS-Aufgabe zuweisen - 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.

Eine Netzwerkschnittstelle für eine Amazon-ECS-Aufgabe zuweisen

Die Aufgabenvernetzungsfeatures, die durch den Netzwerkmodus awsvpc bereitgestellt werden, geben Amazon-ECS-Aufgaben dieselben Netzwerkeigenschaften wie Amazon-EC2-Instances. Der Netzwerkmodus awsvpc vereinfacht das Containernetzwerk, da Sie mehr Kontrolle darüber haben, wie Ihre Anwendungen miteinander und mit anderen Services in Ihren VPCs kommunizieren. Der Netzwerkmodus awsvpc bietet außerdem mehr Sicherheit für Ihre Container, da Sie Sicherheitsgruppen und Netzwerküberwachungstools auf einer feineren Ebene in Ihren Aufgaben verwenden können. Sie können auch andere Amazon-EC2-Netzwerk-Features wie VPC Flow Logs nutzen, damit Sie den Verkehr zu und von Ihren Aufgaben überwachen können. Außerdem können Container, die zur selben Aufgabe gehören, über die Schnittstelle localhostkommunizieren.

Die Aufgaben-Elastic-Network-Schnittstelle (ENI) ist ein vollständig verwaltetes Feature von Amazon ECS. Amazon ECS erstellt die ENI und hängt sie an die Amazon EC2 Host-Instance mit der angegebenen Sicherheitsgruppe an. Die Aufgabe sendet und empfängt Netzwerkverkehr über die ENI auf dieselbe Weise wie Amazon-EC2-Instances mit ihren primären Netzwerkschnittstellen. Jeder Aufgaben-ENI wird standardmäßig eine private IPv4-Adresse zugewiesen. Wenn Ihre VPC für den Dual-Stack-Modus aktiviert ist und Sie ein Subnetz mit einem IPv6-CIDR-Block verwenden, erhält die Aufgaben-ENI auch eine IPv6-Adresse. Jede Aufgabe kann nur eine ENI haben.

Diese ENIs sind in der Amazon-EC2-Konsole für Ihr Konto sichtbar. Ihr Konto kann die ENIs nicht trennen oder ändern. Auf diese Weise wird ein versehentliches Löschen einer ENI, die der aktuell ausgeführten Aufgabe zugeordnet wird, verhindert. Sie können die ENI-Anhangsinformationen für Aufgaben in der Amazon ECS-Konsole oder bei der DescribeTasksAPI-Operation anzeigen. Wenn die Aufgabe angehalten oder der Service herunterskaliert wird, wird die Aufgaben-ENI getrennt und gelöscht.

Wenn Sie eine höhere ENI-Dichte benötigen, verwenden Sie die awsvpcTrunking-Kontoeinstellung. Amazon ECS erstellt und fügt auch eine „Trunk“-Netzwerkschnittstelle für Ihre Container-Instance an. Das Stamm-Netzwerk wird vollständig von Amazon ECS verwaltet. Die Stamm-ENI wird gelöscht, wenn Sie Ihre Container-Instance beenden oder die Registrierung auf dem Amazon-ECS-Cluster aufheben. Weitere Informationen über die awsvpcTrunking-Kontoeinstellung finden Sie unter Voraussetzungen.

Sie geben awsvpc im networkMode-Parameter der Aufgabendefinition an. Weitere Informationen finden Sie unter Netzwerkmodus.

Wenn Sie dann eine Aufgabe ausführen oder einen Service erstellen, verwenden Sie den networkConfiguration-Parameter, der ein oder mehrere Subnetze enthält, in die Sie Ihre Aufgaben einfügen möchten, und eine oder mehrere Sicherheitsgruppen, die an eine ENI angehängt werden sollen. Weitere Informationen finden Sie unter Netzwerkkonfiguration. Die Aufgaben werden auf vereinbaren Amazon-EC2-Instances in denselben Availability Zones wie solche Subnetze platziert und die angegebenen Sicherheitsgruppen werden der ENI zugeordnet, die für die Aufgabe bereitgestellt wird.

Überlegungen zu Linux

Beachten Sie Folgendes, wenn Sie das Linux-Betriebssystem verwenden.

  • Wenn Sie eine p5.48xlarge-Instance im awsvpc-Modus verwenden, können Sie nicht mehr als eine Aufgabe auf der Instance ausführen.

  • Für Aufgaben und Dienste, die den awsvpc Netzwerkmodus verwenden, ist die mit dem Service verknüpfte Amazon ECS-Rolle erforderlich, um Amazon ECS die Berechtigungen zu erteilen, in Ihrem Namen Anrufe an andere AWS Dienste zu tätigen. Diese Rolle wird automatisch für Sie erstellt, wenn Sie einen Cluster erstellen oder wenn Sie einen Service in der AWS-Managementkonsole 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
  • Für Ihre Amazon EC2 Linux-Instance ist eine Version 1.15.0 oder höher des Container-Agents erforderlich, um Tasks auszuführen, die den awsvpcNetzwerkmodus verwenden. Wenn Sie ein Amazon ECS-optimized AMI verwenden, benötigt Ihre Instance auch mindestens eine Version 1.15.0-4 des ecs-init Pakets.

  • Amazon ECS füllt den Hostnamen der Aufgabe mit einem Amazon-provided (internen) DNS-Hostnamen auf, wenn enableDnsHostnames sowohl die enableDnsSupport Optionen als auch 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.

  • Jede Amazon-ECS-Aufgabe, die den Netzwerkmodus awsvpc verwendet, erhält eine eigene Elastic-Network-Schnittstelle (ENI), die an die Amazon-EC2-Instance angehängt wird, die sie hostet. Es gibt ein Standardkontingent für die Anzahl der Netzwerkschnittstellen, die an eine Amazon-EC2-Linux-Instance angehängt werden können. Dabei zählt die primäre Netzwerkschnittstelle als eine Einheit. Beispiel: Standardmäßig können an eine c5.large-Instance nur bis zu drei ENIs angehängt werden. Die primäre Netzwerkschnittstelle für die Instance zählt dazu. Sie können zwei zusätzliche ENIs zu der Instance anhängen. Da jede Aufgabe, die den Netzwerkmodus awsvpc verwendet, eine ENI benötigt, können Sie nur zwei solcher Aufgaben auf diesem Instance-Typ ausführen. Weitere Informationen über die Standard-ENI-Limits für die einzelnen Instance-Typen finden Sie unter IP-Adressen pro Netzwerkschnittstelle pro Instance-Typ im Amazon-EC2-Benutzerhandbuch.

  • Amazon ECS unterstützt das Starten von Amazon-EC2-Linux-Instances mit unterstützten Instance-Typen mit erhöhter ENI-Dichte. Wenn Sie sich bei der awsvpcTrunking-Kontoeinstellung anmelden und Amazon EC2 Linux-Instances mit diesen Instance-Typen in Ihrem Cluster registrieren, haben diese Instances ein höheres ENI-Kontingent. Wenn Sie diese Instances mit diesem höheren Kontingent verwenden, können Sie mehr Aufgaben auf jeder Amazon-EC2-Linux-Instance platzieren. Um die erhöhte ENI-Dichte mit dem Trunking-Feature zu nutzen, benötigen Ihre Amazon EC2-Instances mindestens Version 1.28.1 des Container-Agenten. Wenn Sie ein Amazon ECS-optimized AMI verwenden, benötigt Ihre Instance außerdem mindestens eine Version 1.28.1-2 des ecs-init Pakets. Weitere Informationen zum Aktivieren der awsvpcTrunking-Kontoeinstellung finden Sie unter Zugriff auf Amazon-ECS-Features über die Kontoeinstellungen. Weitere Informationen zum ENI-Trunking finden Sie unter Erhöhung der Netzwerkschnittstellen für Linux-Container-Instances von Amazon ECS.

  • Beim Hosten von Aufgaben, die den awsvpc-Netzwerkmodus auf Amazon EC2 Linux-Instances verwenden, erhalten Ihre Aufgaben-ENIs keine öffentlichen IP-Adressen. Um auf das Internet zuzugreifen, müssen Aufgaben in einem privaten Subnetz gestartet werden, das für die Verwendung eines NAT-Gateways konfiguriert ist. Weitere Informationen finden Sie unter NAT-Gateways im Benutzerhandbuch für Amazon VPC. Der eingehende Netzwerkzugriff muss innerhalb einer VPC mithilfe der privaten IP-Adresse oder über einen Load Balancer innerhalb der VPC weitergeleitet werden. Aufgaben, die in öffentlichen Subnetzen gestartet werden, haben keinen Zugriff auf das Internet.

  • Amazon ECS erkennt nur die ENIs, die an Ihre Amazon-EC2-Linux-Instances angehängt wurden. Wenn Sie ENIs manuell an Ihre Instances angefügt haben, könnte Amazon ECS versuchen, eine Aufgabe einer Instance hinzuzufügen, die nicht über genügend Netzwerkadapter verfügt. Das kann zu einem Timout bei der Aufgabe führen, sodass diese in den Status der Aufhebung der Bereitstellung übergeht und dann gestoppt wird. Wir empfehlen Ihnen, keine ENIs manuell an Ihre Instances anzufügen.

  • Amazon EC2 Linux-Instances müssen mit der ecs.capability.task-eni-Fähigkeit registriert werden, um für die Platzierung von Aufgaben im Netzwerkmodus awsvpc berücksichtigt zu werden. Instances, die Version 1.15.0-4 oder höher von ecs-init ausführen, werden automatisch mit diesem Attribut registriert.

  • Die ENIs, die an Ihre Amazon EC2 Linux-Instances angefügt wurden und auch damit erstellt wurden, können nicht manuell getrennt oder über Ihr Konto geändert werden. 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.

  • Es gilt eine Beschränkung von 16 Subnetzen und 5 Sicherheitsgruppen, die in awsVpcConfiguration angegeben werden können, wenn eine Aufgabe ausgeführt oder ein Service erstellt wird, der den awsvpc-Netzwerkmodus verwendet. Weitere Informationen finden Sie AwsVpcConfigurationin der Amazon Elastic Container Service API-Referenz.

  • Wenn eine Aufgabe mit dem Netzwerkmodus awsvpc gestartet wird, erstellt der Amazon-ECS-Containeragent einen zusätzlichen pause-Container für jede Aufgabe, bevor er die Container in der Aufgabendefinition startet. Anschließend wird der Netzwerk-Namespace des pause-Containers konfiguriert, indem die CNI-Plug-ins amazon-ecs-cni-plugins ausgeführt werden. Dann startet der Agent die restlichen Container in der Aufgabe, sodass sie den Netzwerk-Stack des pause-Containers gemeinsam verwenden. Das bedeutet, dass alle Container in der Aufgabe über IP-Adressen der Elastic-Network-Schnittstelle angesprochen werden und miteinander über die localhost-Schnittstelle kommunizieren können.

  • Services mit Aufgaben, die denawsvpc-Netzwerkmodus verwenden, unterstützen nur Application Load Balancer und Network Load Balancer. Wenn Sie eine beliebige Zielgruppe für diese Services erstellen, müssen Sie zudem ip als Zieltyp auswählen. Verwenden Sie nicht instance. Dies liegt daran, dass Aufgaben, die den Netzwerkmodus awsvpc verwenden, einer ENI zugeordnet sind, nicht einer Amazon EC2 Linux-Instance. Weitere Informationen finden Sie unter Verwenden von Load Balancing für die Verteilung des Service-Datenverkehrs in Amazon ECS.

  • Wenn Ihre VPC aktualisiert wird, um die eingestellten DHCP-Optionen zu ändern, können Sie diese Änderungen nicht für vorhandene Aufgaben übernehmen. Starten Sie neue Aufgaben, für die diese Änderungen übernommen wurden. Überprüfen Sie, ob sie ordnungsgemäß funktionieren, und beenden Sie dann die vorhandenen Aufgaben, um diese Netzwerkkonfigurationen sicher zu ändern.

Überlegungen zu Windows

Beachten Sie Folgendes, wenn Sie das Windows-Betriebssystem verwenden:

  • Container-Instances, die das für Amazon ECS optimierte Windows Server 2016-AMI verwenden, können keine Aufgaben hosten, die den Netzwerkmodus awsvpc verwenden. Wenn Sie über einen Cluster verfügen, der Amazon-ECS-optimierte Windows Server 2016-AMIs und Windows-AMIs enthält, die den awsvpc-Netzwerkmodus unterstützen, werden Aufgaben, die den awsvpc-Netzwerkmodus verwenden werden nicht auf den Windows 2016 Server-Instances gestartet. Vielmehr werden sie auf Instances gestartet, die den awsvpc-Netzwerkmodus unterstützen.

  • Ihre Amazon EC2 Windows-Instance benötigt Version 1.57.1 oder höher des Container-Agenten, um CloudWatch Metriken für Windows-Container zu verwenden, die den awsvpc Netzwerkmodus verwenden.

  • Für Aufgaben und Dienste, die den awsvpc Netzwerkmodus verwenden, ist die mit dem Service verknüpfte Amazon ECS-Rolle erforderlich, um Amazon ECS die Berechtigungen zu erteilen, in Ihrem Namen Anrufe an andere AWS Dienste zu tätigen. Diese Rolle wird automatisch für Sie erstellt, wenn Sie einen Cluster erstellen oder wenn Sie einen Service in AWS-Managementkonsole 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
  • Für Ihre Amazon EC2 Windows-Instance ist eine Version 1.54.0 des Container-Agents oder höher erforderlich, um Tasks auszuführen, die den awsvpc-Netzwerkmodus verwenden. Wenn Sie auf der Instance ein Bootstrap ausführen, müssen Sie die Optionen konfigurieren, die für den awsvpc-Netzwerkmodus erforderlich sind. Weitere Informationen finden Sie unter Bootstrapping von Windows-Container-Instances von Amazon ECS zur Weitergabe von Daten.

  • Amazon ECS füllt den Hostnamen der Aufgabe mit einem von Amazon bereitgestellten (internen) 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.

  • Jede Amazon-ECS-Aufgabe, die den Netzwerkmodus awsvpc verwendet, erhält eine eigene Elastic-Network-Schnittstelle (ENI), die an die Amazon-EC2-Windows-Instance angehängt wird, die sie hostet. Es gibt ein Standardkontingent für die Anzahl der Netzwerkschnittstellen, die an eine Amazon-EC2-Windows-Instance angehängt werden können. Dabei zählt die primäre Netzwerkschnittstelle als eine Einheit. Beispiel: Standardmäßig können an eine c5.large-Instance nur bis zu drei ENIs angehängt werden. Die primäre Netzwerkschnittstelle für die Instance zählt dazu. Sie können zwei zusätzliche ENIs zu der Instance anhängen. Da jede Aufgabe, die den Netzwerkmodus awsvpc verwendet, eine ENI benötigt, können Sie nur zwei solcher Aufgaben auf diesem Instance-Typ ausführen. Weitere Informationen über die Standard-ENI-Limits für die einzelnen Instance-Typen finden Sie unter IP-Adressen pro Netzwerkschnittstelle pro Instance-Typ im Amazon-EC2-Benutzerhandbuch.

  • Beim Hosten von Aufgaben, die den awsvpc-Netzwerkmodus auf Amazon EC2 Windows-Instances verwenden, erhalten Ihre Aufgaben-ENIs keine öffentlichen IP-Adressen. Um auf das Internet zuzugreifen, starten Sie Aufgaben in einem privaten Subnetz, das für die Verwendung eines NAT-Gateways konfiguriert ist. Weitere Informationen finden Sie unter NAT-Gateways im Benutzerhandbuch für Amazon VPC. Der eingehende Netzwerkzugriff muss innerhalb der VPC mithilfe der privaten IP-Adresse oder über einen Load Balancer innerhalb der VPC weitergeleitet werden. Aufgaben, die in öffentlichen Subnetzen gestartet werden, haben keinen Zugriff auf das Internet.

  • Amazon ECS erkennt nur die ENIs, die an Ihre Amazon EC2 Windows-Instances angehängt wurden. Wenn Sie ENIs manuell an Ihre Instances angefügt haben, könnte Amazon ECS versuchen, eine Aufgabe einer Instance hinzuzufügen, die nicht über genügend Netzwerkadapter verfügt. Das kann zu einem Timout bei der Aufgabe führen, sodass diese in den Status der Aufhebung der Bereitstellung übergeht und dann gestoppt wird. Wir empfehlen Ihnen, keine ENIs manuell an Ihre Instances anzufügen.

  • Amazon EC2-Windows-Instances müssen mit der ecs.capability.task-eni-Fähigkeit registriert werden, um für die Platzierung von Aufgaben im Netzwerkmodus awsvpc berücksichtigt zu werden.

  • Sie können ENIs, die an Ihre Amazon EC2-Windows-Instances angefügt wurden und auch damit erstellt wurden, nicht manuell trennen oder ändern. Auf diese Weise wird ein versehentliches Löschen einer ENI, die der aktuell ausgeführten Aufgabe zugeordnet wird, verhindert. Wenn Sie die ENIs für eine Aufgabe freigeben möchten, stoppen Sie die Aufgabe.

  • Sie können nur bis zu 16 Subnetze und 5 Sicherheitsgruppen in awsVpcConfiguration angeben, wenn Sie Aufgaben ausführen oder Services erstellen, die den awsvpc-Netzwerkmodus verwenden. Weitere Informationen finden Sie AwsVpcConfigurationin der Amazon Elastic Container Service API-Referenz.

  • Wenn eine Aufgabe mit dem Netzwerkmodus awsvpc gestartet wird, erstellt der Amazon-ECS-Containeragent einen zusätzlichen pause-Container für jede Aufgabe, bevor er die Container in der Aufgabendefinition startet. Anschließend wird der Netzwerk-Namespace des pause-Containers konfiguriert, indem die CNI-Plug-ins amazon-ecs-cni-plugins ausgeführt werden. Dann startet der Agent die restlichen Container in der Aufgabe, sodass sie den Netzwerk-Stack des pause-Containers gemeinsam verwenden. Das bedeutet, dass alle Container in der Aufgabe über IP-Adressen der Elastic-Network-Schnittstelle angesprochen werden und miteinander über die localhost-Schnittstelle kommunizieren können.

  • Services mit Aufgaben, die denawsvpc-Netzwerkmodus verwenden, unterstützen nur Application Load Balancer und Network Load Balancer. Wenn Sie eine beliebige Zielgruppe für diese Services erstellen, müssen Sie ip als Zieltyp auswählen, und nicht instance. Dies liegt daran, dass Aufgaben, die den Netzwerkmodus awsvpc verwenden, einer ENI zugeordnet sind, nicht einer Amazon EC2 Windows-Instance. Weitere Informationen finden Sie unter Verwenden von Load Balancing für die Verteilung des Service-Datenverkehrs in Amazon ECS.

  • Wenn Ihre VPC aktualisiert wird, um die eingestellten DHCP-Optionen zu ändern, können Sie diese Änderungen nicht für vorhandene Aufgaben übernehmen. Starten Sie neue Aufgaben, für die diese Änderungen übernommen wurden. Überprüfen Sie, ob sie ordnungsgemäß funktionieren, und beenden Sie dann die vorhandenen Aufgaben, um diese Netzwerkkonfigurationen sicher zu ändern.

  • Die folgenden Punkte werden nicht unterstützt, wenn Sie den Netzwerkmodus awsvpc in einer EC2-Windows-Konfiguration verwenden:

    • Dual-stack Konfiguration

    • IPv6

    • ENI Trunking

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. Daher müssen Sie 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.

Wenn Sie Ihre Virtual Private Cloud (VPC) mit einem Internet-Gateway oder einem reinen Outbound-Internet-Gateway konfiguriert haben, können Sie Ihre VPC im Dual-Stack-Modus verwenden. So können Aufgaben, denen eine IPv6-Adresse zugewiesen ist, über ein Internet-Gateway oder ein reines Internet-Gateway auf das Internet zugreifen. NAT-Gateways sind optional. Weitere Informationen finden Sie unter Internet-Gateways und Egress-onlyInternet-Gateways im Amazon VPC-Benutzerhandbuch.

Amazon-ECS-Aufgaben werden eine IPv6-Adresse zugewiesen, wenn die folgenden Bedingungen erfüllt sind: