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.
Automatische Verwaltung der Amazon-ECS-Kapazität mit Cluster-Auto-Scaling
Amazon ECS kann die Skalierung von EC2 Amazon-Instances verwalten, die in Ihrem Cluster registriert sind. Dies wird als Auto Scaling für Amazon-ECS-Cluster bezeichnet. Sie aktivieren die verwaltete Skalierung, wenn Sie den Kapazitätsanbieter für Amazon-ECS-Auto-Scaling-Gruppen erstellen. Dann legen Sie einen Zielprozentsatz (die targetCapacity) für die Instance-Auslastung in dieser Auto-Scaling-Gruppe fest. Amazon ECS erstellt zwei benutzerdefinierte CloudWatch Metriken und eine Skalierungsrichtlinie für die Zielverfolgung für Ihre Auto Scaling Scaling-Gruppe. Anschließend verwaltet Amazon ECS die Aktionen zum Auf- und Abskalieren je nach der Ressourcenauslastung, die Ihre Aufgaben verursachen.
Für jeden Kapazitätsanbieter der Auto-Scaling-Gruppe, der einem Cluster zugeordnet ist, erstellt und verwaltet Amazon ECS die folgenden Ressourcen:
-
Ein CloudWatch Alarm bei einem niedrigen metrischen Wert
-
Ein CloudWatch Alarm bei hohem metrischen Wert
-
Eine Skalierungsrichtlinie für die Ziel-Nachverfolgung.
Anmerkung
Amazon ECS erstellt die Skalierungsrichtlinie für die Ziel-Nachverfolgung und fügt sie an die Auto-Scaling-Gruppe an. Um die Skalierungsrichtlinie für die Ziel-Nachverfolgung zu aktualisieren, aktualisieren Sie die vom Kapazitätsanbieter verwalteten Skalierungseinstellungen, statt die Skalierungsrichtlinie direkt zu aktualisieren.
Wenn Sie die verwaltete Skalierung deaktivieren oder den Kapazitätsanbieter von einem Cluster trennen, entfernt Amazon ECS sowohl die CloudWatch Metriken als auch die Ressourcen der Ziel-Tracking-Skalierungsrichtlinie.
Amazon ECS verwendet die folgenden Metriken, um zu bestimmen, welche Aktionen ausgeführt werden sollen:
CapacityProviderReservation-
Der Prozentsatz der Container-Instances, die für einen bestimmten Kapazitätsanbieter verwendet werden. Amazon ECS generiert diese Metrik.
Amazon ECS legt den Wert
CapacityProviderReservationauf eine Zahl zwischen 0–100 fest. Amazon ECS verwendet die folgende Formel, um das Verhältnis der verbleibenden Kapazität in der Auto-Scaling-Gruppe darzustellen. Anschließend veröffentlicht Amazon ECS die Metrik für CloudWatch. Weitere Informationen darüber, wie die Metrik berechnet wird, finden Sie unter Deep Dive zu Amazon ECS Cluster Auto ScalingCapacityProviderReservation = (number of instances needed) / (number of running instances) x 100 DesiredCapacity-
Die Kapazitätsmenge für die Auto-Scaling-Gruppe. Diese Metrik wird nicht veröffentlicht für CloudWatch.
Amazon ECS veröffentlicht die CapacityProviderReservation Metrik CloudWatch im AWS/ECS/ManagedScaling Namespace. Die CapacityProviderReservation-Metrik führt zu einer der folgenden Aktionen:
- Der Wert
CapacityProviderReservationentsprichttargetCapacity -
Die Auto-Scaling-Gruppe muss weder ab- noch aufskaliert werden. Der angestrebte Nutzungsprozentsatz wurde erreicht.
- Der Wert
CapacityProviderReservationist größer alstargetCapacity -
Es gibt mehr Aufgaben, die einen höheren Prozentsatz der Kapazität beanspruchen als Ihr
targetCapacity-Prozentsatz. Der erhöhte Wert derCapacityProviderReservationMetrik führt dazu, dass der zugehörige CloudWatch Alarm ausgelöst wird. Dieser Alarm aktualisiert denDesiredCapacity-Wert für die Auto-Scaling-Gruppe. Die Auto Scaling Scaling-Gruppe verwendet diesen Wert, um EC2 Instances zu starten und sie dann im Cluster zu registrieren.Wenn die
targetCapacityder Standardwert 100 % ist, befinden sich die neuen Aufgaben im StatusPENDINGwährend der Skalierung, da auf den Instances keine Kapazität zur Ausführung der Aufgaben verfügbar ist. Nachdem sich die neuen Instances bei ECS registriert haben, werden diese Aufgaben auf den neuen Instances gestartet. - Der Wert
CapacityProviderReservationist kleiner alstargetCapacity -
Es gibt weniger Aufgaben, die einen niedrigeren Prozentsatz der Kapazität beanspruchen als Ihr
targetCapacity-Prozentsatz, und es gibt mindestens eine Instance, die beendet werden kann. Der verringerte Wert derCapacityProviderReservationMetrik führt dazu, dass der zugehörige CloudWatch Alarm ausgelöst wird. Dieser Alarm aktualisiert denDesiredCapacity-Wert für die Auto-Scaling-Gruppe. Die Auto Scaling Scaling-Gruppe verwendet diesen Wert, um EC2 Container-Instances zu beenden und sie dann vom Cluster abzumelden.Die Auto-Scaling-Gruppe folgt der Beendigungsrichtlinie der Gruppe, um zu bestimmen, welche Instances sie bei Abskalieren-Ereignissen zuerst beendet. Außerdem werden Instances vermieden, für die der Instance-Abskalierungsschutz aktiviert ist. Cluster-Auto-Scaling kann verwalten, für welche Instances die Einstellung für den Instance-Abskalierungsschutz gilt, wenn Sie den verwalteten Beendigungsschutz aktivieren. Weitere Informationen zum verwalteten Beendigungsschutz finden Sie unter Die Instances steuern, die Amazon ECS beendet. Weitere Informationen darüber, wie Auto Scaling Scaling-Gruppen Instances beenden, finden Sie unter Steuern, welche Auto Scaling Scaling-Instances während der Skalierung beendet werden im Amazon EC2 Auto Scaling-Benutzerhandbuch.
Bei Verwendung von Cluster-Auto-Scaling sollte Folgendes berücksichtigt werden:
-
Ändern oder verwalten Sie nicht die gewünschte Kapazität für die Auto-Scaling-Gruppe, die einem Kapazitätsanbieter zugeordnet ist, der über andere Skalierungsrichtlinien verfügt als die, die Amazon ECS verwaltet.
-
Wenn Amazon ECS ab 0 Instances aufskaliert, werden automatisch 2 Instances gestartet.
-
Amazon ECS verwendet die
AWSServiceRoleForECSserviceverknüpfte IAM-Rolle für die Berechtigungen, die erforderlich sind, um in Ihrem Namen AWS Auto Scaling aufzurufen. Weitere Informationen finden Sie unter Verwendung von serviceverknüpften Rollen für Amazon ECS. -
Bei der Verwendung von Kapazitätsanbietern mit Auto-Scaling-Gruppen benötigt der Benutzer, die Gruppe oder die Rolle, der bzw. die die Kapazitätsanbieter erstellt, die
autoscaling:CreateOrUpdateTags-Berechtigung. Dies liegt daran, dass Amazon ECS an die Auto-Scaling-Gruppe ein Tag hinzufügt, wenn sie es dem Kapazitätsanbieter zuordnet.Wichtig
Stellen Sie sicher, dass die von Ihnen verwendeten Tools das
AmazonECSManaged-Tag nicht aus der Auto-Scaling-Gruppe entfernen. Wenn dieses Tag entfernt wird, kann Amazon ECS das Skalieren nicht verwalten. -
Die auto Clusterskalierung ändert das MinimumCapacityoder MaximumCapacityfür die Gruppe nicht. Damit die Gruppe horizontal skaliert werden kann, MaximumCapacitymuss der Wert für größer als Null sein.
-
Wenn Auto Scaling (verwaltete Skalierung) aktiviert ist, kann ein Kapazitätsanbieter nur mit einem Cluster gleichzeitig verbunden sein. Wenn Ihr Kapazitätsanbieter die verwaltete Skalierung deaktiviert hat, können Sie ihn mehreren Clustern zuordnen.
-
Wenn die verwaltete Skalierung deaktiviert ist, führt der Kapazitätsanbieter keine Auf- oder Abskalierung durch. Sie können eine Kapazitätsanbieter-Strategie verwenden, um Ihre Aufgaben zwischen Kapazitätsanbietern auszugleichen.
-
Die
binpack-Strategie ist in Bezug auf die Kapazität die effizienteste Strategie. -
Wenn die Zielkapazität im Rahmen der Platzierungsstrategie unter 100 % liegt, muss die
binpack-Strategie eine höhere Ordnung als diespread-Strategie haben. Dadurch wird verhindert, dass der Kapazitätsanbieter aufskaliert, bis jede Aufgabe über eine Dedicated Instance verfügt oder das Limit erreicht ist.
Auto Scaling von Clustern aktivieren
Verwenden Sie die Konsole oder die AWS CLI, um das Cluster Auto Scaling zu aktivieren.
Wenn Sie mithilfe der Konsole einen Cluster erstellen, der EC2 Kapazitätsanbieter verwendet, erstellt Amazon ECS in Ihrem Namen eine Auto Scaling Scaling-Gruppe und legt die Zielkapazität fest. Weitere Informationen finden Sie unter Erstellen eines Amazon ECS-Clusters für EC2 Amazon-Workloads.
Sie können auch eine Auto-Scaling-Gruppe erstellen und sie dann einem Cluster zuweisen. Weitere Informationen finden Sie unter Aktualisieren eines Amazon-ECS-Kapazitätsanbieters.
Wenn Sie den verwenden AWS CLI, nachdem Sie den Cluster erstellt haben
-
Vor dem Erstellen des Kapazitätsanbieters müssen Sie eine Auto-Scaling-Gruppe erstellen. Weitere Informationen finden Sie unter Auto Scaling Scaling-Gruppen im Amazon EC2 Auto Scaling Scaling-Benutzerhandbuch.
-
Verwenden Sie
put-cluster-capacity-providers, um den Cluster-Kapazitätsanbieter zu ändern. Weitere Informationen finden Sie unter Amazon ECS Cluster Auto Scaling aktivieren.