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 Sie die auto Skalierung von Amazon ECS-Clustern
Kunden, die Amazon ECS auf Amazon ausführen, 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 ECS so konfigurieren, 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 wird, ohne dass weitere Eingriffe erforderlich sind. Amazon ECS-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 hat
CapacityProviderReservation
, 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 die folgenden Maßnahmen ergreifen, um die auto Clusterskalierung für schnellere Bereitstellungen reaktionsschneller zu gestalten:
Schrittweise Skalierung der Größen durch Kapazitätsanbieter
Amazon ECS-Kapazitätsanbieter stellen grow/shrink die Container-Instances so her, dass sie die Anforderungen Ihrer Anwendung erfüllen. 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 die minimumScalingStepSize
über die Amazon ECS-API erhöhen, um die Mindestanzahl von Instances zu erhöhen, die Amazon ECS gleichzeitig ein- oder 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 CreateCapacityProvider
oder verfügbar. UpdateCapacityProvider
APIs
Aufwärmphase der Instanz
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. Nach Ablauf der angegebenen Aufwärmphase 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 instanceWarmupPeriod
ist 300 Sekunden. Sie können ihn über CreateCapacityProvider
oder auf einen niedrigeren Wert konfigurieren, um eine schnellere Skalierung UpdateCapacityProvider
APIs zu erzielen. Wir empfehlen, den Wert auf mehr als 60 Sekunden festzulegen, um eine übermäßige Bereitstellung zu vermeiden.
Reservekapazität
Wenn Ihr Kapazitätsanbieter keine Container-Instances für die Platzierung von Aufgaben zur Verfügung hat, muss er die Cluster-Kapazitä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.