Optimieren Sie die auto Skalierung von Amazon ECS-Clustern - 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 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 Amazon EC2 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 Amazon EC2 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 sichergestellt wird, dass genügend Container-Instances vorhanden sind, um die Anforderungen Ihrer Anwendung zu erfüllen. Informationen darüber, wie Cluster Auto Scaling unter der Haube funktioniert, finden Sie unter Deep Dive zu Amazon ECS Cluster Auto Scaling.

Cluster Auto Scaling basiert auf einer CloudWatch basierten Integration mit der Amazon EC2 Auto Scaling 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 Cluster Auto Scaling für schnellere Bereitstellungen reaktionsschneller zu gestalten:

Größen der schrittweisen Skalierung von Kapazitätsanbietern

Amazon ECS-Kapazitätsanbieter passen grow/shrink die Container-Instances an die Anforderungen Ihrer Anwendung an. 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 auf- oder abskaliert. Wenn maximumScalingStepSize zu niedrig ist, kann dies einschränken, wie viele Container-Instances gleichzeitig auf- oder abskaliert werden, was Ihre Bereitstellungen verlangsamen kann.

Anmerkung

Diese Konfiguration ist derzeit nur über die Option CreateCapacityProvideroder verfügbar UpdateCapacityProvider APIs.

Instance-Aufwärmphase

Die Instance-Aufwärmphase ist der Zeitraum, nach dem eine neu gestartete EC2 Amazon-Instance zu den CloudWatch Kennzahlen für die Amazon EC2 Auto Scaling Scaling-Gruppe beitragen kann. Nach Ablauf der angegebenen Aufwärmphase wird die Instance auf die aggregierten Metriken der Amazon EC2 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, den Sie über CreateCapacityProvideroder auf einen niedrigeren Wert konfigurieren können, um eine reaktionsschnellere Skalierung UpdateCapacityProvider APIs zu erzielen. Es empfiehlt sich, den Wert auf mehr als 60 Sekunden festzulegen, um eine Überbereitstellung zu vermeiden.

Freie Kapazitä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 Optionen.

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 für Target Capacity einen Wert von 80 % festlegen, 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 freier Cluster-Kapazität.

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 Skalierungsmetrik der Ziel-Nachverfolgung 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 Skalierungsrichtlinien der Ziel-Nachverfolgung oder schrittweise Skalierungsrichtlinien im Entwicklerhandbuch für Amazon Elastic Container Service.