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 Amazon ECS Amazon EC2 Auto Scaling Scaling-Gruppenkapazitätsanbieter erstellen. Anschließend legen Sie einen Zielprozentsatz (dentargetCapacity) für die Instance-Nutzung in dieser Amazon EC2 Auto Scaling Scaling-Gruppe fest. Amazon ECS erstellt zwei benutzerdefinierte CloudWatch Metriken und eine Skalierungsrichtlinie für die Zielverfolgung für Ihre Amazon EC2 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 Amazon EC2 Auto Scaling Scaling-Gruppenkapazitätsanbieter, der einem Cluster zugeordnet ist, erstellt und verwaltet Amazon ECS die folgenden Ressourcen:
-
Ein CloudWatch Alarm bei niedrigem 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 Zielverfolgung und fügt sie der Amazon EC2 Auto Scaling Scaling-Gruppe hinzu. 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 Amazon EC2 Auto Scaling 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 Menge an Kapazität für die Amazon EC2 Auto Scaling Scaling-Gruppe. Diese Metrik wurde nicht veröffentlicht in 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 Amazon EC2 Auto Scaling Scaling-Gruppe muss weder nach innen noch nach außen skalieren. 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 denDesiredCapacityWert für die Amazon EC2 Auto Scaling Scaling-Gruppe. Die Amazon EC2 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 denDesiredCapacityWert für die Amazon EC2 Auto Scaling Scaling-Gruppe. Die Amazon EC2 Auto Scaling Scaling-Gruppe verwendet diesen Wert, um EC2 Container-Instances zu beenden und sie dann vom Cluster abzumelden.Die Amazon EC2 Auto Scaling Scaling-Gruppe legt anhand der Gruppenbeendigungsrichtlinie fest, welche Instances sie bei Scale-In-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 Amazon EC2 Auto Scaling Scaling-Gruppen Instances beenden, finden Sie unter Steuern, welche Amazon EC2 Auto Scaling-Instances während der Skalierung beendet werden im Amazon EC2 Auto Scaling 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 Amazon EC2 Auto Scaling Scaling-Gruppe, die einem Kapazitätsanbieter zugeordnet ist, der andere Skalierungsrichtlinien als die von Amazon ECS verwaltete hat.
-
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 Amazon EC2 Auto Scaling Scaling-Gruppen benötigt der Benutzer, die Gruppe oder die Rolle, die die Kapazitätsanbieter erstellt, die
autoscaling:CreateOrUpdateTagsentsprechende Genehmigung. Das liegt daran, dass Amazon ECS der Amazon EC2 Auto Scaling Scaling-Gruppe ein Tag hinzufügt, wenn es sie dem Kapazitätsanbieter zuordnet.Wichtig
Stellen Sie sicher, dass die von Ihnen verwendeten Tools das
AmazonECSManagedTag nicht aus der Amazon EC2 Auto Scaling 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 Amazon EC2 Auto Scaling (verwaltete Skalierung) aktiviert ist, kann ein Kapazitätsanbieter nur mit einem Cluster gleichzeitig verbunden werden. 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 Amazon EC2 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 Amazon EC2 Auto Scaling 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
-
Bevor Sie den Kapazitätsanbieter erstellen, müssen Sie eine Amazon EC2 Auto Scaling Scaling-Gruppe erstellen. Weitere Informationen finden Sie unter Amazon EC2 Auto Scaling Scaling-Gruppen im Amazon EC2 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.