Verwenden Sie Strategien, um die ECS Aufgabenverteilung bei Amazon zu definieren - 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.

Verwenden Sie Strategien, um die ECS Aufgabenverteilung bei Amazon zu definieren

Für Aufgaben, die den EC2 Starttyp verwenden, ECS muss Amazon anhand der in der Aufgabendefinition angegebenen Anforderungen, wie CPU z. B. Arbeitsspeicher, bestimmen, wo die Aufgabe platziert werden soll. In ähnlicher Weise ECS muss Amazon festlegen, welche Aufgaben beendet werden sollen, wenn Sie die Anzahl der Aufgaben verringern. Sie können Strategien und Einschränkungen für die Aufgabenverteilung anwenden, um die Art und Weise, wie Amazon Aufgaben ECS platziert und beendet, individuell anzupassen.

Die Standardstrategien für die Aufgabenplatzierung hängen davon ab, ob Sie Aufgaben manuell (eigenständige Aufgaben) oder innerhalb eines Services ausführen. Für Aufgaben, die im Rahmen eines ECS Amazon-Service ausgeführt werden, spread verwendet die Strategie zur Aufgabenplatzierung dieattribute:ecs.availability-zone. Für Aufgaben, die nicht in Services enthalten sind, gibt es keine Standardbeschränkung für die Aufgabenplatzierung. Weitere Informationen finden Sie unter Planen Sie Ihre Container bei Amazon ECS.

Anmerkung

Aufgabenplatzierungsstrategien entsprechen bestem Bemühen. Amazon versucht ECS immer noch, Aufgaben zu platzieren, auch wenn die optimale Platzierungsoption nicht verfügbar ist. Einschränkungen der Aufgabenplatzierung sind jedoch verbindlich und können eine Aufgabenplatzierung verhindern.

Sie können Aufgabenplatzierungsstrategien mit Bedingungen kombinieren. Beispielsweise können Sie eine Aufgabenplatzierungsstrategie und eine Aufgabenplatzierungsbeschränkung verwenden, um Aufgaben auf Availability Zones zu verteilen und Bin-Pack-Aufgaben basierend auf dem Arbeitsspeicher innerhalb jeder Availability Zone zu verteilen (jedoch nur für G2-Instances).

Wenn Amazon Aufgaben ECS platziert, verwendet es den folgenden Prozess, um Container-Instances auszuwählen:

  1. Identifizieren Sie die Container-Instances CPUGPU, die die Speicher- und Port-Anforderungen in der Aufgabendefinition erfüllen.

  2. Identifizieren Sie die Container-Instances, die die Einschränkungen bei der Aufgabenplatzierung erfüllen.

  3. Identifizieren Sie die Container-Instances, die die Strategien zur Aufgabenplatzierung erfüllen.

  4. Wählen Sie die Container-Instances für die Aufgabenplatzierung aus.

Sie geben Strategien zur Aufgabenplatzierung in der Servicedefinition oder der Aufgabendefinition mithilfe des placementStrategy Parameters an.

"placementStrategy": [ { "field": "The field to apply the placement strategy against", "type": "The placement strategy to use" } ]

Sie können die Strategien angeben, wenn Sie eine Aufgabe ausführen (RunTask), einen neuen Dienst erstellen (CreateService) oder einen vorhandenen Dienst aktualisieren (UpdateService).

In der folgenden Tabelle werden die verfügbaren Typen und Felder beschrieben.

Typ Gültige Feldwerte
binpack

Aufgaben werden auf Container-Instances platziert, sodass möglichst wenig CPU ungenutzter Speicher übrig bleibt. Diese Strategie minimiert die Anzahl der verwendeten Container-Instances.

Wenn diese Strategie angewendet und eine Skalierungsmaßnahme ergriffen wird, ECS beendet Amazon die Aufgaben. Es tut dies basierend auf der Menge der Ressourcen, die nach dem Beenden der Aufgabe in der Container-Instance verbleiben. Die Container-Instance, die nach der Beendigung der Aufgabe die meisten verfügbaren Ressourcen hat, veranlasst die Beendigung dieser Aufgabe.

  • cpu

  • memory

random

Aufgaben werden nach dem Zufallsprinzip platziert.

Nicht verwendet
spread

Aufgaben werden gleichmäßig basierend auf dem angegebenen Wert platziert.

Service-Aufgaben werden basierend auf den Aufgaben von diesem Service verteilt. Eigenständige Aufgaben werden basierend auf den Aufgaben derselben Aufgabengruppe verteilt. Weitere Informationen über Aufgabengruppen finden Sie unter Gruppenbezogene ECS Amazon-Aufgaben .

Wenn die spread Strategie angewendet und eine Scale-In-Aktion ergriffen wird, ECS wählt Amazon zu beendende Aufgaben aus, die für ein Gleichgewicht zwischen den Availability Zones sorgen. Innerhalb einer Availability Zone werden Aufgaben nach dem Zufallsprinzip ausgewählt.

  • instanceId(oderhost, was den gleichen Effekt hat)

  • jede Plattform oder jedes benutzerdefinierte Attribut, das auf eine Container-Instance angewendet wird, wie attribute:ecs.availability-zone

Die Aufgabenplatzierungsstrategien können auch für bestehende Services aktualisiert werden. Weitere Informationen finden Sie unter So ECS platziert Amazon Aufgaben auf Container-Instances.

Sie können eine Strategie zur Aufgabenverteilung erstellen, die mehrere Strategien verwendet, indem Sie Arrays von Strategien in der Reihenfolge erstellen, in der sie ausgeführt werden sollen. Wenn Sie beispielsweise Aufgaben auf Availability Zones und anschließend mit der Binpacks-Strategie basierend auf dem Speicher innerhalb der einzelnen Availability Zone platzieren möchten, geben Sie die Availability-Zone-Strategie gefolgt von der Speicherstrategie an. Beispielstrategien finden Sie unter Beispiele für Amazon-Strategien zur ECS Aufgabenvergabe.