Definieren Sie, welche Container-Instances Amazon für Aufgaben ECS verwendet - 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.

Definieren Sie, welche Container-Instances Amazon für Aufgaben ECS verwendet

Eine Aufgabenplatzierungsbeschränkung ist eine Regel für eine Container-Instance, ECS anhand derer Amazon bestimmt, ob die Aufgabe auf der Instance ausgeführt werden darf. Mindestens eine Container-Instance muss der Einschränkung entsprechen. Wenn es keine Instances gibt, die der Einschränkung entsprechen, verbleibt die Aufgabe im Status PENDING. Wenn Sie einen neuen Service erstellen oder einen vorhandenen aktualisieren, können Sie Einschränkungen bei der Aufgabenplatzierung für die Aufgaben des Services angeben.

Mithilfe des placementConstraint Parameters können Sie Einschränkungen für die Aufgabenplatzierung in der Servicedefinition, Aufgabendefinition oder Aufgabe angeben.

"placementConstraints": [ { "expression": "The expression that defines the task placement constraints", "type": "The placement constraint type to use" } ]

In der folgenden Tabelle wird beschrieben, wie die Parameter verwendet werden.

Einschränkungstypen Kann angegeben werden, wann
distinctInstance

Platzieren Sie jede aktive Aufgabe auf einer anderen Container-Instance.

Amazon ECS schaut sich den gewünschten Status der Aufgaben für die Aufgabenvergabe an. Wenn beispielsweise der gewünschte Status der vorhandenen Aufgabe lautet STOPPED (der letzte Status jedoch nicht), kann eine neue eingehende Aufgabe trotz der distinctInstance Platzierungsbeschränkung derselben Instance zugewiesen werden. Daher werden Ihnen möglicherweise zwei Aufgaben mit dem letzten Status RUNNING auf derselben Instanz angezeigt.

Wichtig

Wir empfehlen Kunden, die für ihre Aufgaben eine starke Isolierung suchen, Fargate zu verwenden. Fargate führt jede Aufgabe in einer Hardware-Virtualisierungsumgebung aus. Dadurch wird sichergestellt, dass sich diese containerisierten Workloads keine Netzwerkschnittstellen, kurzlebigen Fargate-Speicher oder Arbeitsspeicher mit anderen Aufgaben CPU teilen. Weitere Informationen finden Sie unter Sicherheitsüberblick von. AWS Fargate

memberOf

Platzierung von Aufgaben auf Container-Instances, die einem Ausdruck entsprechen.

Wenn Sie den memberOf Einschränkungstyp verwenden, können Sie mithilfe der Cluster-Abfragesprache einen Ausdruck erstellen, der die Container-Instances definiert, in denen Amazon Aufgaben platzieren ECS kann. Mit dem Ausdruck können Sie Ihre Container-Instances nach Attributen gruppieren. Der Ausdruck gehört in den expression Parameter vonplacementConstraint.

Attribute der ECS Amazon-Container-Instance

Sie können zu Ihren Container-Instances benutzerdefinierte Metadaten hinzufügen, die als Attribute bezeichnet werden. Jedes Attribut hat einen Namen und einen optionalen Zeichenfolgenwert. Sie können die von Amazon bereitgestellten integrierten Attribute verwenden ECS oder benutzerdefinierte Attribute definieren.

Die folgenden Abschnitte enthalten Beispiele für integrierte, optionale und benutzerdefinierte Attribute.

Integrierte Attribute

Amazon wendet ECS automatisch die folgenden Attribute auf Ihre Container-Instances an.

ecs.ami-id

Die ID der AMI zum Starten der Instance verwendeten. Ein Beispielwert für dieses Attribut ist ami-1234abcd.

ecs.availability-zone

Die Availability Zone für die Instance. Ein Beispielwert für dieses Attribut ist us-east-1a.

ecs.instance-type

Den Instance-Typ für die Instance. Ein Beispielwert für dieses Attribut ist g2.2xlarge.

ecs.os-type

Das Betriebssystem für die Instance. Die möglichen Werte für dieses Attribut sind linux und windows.

ecs.os-family

Die Betriebssystemversion für die Instance.

Für Linux-Instances ist der gültige Wert LINUX. ECSLegt für Windows-Instances den Wert im WINDOWS_SERVER_<OS_Release>_<FULL or CORE> Format fest. Die gültigen Werte sind WINDOWS_SERVER_2022_FULL, WINDOWS_SERVER_2022_CORE, WINDOWS_SERVER_20H2_CORE, WINDOWS_SERVER_2019_FULL, WINDOWS_SERVER_2019_CORE und WINDOWS_SERVER_2016_FULL.

Dies ist wichtig für Windows-Container und Windows containers on AWS Fargate weil die Betriebssystemversion jedes Windows-Containers mit der des Hosts übereinstimmen muss. Wenn sich die Windows-Version des Container-Images von der des Hosts unterscheidet, startet der Container nicht. Weitere Informationen finden Sie unter Kompatibilität mit Windows-Containern auf der Microsoft-Dokumentations-Website.

Wenn auf Ihrem Cluster mehrere Windows-Versionen ausgeführt werden, können Sie mithilfe der Platzierungsbeschränkung sicherstellen, dass eine Aufgabe auf einer EC2 Instance platziert wird, die auf derselben Version ausgeführt wird:memberOf(attribute:ecs.os-family == WINDOWS_SERVER_<OS_Release>_<FULL or CORE>). Weitere Informationen finden Sie unter Abrufen von ECS Amazon-optimierten Windows-Metadaten AMI.

ecs.cpu-architecture

Die CPU Architektur für die Instanz. Beispielwerte für dieses Attribut sind x86_64 und ARM64.

ecs.vpc-id

VPCDie Instanz, in der die Instanz gestartet wurde. Ein Beispielwert für dieses Attribut ist vpc-1234abcd.

ecs.subnet-id

Das Subnetz, das die Instance verwendet. Ein Beispielwert für dieses Attribut ist subnet-1234abcd.

Optionale Attribute

Amazon ECS kann Ihren Container-Instances die folgenden Attribute hinzufügen.

ecs.awsvpc-trunk-id

Wenn dieses Attribut vorhanden ist, verfügt die Instance über eine Trunk-Netzwerkschnittstelle. Weitere Informationen finden Sie unter Zunehmende Netzwerkschnittstellen für Amazon ECS Linux-Container-Instances.

ecs.outpost-arn

Wenn dieses Attribut existiert, enthält es den Amazon-Ressourcennamen (ARN) des Outposts. Weitere Informationen finden Sie unter Amazon Elastic Container Service auf AWS Outposts.

ecs.capability.external

Wenn dieses Attribut vorhanden ist, wird die Instance als externe Instance identifiziert. Weitere Informationen finden Sie unter ECSAmazon-Cluster für den externen Starttyp.

Custom attributes (Benutzerdefinierte Attribute)

Sie können benutzerdefinierte Attribute für Ihre Container-Instances festlegen. Beispielsweise können Sie ein Attribut mit dem Namen „stack“ und dem Wert „prod“ definieren.

Bei der Angabe benutzerdefinierter Attribute sollte Folgendes berücksichtigt werden.

  • name muss zwischen 1 und 128 Zeichen sein und Name kann Buchstaben (Groß- und Kleinbuchstaben), Ziffern, Bindestriche, Unterstriche, Schrägstriche, Gegenschrägstriche oder Punkte enthalten.

  • value muss zwischen 1 und 128 Zeichen sein und Buchstaben (Groß- und Kleinbuchstaben), Ziffern, Bindestriche, Unterstriche, Punkte, At-Zeichen (@), Schrägstriche, Gegenschrägstriche, Doppelpunkte oder Leerzeichen enthalten. Der Wert darf keine führenden oder nachgestellten Leerzeichen enthalten.