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

Zuweisen einer Netzwerkschnittstelle für eine Amazon ECS-Aufgabe

Die vom Netzwerkmodus bereitgestellten awsvpc Task-Netzwerkfunktionen verleihen Amazon ECS-Aufgaben dieselben Netzwerkeigenschaften wie EC2 Amazon-Instances. Die Verwendung des awsvpc Netzwerkmodus vereinfacht Container-Netzwerke, da Sie mehr Kontrolle darüber haben, wie Ihre Anwendungen miteinander und mit anderen Diensten innerhalb Ihres Netzwerks kommunizieren VPCs. Der awsvpc Netzwerkmodus bietet auch mehr Sicherheit für Ihre Container, da Sie innerhalb Ihrer Aufgaben Sicherheitsgruppen und Netzwerküberwachungstools auf einer detaillierteren Ebene verwenden können. Sie können auch andere EC2 Amazon-Netzwerkfunktionen wie VPC Flow Logs verwenden, um den Verkehr zu und von Ihren Aufgaben zu überwachen. Außerdem können Container, die zur selben Aufgabe gehören, über die Schnittstelle localhostkommunizieren.

Das Task elastic network interface (ENI) ist eine vollständig verwaltete Funktion von Amazon ECS. Amazon ECS erstellt die ENI und fügt sie der EC2 Host-Amazon-Instance mit der angegebenen Sicherheitsgruppe hinzu. Die Aufgabe sendet und empfängt Netzwerkverkehr über die ENI auf die gleiche Weise wie EC2 Amazon-Instances mit ihren primären Netzwerkschnittstellen. Jeder Aufgabe 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 Task ENI auch eine Adresse. IPv6 Jede Aufgabe kann nur eine ENI haben.

Diese ENIs sind in der EC2 Amazon-Konsole für Ihr Konto sichtbar. Ihr Konto kann das nicht trennen oder ändern. ENIs 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 Kontoeinstellungen. Amazon ECS erstellt auch eine „Trunk“ -Netzwerkschnittstelle für Ihre Container-Instance und fügt sie 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 zur awsvpcTrunking Kontoeinstellung finden Sie unterVoraussetzungen.

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

Wenn Sie dann eine Aufgabe ausführen oder einen Dienst erstellen, verwenden Sie den networkConfiguration Parameter, der ein oder mehrere Subnetze zum Platzieren Ihrer Aufgaben und eine oder mehrere Sicherheitsgruppen zum Anhängen an eine ENI enthält. Weitere Informationen finden Sie unter Netzwerkkonfiguration. Die Aufgaben werden auf kompatiblen EC2 Amazon-Instances in denselben Availability Zones wie diese Subnetze platziert, und die angegebenen Sicherheitsgruppen sind der ENI zugeordnet, die für die Aufgabe bereitgestellt wurde.

Ü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 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
  • Ihre Amazon EC2 Linux-Instance benötigt Version 1.15.0 oder höher des Container-Agents, um Aufgaben auszuführen, die den awsvpc Netzwerkmodus verwenden. Wenn Sie das Amazon-ECS-optimierte AMI verwenden, benötigt Ihre Instance mindestens Version 1.15.0-4 des ecs-init-Pakets.

  • 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 awsvpc Netzwerkmodus verwendet, erhält ihr eigenes elastic network interface (ENI), das an die EC2 Amazon-Instance angehängt ist, 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. Beispielsweise kann eine c5.large Instance standardmäßig nur über bis zu drei verfügen ENIs , die an sie angehängt werden können. Die primäre Netzwerkschnittstelle für die Instance zählt dazu. Sie können der Instanz zwei weitere ENIs hinzufügen. 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 zu den standardmäßigen ENI-Grenzwerten für jeden Instance-Typ finden Sie unter IP-Adressen pro Netzwerkschnittstelle pro Instance-Typ im EC2 Amazon-Benutzerhandbuch.

  • Amazon ECS unterstützt die Einführung von Amazon EC2 Linux-Instances, die unterstützte Instance-Typen mit erhöhter ENI-Dichte verwenden. Wenn Sie sich für die awsvpcTrunking Kontoeinstellungen entscheiden und Amazon EC2 Linux-Instances, die diese Instance-Typen verwenden, 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 jeder Amazon EC2 Linux-Instance mehr Aufgaben zuweisen. Um die erhöhte ENI-Dichte mit der Trunking-Funktion nutzen zu können, muss Ihre EC2 Amazon-Instance Version 1.28.1 oder höher des Container-Agents verwenden. Wenn Sie das Amazon-ECS-optimierte AMI verwenden, benötigt Ihre Instance mindestens Version 1.28.1-2 des ecs-init-Pakets. Weitere Informationen zum Aktivieren der awsvpcTrunking-Kontoeinstellung finden Sie unter Greifen Sie mit den Kontoeinstellungen auf ECS Amazon-Funktionen zu. Weitere Informationen zum ENI-Trunking finden Sie unter Zunehmende Netzwerkschnittstellen für Amazon ECS Linux-Container-Instances.

  • Wenn Sie Aufgaben hosten, die den awsvpc Netzwerkmodus auf Amazon EC2 Linux-Instances verwenden, erhält Ihre Aufgabe 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 Amazon VPC-Benutzerhandbuch. 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 diejenigen ENIs , die es an Ihre Amazon EC2 Linux-Instances anhängt. Wenn Sie Ihre Instances manuell ENIs angehängt haben, versucht Amazon ECS möglicherweise, einer Instance, die nicht über genügend Netzwerkadapter verfügt, eine Aufgabe hinzuzufügen. 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, dass Sie eine Verbindung ENIs zu Ihren Instances nicht manuell herstellen.

  • Amazon EC2 Linux-Instances müssen mit der ecs.capability.task-eni Fähigkeit registriert sein, um für die Vergabe von Aufgaben im awsvpc Netzwerkmodus in Betracht gezogen 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 erstellten und an Ihre Amazon EC2 Linux-Instances angehängten Instances können nicht manuell getrennt oder von Ihrem Konto geändert werden. Auf diese Weise wird ein versehentliches Löschen einer ENI, die einer aktuell ausgeführten Aufgabe zugeordnet wird, verhindert. Um das ENIs für eine Aufgabe freizugeben, beenden 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 konfiguriert es den Netzwerk-Namespace des pause Containers, indem es die amazon-ecs-cni-plugins CNI-Plugins ausführt. 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 awsvpc Netzwerkmodus verwenden, einer ENI und nicht einer Amazon EC2 Linux-Instance zugeordnet sind. Weitere Informationen finden Sie unter Verwenden Sie Load Balancing, um den Amazon ECS-Serviceverkehr zu verteilen.

  • 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 für Amazon ECS optimiertes Windows Server 2016 AMIs und Windows enthält, AMIs das den awsvpc Netzwerkmodus unterstützt, werden Aufgaben, die den awsvpc Netzwerkmodus verwenden, 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 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
  • Ihre Amazon EC2 Windows-Instance benötigt Version 1.54.0 oder höher des Container-Agenten, um Aufgaben ausführen zu können, 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 Amazon ECS-Windows-Container-Instances zur Datenübergabe.

  • 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 awsvpc Netzwerkmodus verwendet, erhält ihr eigenes elastic network interface (ENI), das an die Amazon EC2 Windows-Instance angehängt ist, 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. Beispielsweise können einer c5.large Instance standardmäßig nur bis zu drei ENIs zugeordnet sein. Die primäre Netzwerkschnittstelle für die Instance zählt dazu. Sie können der Instanz zwei weitere ENIs hinzufügen. 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 zu den standardmäßigen ENI-Grenzwerten für jeden Instance-Typ finden Sie unter IP-Adressen pro Netzwerkschnittstelle pro Instance-Typ im EC2 Amazon-Benutzerhandbuch.

  • Wenn Sie Aufgaben hosten, die den awsvpc Netzwerkmodus auf Amazon EC2 Windows-Instances verwenden, erhält Ihre Aufgabe 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 Amazon VPC-Benutzerhandbuch. 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 ENIs das, was es an Ihre Amazon EC2 Windows-Instance angehängt hat. Wenn Sie Ihre Instances manuell ENIs angehängt haben, versucht Amazon ECS möglicherweise, einer Instance, die nicht über genügend Netzwerkadapter verfügt, eine Aufgabe hinzuzufügen. 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, dass Sie eine Verbindung ENIs zu Ihren Instances nicht manuell herstellen.

  • Amazon EC2 Windows-Instances müssen mit der ecs.capability.task-eni Fähigkeit registriert sein, für die Vergabe von Aufgaben im awsvpc Netzwerkmodus in Betracht gezogen zu werden.

  • Sie können die erstellten und an Ihre Amazon EC2 Windows-Instances angehängten Dateien nicht manuell ändern oder trennen ENIs . Auf diese Weise wird ein versehentliches Löschen einer ENI, die der aktuell ausgeführten Aufgabe zugeordnet wird, verhindert. Um das ENIs für eine Aufgabe freizugeben, beenden 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 konfiguriert es den Netzwerk-Namespace des pause Containers, indem es die amazon-ecs-cni-plugins CNI-Plugins ausführt. 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 awsvpc Netzwerkmodus verwenden, einer ENI und nicht einer Amazon EC2 Windows-Instance zugeordnet sind. Weitere Informationen finden Sie unter Verwenden Sie Load Balancing, um den Amazon ECS-Serviceverkehr zu verteilen.

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

  • Folgendes wird nicht unterstützt, wenn Sie den awsvpc Netzwerkmodus 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 oder oder beides IPv6 kommunizieren. IPv4 und IPv6 Adressen sind unabhängig voneinander. Daher müssen Sie Routing und Sicherheit in Ihrer VPC separat für IPv4 und IPv6 konfigurieren. Weitere Informationen zur Konfiguration Ihrer VPC für den Dual-Stack-Modus finden Sie unter Migration 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. Auf diese Weise können Aufgaben, denen eine IPv6 Adresse zugewiesen wurde, über ein Internet-Gateway oder ein Internet-Gateway für ausgehenden Datenverkehr auf das Internet zugreifen. NAT-Gateways sind optional. Weitere Informationen finden Sie unter Internet-Gateways und Internet-Gateways nur für Egress im Amazon VPC-Benutzerhandbuch.

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