Zunehmende Netzwerkschnittstellen für Amazon ECS Linux-Container-Instances - 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.

Zunehmende Netzwerkschnittstellen für Amazon ECS Linux-Container-Instances

Anmerkung

Dieses Feature ist nicht auf Fargate verfügbar.

Jede Aufgabe, die den awsvpc Netzwerkmodus verwendet, erhält ihre eigene elastic network interface (ENI), die an die Container-Instance angehängt ist, die sie hostet. Es gibt ein Standardlimit für die Anzahl der Netzwerkschnittstellen, die an eine EC2 Amazon-Instance angehängt werden können, und die primäre Netzwerkschnittstelle zählt als eine. Beispielsweise können einer c5.large Instance standardmäßig bis zu drei ENIs zugeordnet sein. Die primäre Netzwerkschnittstelle für die Instance zählt als eine, sodass Sie der Instance zwei ENIs weitere hinzufügen können. Weil jede Aufgabe, die den awsvpc Netzwerkmodus verwendet, eine ENI, können Sie in der Regel nur zwei solcher Aufgaben auf diesem Instanztyp ausführen.

Amazon ECS unterstützt das Starten von Container-Instances mit mehr ENI Dichte unter Verwendung unterstützter EC2 Amazon-Instance-Typen. Wenn Sie diese Instance-Typen verwenden und die awsvpcTrunking Kontoeinstellungen aktivieren, ENIs sind weitere für neu gestartete Container-Instances verfügbar. Diese Konfiguration gibt Ihnen die Möglichkeit, mehrere Aufgaben auf den einzelnen Container-Instances zu platzieren. Informationen zum Aktivieren der Funktion mithilfe der Konsole finden Sie unterAmazon ECS-Kontoeinstellungen ändern. Informationen AWS CLI zum Aktivieren der Funktion finden Sie unterVerwaltung der Amazon ECS-Kontoeinstellungen mit dem AWS CLI.

Beispiel: Eine c5.large Instanz mit awsvpcTrunking hat einen erhöhten ENI Limit von zwölf. Die Container-Instance verfügt über die primäre Netzwerkschnittstelle und Amazon ECS erstellt und fügt eine "Stamm"-Netzwerkschnittstelle an die Container-Instance an. Mit dieser Konfiguration können Sie also zehn Aufgaben anstelle der aktuellen zwei Aufgaben auf der Container-Instance starten.

Die Stamm-Netzwerkschnittstelle wird vollständig von Amazon ECS verwaltet. Sie wird gelöscht, wenn Sie Ihre Container-Instance beenden oder die Registrierung auf dem Cluster aufheben. Weitere Informationen finden Sie unter Netzwerkoptionen für Amazon ECS-Aufgaben für den EC2 Starttyp.

Überlegungen

Beachten Sie Folgendes bei der Verwendung von ENI Trunking-Funktion.

  • Nur Linux-Varianten des Amazon ECS-optimierten AMI oder andere Amazon Linux-Varianten mit Version 1.28.1 oder höher des Container-Agents und Version 1.28.1-2 oder höher des ecs-init-Pakets unterstützen die erhöhte ENI Grenzen. Wenn Sie die neueste Linux-Variante des Amazon-ECS-optimierten AMI verwenden, sind diese Anforderungen erfüllt. Windows-Container werden derzeit nicht unterstützt.

  • Nur neue EC2 Amazon-Instances, die nach der Aktivierung gestartet wurden, awsvpcTrunking erhalten die erhöhten ENI Grenzwerte und die Trunk-Netzwerkschnittstelle. Zuvor gestarteten Instances erhalten keine dieser Features, unabhängig von den durchgeführten Aktionen.

  • Amazon EC2 Amazon-Instances müssen ressourcenbasierte IPv4 DNS-Anfragen deaktiviert sein. Um diese Option zu deaktivieren, deaktivieren Sie die Option Ressourcenbasierte DNS-Anfragen IPV4 (A-Datensatz) aktivieren, wenn Sie eine neue Instance in der EC2 Amazon-Konsole erstellen. Verwenden Sie den folgenden Befehl AWS CLI, um diese Option mit dem zu deaktivieren.

    aws ec2 modify-private-dns-name-options --instance-id i-xxxxxxx --no-enable-resource-name-dns-a-record --no-dry-run
  • EC2 Amazon-Instances in gemeinsam genutzten Subnetzen werden nicht unterstützt. Sie können sich nicht bei einem Cluster registrieren, wenn sie verwendet werden.

  • Ihre Aufgaben müssen den awsvpc Netzwerkmodus und den EC2 Starttyp verwenden. Aufgaben, die den Starttyp Fargate verwenden, erhielten immer einen eigenen ENI unabhängig davon, wie viele gestartet werden, wird diese Funktion also nicht benötigt.

  • Ihre Aufgaben müssen in derselben Amazon VPC wie Ihre Container-Instance gestartet werden. Beim Starten Ihrer Aufgaben kommt es zu einem Attributfehler, wenn sich die Aufgaben nicht in derselben VPC befinden.

  • Beim Starten einer neuen Container-Instance wechselt die Instance in den Status REGISTERING und die Stamm-ENI wird für die Instance bereitgestellt. Wenn die Registrierung fehlschlägt, wechselt die Instance in den Status REGISTRATION_FAILED. Sie können Probleme bei einer fehlgeschlagenen Registrierung beheben, indem Sie die Container-Instance beschreiben, um das Feld statusReason einzusehen, welches den Grund für den Fehler beschreibt. Die Container-Instance kann dann manuell abgemeldet oder beendet werden. Sobald die Container-Instance erfolgreich abgemeldet oder beendet wurde, löscht Amazon ECS den Trunk ENI.

    Anmerkung

    Amazon ECS sendet Statusänderungsereignisse für Container-Instances aus, die Sie für Instances überwachen können, die zu einem REGISTRATION_FAILED-Zustand übergehen. Weitere Informationen finden Sie unter Ereignisse zur Änderung des Status der Amazon ECS-Container-Instance.

  • Sobald die Container-Instance beendet wird, wechselt die Instance in den Status DEREGISTERING und die Bereitstellung der Stamm-ENI wird aufgehoben. Die Instance wechselt dann in einen INACTIVE-Status.

  • Wenn eine Container-Instance in einem öffentlichen Subnetz mit erhöhtem ENI limits wird gestoppt und anschließend neu gestartet, verliert die Instance ihre öffentliche IP-Adresse und der Container-Agent verliert seine Verbindung.

  • Wenn Sie diese Option aktivierenawsvpcTrunking, erhalten Container-Instances eine zusätzliche ENI das die Standardsicherheitsgruppe der VPC verwendet und von Amazon ECS verwaltet wird.

    Eine Standard-VPC umfasst ein öffentliches Subnetz in jeder Availability Zone, ein Internet-Gateway und Einstellungen zum Aktivieren der DNS-Auflösung. Das Subnetz ist ein öffentliches Subnetz, da die Haupt-Routing-Tabelle den für das Internet bestimmten Datenverkehr des Subnetzes an das Internet-Gateway sendet. Sie können ein Standardsubnetz zu einem privaten Subnetz machen, indem Sie die Route vom Ziel 0.0.0.0/0 zum Internet-Gateway verschieben. Wenn Sie dies tun, kann jedoch keine Container-Instance, die in diesem Subnetz ausgeführt wird, auf das Internet zugreifen. Sie können Sicherheitsgruppenregeln hinzufügen oder löschen, um den Datenverkehr in und aus Ihren Subnetzen zu kontrollieren. Weitere Informationen finden Sie unter Sicherheitsgruppenregeln im Amazon Virtual Private Cloud Cloud-Benutzerhandbuch.

Voraussetzungen

Bevor Sie eine Container-Instance mit dem erhöhten ENI Limits, die folgenden Voraussetzungen müssen erfüllt sein.

  • Die serviceverknüpfte Rolle für Amazon ECS muss erstellt werden. Die serviceverknüpfte Amazon ECS-Rolle gibt Amazon ECS die Erlaubnis, in Ihrem Namen Anrufe an andere AWS Services 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
  • Die IAM-Rolle Ihres Kontos oder Ihrer Container-Instance muss die awsvpcTrunking-Kontoeinstellung aktivieren. Wir empfehlen, dass Sie 2 Container-Instance-Rollen (ecsInstanceRole) erstellen. Sie können dann die awsvpcTrunking Kontoeinstellung für eine Rolle aktivieren und diese Rolle für Aufgaben verwenden, die ENI-Trunking erfordern. Informationen zur Container-Instance-Rolle finden Sie unterIAM-Rolle für Amazon-ECS-Container-Instance.

Wenn die Voraussetzungen erfüllt sind, können Sie eine neue Container-Instance mit einem der unterstützten EC2 Amazon-Instance-Typen starten, und die Instance erhält die erhöhte ENI Grenzwerte. Eine Liste mit unterstützten Instance-Typen finden Sie unter Unterstützte Instances für mehr Amazon ECS-Container-Netzwerkschnittstellen. Die Container-Instance muss Version 1.28.1 oder höher des Container-Agenten haben sowie Version 1.28.1-2 oder höher des ecs-Init-Pakets. Wenn Sie die neueste Linux-Variante des Amazon-ECS-optimierten AMI verwenden, sind diese Anforderungen erfüllt. Weitere Informationen finden Sie unter Starten einer Amazon ECS Linux-Container-Instance.

Wichtig

Amazon EC2 Amazon-Instances müssen ressourcenbasierte IPv4 DNS-Anfragen deaktiviert sein. Um diese Option zu deaktivieren, stellen Sie sicher, dass die Option Ressourcenbasierte DNS-Anfragen IPV4 (A-Datensatz) aktivieren deaktiviert ist, wenn Sie eine neue Instance mit der Amazon-Konsole erstellen. EC2 Verwenden Sie den folgenden Befehl AWS CLI, um diese Option mit dem zu deaktivieren.

aws ec2 modify-private-dns-name-options --instance-id i-xxxxxxx --no-enable-resource-name-dns-a-record --no-dry-run
Um Ihre Container-Instances mit erhöhtem Wert anzuzeigen ENI Grenzwerte mit dem AWS CLI

Jede Container-Instance verfügt über eine standardmäßige Netzwerkschnittstelle, die als Stamm-Netzwerkschnittstelle bezeichnet wird. Verwenden Sie den folgenden Befehl, um Ihre Container-Instances mit erhöhten Werten aufzulisten ENI begrenzt, indem nach dem ecs.awsvpc-trunk-id Attribut abgefragt wird, das darauf hinweist, dass es über eine Trunk-Netzwerkschnittstelle verfügt.

  • list-attributes (AWS CLI)

    aws ecs list-attributes \ --target-type container-instance \ --attribute-name ecs.awsvpc-trunk-id \ --cluster cluster_name \ --region us-east-1
  • Get- ECSAttribute Liste ()AWS Tools for Windows PowerShell

    Get-ECSAttributeList -TargetType container-instance -AttributeName ecs.awsvpc-trunk-id -Region us-east-1