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 ECS Amazon-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. Da für jede Aufgabe, die den awsvpc Netzwerkmodus verwendetENI, eine erforderlich ist, können Sie in der Regel nur zwei solcher Aufgaben auf diesem Instance-Typ ausführen.

Amazon ECS unterstützt das Starten von Container-Instances mit erhöhter ENI Dichte mithilfe 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 zur awsvpcTrunking Kontoeinstellung finden Sie unterGreifen Sie mit den Kontoeinstellungen auf ECS Amazon-Funktionen zu.

Beispiel: Eine c5.large Instanz mit awsvpcTrunking hat ein erhöhtes ENI Limit von zwölf. Die Container-Instance wird über die primäre Netzwerkschnittstelle verfügen, und Amazon ECS erstellt eine „Trunk“ -Netzwerkschnittstelle und fügt sie 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 Trunk-Netzwerkschnittstelle wird vollständig von Amazon verwaltet ECS und gelöscht, wenn Sie Ihre Container-Instance entweder beenden oder vom Cluster abmelden. Weitere Informationen finden Sie unter Netzwerkoptionen für Amazon ECS Task für den EC2 Starttyp.

Überlegungen

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

  • Nur Linux-Varianten der ECS Amazon-optimierten AMI Version oder andere Amazon Linux-Varianten mit Version 1.28.1 oder höher des Container-Agenten und Version 1.28.1-2 oder höher des ecs-init-Pakets unterstützen die erhöhten Grenzwerte. ENI Wenn Sie die neueste Linux-Variante von Amazon ECS -optimized verwendenAMI, werden diese Anforderungen erfüllt. Windows-Container werden derzeit nicht unterstützt.

  • Nur neue EC2 Amazon-Instances, die nach der Aktivierung gestartet werden, awsvpcTrunking erhalten die erhöhten ENI Limits 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, stellen Sie sicher, dass die Option Ressourcenbasierte DNS Anfragen IPV4 (A-Datensatz) aktivieren deaktiviert ist, wenn Sie mit der Amazon-Konsole eine neue Instance 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
  • EC2Amazon-Instances in gemeinsam genutzten Subnetzen werden nicht unterstützt. Sie können sich nicht bei einem Cluster registrieren, wenn sie verwendet werden.

  • Ihre ECS Amazon-Aufgaben müssen den awsvpc Netzwerkmodus und den EC2 Starttyp verwenden. Aufgaben, die den Starttyp Fargate verwenden, erhielten immer einen dedizierten ENI Status, unabhängig davon, wie viele gestartet wurden, sodass diese Funktion nicht benötigt wird.

  • Ihre ECS Amazon-Aufgaben müssen in demselben Amazon VPC wie Ihre Container-Instance gestartet werden. Ihre Aufgaben beginnen nicht mit einem Attributfehler, wenn sie sich nicht in derselben Gruppe befindenVPC.

  • 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, ECS löscht Amazon den Trunk. ENI

    Anmerkung

    Amazon ECS gibt Ereignisse zur Änderung des Status von Container-Instances aus, die Sie im Hinblick auf Instances, die in einen bestimmten REGISTRATION_FAILED Zustand übergehen, überwachen können. Weitere Informationen finden Sie unter Ereignisse zur Änderung des Status der ECS Amazon-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 den erhöhten ENI Grenzwerten gestoppt und anschließend neu gestartet wird, verliert die Instance ihre öffentliche IP-Adresse und der Container-Agent verliert seine Verbindung.

  • Wenn Sie diese Option aktivierenawsvpcTrunking, erhalten Container-Instances eine zusätzlicheENI, die die VPC Standardsicherheitsgruppe von verwendet und von Amazon verwaltet wirdECS.

Voraussetzungen

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

  • Die serviceverknüpfte Rolle für Amazon ECS muss erstellt werden. Die Rolle, die ECS mit dem ECS Amazon-Dienst verknüpft ist, gibt Amazon die Erlaubnis, 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 Verwenden 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
  • Ihr Konto oder Ihre IAM Container-Instance-Rolle muss die awsvpcTrunking Kontoeinstellung aktivieren. Wir empfehlen, dass Sie 2 Container-Instance-Rollen (ecsInstanceRole) erstellen. Anschließend können Sie die awsvpcTrunking Kontoeinstellung für eine Rolle aktivieren und diese Rolle für Aufgaben verwenden, für die ENI Trunking erforderlich ist. Informationen zur Container-Instance-Rolle finden Sie unterECSIAMAmazon-Container-Instance-Rolle.

Sobald die Voraussetzungen erfüllt sind, können Sie eine neue Container-Instance mit einem der unterstützten EC2 Amazon-Instance-Typen starten. Für die Instance gelten dann die erhöhten ENI Limits. Eine Liste mit unterstützten Instance-Typen finden Sie unter Unterstützte Instances für mehr ECS Amazon-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 von Amazon ECS -optimized verwendenAMI, werden 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 mit der Amazon-Konsole eine neue Instance 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öhten ENI Limits anzuzeigen, verwenden Sie den 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 ENI Limits aufzulisten, indem Sie nach dem ecs.awsvpc-trunk-id Attribut abfragen, das darauf hinweist, dass sie über eine Trunk-Netzwerkschnittstelle verfügen.

  • 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- ECSAttributeList ()AWS Tools for Windows PowerShell

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