Optimieren Amazon die ECS auto Skalierung - 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.

Optimieren Amazon die ECS auto Skalierung

Kunden, die Amazon ECS on Amazon betreiben, EC2 können die Vorteile von Cluster Auto Scaling nutzen, um die Skalierung von Amazon EC2 Auto Scaling-Gruppen zu verwalten. Mit Cluster Auto Scaling können Sie Amazon so konfigurieren, ECS dass Ihre Auto Scaling-Gruppe automatisch skaliert wird, sodass Sie sich ganz auf die Ausführung Ihrer Aufgaben konzentrieren können. Amazon ECS stellt sicher, dass die Auto Scaling Scaling-Gruppe nach Bedarf ein- und ausskaliert, ohne dass weitere Eingriffe erforderlich sind. ECSAmazon-Kapazitätsanbieter werden verwendet, um die Infrastruktur in Ihrem Cluster zu verwalten, indem sie sicherstellen, dass genügend Container-Instances vorhanden sind, um die Anforderungen Ihrer Anwendung zu erfüllen. Weitere Informationen darüber, wie Cluster-Auto-Scaling unter der Haube funktioniert, finden Sie unter Deep Dive on Amazon ECS Cluster Auto Scaling.

Cluster-Auto Scaling basiert auf einer CloudWatch basierten Integration mit der Auto Scaling-Gruppe zur Anpassung der Clusterkapazität. Daher ist eine inhärente Latenz verbunden mit

  • Veröffentlichung der CloudWatch Metriken,

  • Die Zeit, die die Metrik benötigt hatCapacityProviderReservation, um CloudWatch Alarme zu umgehen (sowohl bei hohen als auch bei niedrigen Alarmen)

  • Die Zeit, die eine neu gestartete EC2 Amazon-Instance zum Aufwärmen benötigt. Sie können folgende Aktionen durchführen, um auto Skalierung von Clustern für schnellere Bereitstellungen zu ermöglichen:

Schrittweise Skalierung der Größen durch Kapazitätsanbieter

ECSAmazon-Kapazitätsanbieter vergrößern oder verkleinern die Container-Instances, um den Anforderungen Ihrer Anwendung gerecht zu werden. Die Mindestanzahl von Instances, die Amazon ECS startet, ist standardmäßig auf 1 festgelegt. Dies kann Ihre Bereitstellungen verlängern, wenn mehrere Instances für die Ausführung Ihrer ausstehenden Aufgaben erforderlich sind. Sie können den Wert minimumScalingStepSizeüber Amazon erhöhen ECSAPI, um die Mindestanzahl von Instances zu erhöhen, die Amazon gleichzeitig ein- oder ECS ausskaliert. Ein zu niedriger Wert kann einschränken maximumScalingStepSize, wie viele Container-Instances gleichzeitig ein- oder ausgeschaltet werden, was Ihre Bereitstellungen verlangsamen kann.

Anmerkung

Diese Konfiguration ist derzeit nur über das CreateCapacityProvideroder verfügbar. UpdateCapacityProviderAPIs

Instance Warm-up-Phase

Die Instance-Aufwärmphase ist der Zeitraum, nach dem eine neu gestartete EC2 Amazon-Instance zu den CloudWatch Metriken für die Auto Scaling Scaling-Gruppe beitragen kann. Sobald die angegebene Aufwärmphase abgelaufen ist, wird die Instance auf die aggregierten Metriken der Auto Scaling-Gruppe angerechnet, und Cluster-Auto Scaling fährt mit der nächsten Berechnungsiteration fort, um die Anzahl der benötigten Instances zu schätzen.

Der Standardwert für instanceWarmupPeriodist 300 Sekunden. Sie können ihn über CreateCapacityProvideroder auf einen niedrigeren Wert konfigurieren, um eine schnellere Skalierung UpdateCapacityProviderAPIszu erzielen.

Reservekapazitäten

Wenn Ihr Kapazitätsanbieter keine Container-Instances für die Platzierung von Aufgaben zur Verfügung hat, muss er die Clusterkapazität erhöhen (skalieren), indem er EC2 Amazon-Instances im laufenden Betrieb startet und wartet, bis sie hochgefahren sind, bevor er Container auf ihnen starten kann. Dies kann die Startrate von Aufgaben erheblich senken. Sie haben hier zwei Möglichkeiten.

In diesem Fall erhöht sich die effektive Startrate von Aufgaben, wenn EC2 Amazon-Kapazitäten bereits gestartet und bereit sind, Aufgaben auszuführen, vorhanden sind. Sie können die Target Capacity Konfiguration verwenden, um anzugeben, dass Sie freie Kapazitäten in Ihren Clustern beibehalten möchten. Wenn Sie beispielsweise einen Wert von 80% festlegenTarget Capacity, geben Sie an, dass Ihr Cluster jederzeit 20% freie Kapazität benötigt. Dank dieser freien Kapazität können alle eigenständigen Aufgaben sofort gestartet werden, wodurch sichergestellt wird, dass das Starten von Aufgaben nicht gedrosselt wird. Der Nachteil dieses Ansatzes sind potenziell höhere Kosten für die Beibehaltung von Clusterkapazitäten.

Ein alternativer Ansatz, den Sie in Betracht ziehen können, besteht darin, Ihrem Service mehr Spielraum zu verleihen, nicht dem Kapazitätsanbieter. Das bedeutet, dass Sie, anstatt die Target Capacity Konfiguration zu reduzieren, um freie Kapazitäten bereitzustellen, die Anzahl der Replikate in Ihrem Service erhöhen können, indem Sie die Ziel-Tracking-Skalierungsmetrik oder die Schwellenwerte für die schrittweise Skalierung des Service Auto Scaling ändern. Beachten Sie, dass dieser Ansatz nur bei stark beanspruchten Workloads hilfreich ist, aber keine Auswirkungen hat, wenn Sie neue Services bereitstellen und zum ersten Mal von 0 auf N Aufgaben wechseln. Weitere Informationen zu den zugehörigen Skalierungsrichtlinien finden Sie unter Target Tracking Scaling Policies oder Step Scaling Policies im Amazon Elastic Container Service Developer Guide.