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.
ECSAmazon-Cluster für den Starttyp Fargate
ECSAmazon-Kapazitätsanbieter verwalten die Skalierung der Infrastruktur für Aufgaben in Ihren Clustern. Jeder Cluster kann über einen oder mehrere Kapazitätsanbieter und eine optionale Kapazitätsanbieter-Standardstrategie verfügen. Die Kapazitätsanbieterstrategie legt fest, wie die Aufgaben über die Kapazitätsanbieter eines Clusters verteilt werden. Wenn Sie eine eigenständige Aufgabe ausführen oder einen Service erstellen, können Sie entweder die Kapazitätsanbieter-Standardstrategie des Clusters verwenden oder eine Strategie für Kapazitätsanbieter angeben, die die Standardstrategie überschreibt.
Wenn Sie Ihre Aufgaben ausführen AWS Fargate, müssen Sie die Kapazität nicht erstellen oder verwalten. Sie müssen dem Cluster lediglich einen der folgenden vordefinierten Kapazitätsanbieter zuordnen:
-
Fargate
-
Fargate Spot
Mit Amazon ECS on AWS Fargate Capacity Providers können Sie sowohl Fargate- als auch Fargate Spot-Kapazitäten für Ihre ECS Amazon-Aufgaben nutzen.
Mit Fargate Spot können Sie unterbrechungstolerante ECS Amazon-Aufgaben zu einem Preis ausführen, der im Vergleich zum Fargate-Preis günstiger ist. Fargate Spot führt Aufgaben über freie Rechenkapazität aus. Wenn die Kapazität wieder AWS benötigt wird, werden Ihre Aufgaben mit einer zweiminütigen Warnung unterbrochen.
Wenn Aufgaben, die die Kapazitätsanbieter Fargate und Fargate Spot verwenden, gestoppt werden, wird das Ereignis zur Änderung des Aufgabenstatus an Amazon gesendet. EventBridge Der Grund für das Anhalten gibt eine Beschreibung der Ursache an. Weitere Informationen finden Sie unter Ereignisse zur Änderung des ECS Amazon-Aufgabenstatus.
Ein Cluster kann eine Mischung aus Fargate- und Auto-Scaling-Gruppen-Kapazitätsanbietern enthalten. Eine Kapazitätsanbieter-Strategie kann jedoch nur entweder Fargate- oder Auto-Scaling-Gruppen-Kapazitätsanbieter enthalten, aber nicht beide. Weitere Informationen finden Sie unter Auto Scaling Group Capacity Providers.
Berücksichtigen Sie bei der Verwendung von Kapazitätsanbietern die folgenden Punkte:
-
Sie müssen einem Cluster einen Kapazitätsanbieter zuordnen, bevor Sie ihn der Kapazitätsanbieterstrategie zuordnen können.
-
Sie können maximal 20 Kapazitätsanbieter für eine Kapazitätsanbieterstrategie angeben.
-
Sie können einen Service, der einen Kapazitätsanbieter einer Auto-Scaling-Gruppe verwendet, nicht aktualisieren, um einen Fargate-Kapazitätsanbieter zu verwenden. Das Gegenteil ist der Fall.
-
Wenn in einer Kapazitätsanbieter-Strategie kein
weight
-Wert für einen Kapazitätsanbieter in der Konsole angegeben ist, wird der Standardwert von1
verwendet. Wenn Sie das API oder verwenden AWS CLI,0
wird der Standardwert von verwendet. -
Wenn in einer Kapazitätsanbieter-Strategie mehrere Kapazitätsanbieter angegeben sind, muss mindestens einer der Kapazitätsanbieter eine Gewichtung haben, die größer ist als Null. Kapazitätsanbieter mit einer Gewichtung von Null werden nicht zur Vergabe von Aufgaben verwendet. Wenn Sie in einer Strategie mehrere Kapazitätsanbieter mit derselben Gewichtung von Null angeben, schlagen alle
RunTask
- oderCreateService
-Aktionen, die die Kapazitätsanbieter-Strategie verwenden, fehl. -
In einer Kapazitätsanbieter-Strategie kann nur für einen Kapazitätsanbieter ein Basis-Wert festgelegt werden. Wenn kein Basiswert angegeben wird, wird der Standardwert Null verwendet.
-
Ein Cluster kann eine Mischung aus Kapazitätsanbietern für Auto-Scaling-Gruppen und Fargate-Kapazitätsanbietern enthalten. Eine Kapazitätsanbieter-Strategie kann jedoch nur Kapazitätsanbieter der Auto-Scaling-Gruppe oder Fargate enthalten, aber nicht beides.
-
Ein Cluster kann eine Mischung aus Services und eigenständigen Aufgaben enthalten, die sowohl Kapazitätsanbieter als auch Starttypen verwenden. Ein Service kann aktualisiert werden, um anstelle eines Starttyps eine Kapazitätsanbieterstrategie zu verwenden. Allerdings müssen Sie dabei eine neue Bereitstellung erzwingen.
Kündigungsmitteilungen von Fargate Spot
In Zeiten extrem hoher Nachfrage sind die Kapazitäten von Fargate Spot möglicherweise nicht verfügbar. Dies kann dazu führen, dass Fargate-Spot-Aufgaben verzögert werden. In diesem Fall versuchen Amazon ECS Services erneut, Aufgaben zu starten, bis die erforderliche Kapazität verfügbar ist. Fargate ersetzt Spot-Kapazität nicht durch On-Demand-Kapazität.
Wenn Aufgaben, die Fargate Spot-Kapazität verwenden, aufgrund einer Spot-Unterbrechung angehalten werden, wird zwei Minuten, bevor eine Aufgabe angehalten wird, eine Warnung gesendet. Die Warnung wird als Ereignis zur Änderung des Aufgabenstatus an Amazon EventBridge und als SIGTERM Signal an die laufende Aufgabe gesendet. Wenn Sie Fargate Spot als Teil eines Service verwenden, empfängt der Service-Planer in diesem Szenario das Unterbrechungssignal und versucht, zusätzliche Aufgaben auf Fargate Spot zu starten, wenn Kapazität verfügbar ist. Ein Service mit nur einer Aufgabe wird unterbrochen, bis Kapazität verfügbar ist. Weitere Informationen zu einem ordnungsgemäßen Herunterfahren finden Sie unter Ordnungsgemäßes
Um sicherzustellen, dass Ihre Container korrekt beendet werden, bevor die Aufgabe endet, können Sie Folgendes konfigurieren:
-
In der Containerdefinition, die die Aufgabe verwendet, kann ein
stopTimeout
-Wert von120
Sekunden oder weniger angegeben werden. DerstopTimeout
-Standardwert liegt bei 30 Sekunden. Sie können einen längerenstopTimeout
-Wert angeben, um mehr Zeit zwischen dem Eingang des Ereignisses zur Änderung des Aufgabenstatus und dem Zeitpunkt, an dem der Container zwangsweise angehalten wird, zu gewinnen. Weitere Informationen finden Sie unter Container-Timeouts. -
Das SIGTERM Signal muss innerhalb des Containers empfangen werden, damit Bereinigungsaktionen durchgeführt werden können. Wenn dieses Signal nicht verarbeitet wird, empfängt die Task nach der Konfiguration ein SIGKILL Signal,
stopTimeout
was zu Datenverlust oder Beschädigung führen kann.
Das Folgende ist ein Ausschnitt eines Ereignisses zur Änderung des Aufgabenstatus. Dieser Codeausschnitt zeigt den Anhaltegrund und den Anhaltecode für eine Fargate-Spot-Unterbrechung an.
{ "version": "0", "id": "9bcdac79-b31f-4d3d-9410-fbd727c29fab", "detail-type": "ECS Task State Change", "source": "aws.ecs", "account": "111122223333", "resources": [ "arn:aws:ecs:us-east-1:111122223333:task/b99d40b3-5176-4f71-9a52-9dbd6f1cebef" ], "detail": { "clusterArn": "arn:aws:ecs:us-east-1:111122223333:cluster/default", "createdAt": "2016-12-06T16:41:05.702Z", "desiredStatus": "STOPPED", "lastStatus": "RUNNING", "stoppedReason": "Your Spot Task was interrupted.", "stopCode": "SpotInterruption", "taskArn": "arn:aws:ecs:us-east-1:111122223333:task/b99d40b3-5176-4f71-9a52-9dbd6fEXAMPLE", ... } }
Das Folgende ist ein Ereignismuster, das verwendet wird, um eine EventBridge Regel für Ereignisse zur Änderung des ECS Amazon-Aufgabenstatus zu erstellen. Optional können Sie einen Cluster im detail
-Feld angeben. Das bedeutet, dass Sie Ereignisse zur Statusänderung von Aufgaben für diesen Cluster erhalten. Weitere Informationen finden Sie unter EventBridge Regel erstellen im EventBridge Amazon-Benutzerhandbuch.
{ "source": [ "aws.ecs" ], "detail-type": [ "ECS Task State Change" ], "detail": { "clusterArn": [ "
arn:aws:ecs:us-west-2:111122223333:cluster/default
" ] } }