Ermitteln der Aufgabengröße - 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.

Ermitteln der Aufgabengröße

Eine der wichtigsten Entscheidungen, die Sie bei der Bereitstellung von Containern auf Amazon ECS treffen müssen, sind Ihre Container- und Aufgabengrößen. Ihre Container- und Aufgabengrößen sind sowohl für die Skalierung als auch für die Kapazitätsplanung unerlässlich. In Amazon ECS werden zwei Ressourcenmetriken für die Kapazität verwendet: CPU und Arbeitsspeicher. Die CPU wird in Einheiten von 1/1024 einer vollen vCPU gemessen (wobei 1024 Einheiten gleich 1 ganzer vCPU sind). Der Speicher wird in Megabyte gemessen. In Ihrer Vorgangsdefinition können Sie Ressourcenreservierungen und -beschränkungen deklarieren.

Wenn Sie eine Reservierung deklarieren, deklarieren Sie die minimale Menge an Ressourcen, die ein Vorgang benötigt. Ihr Vorgang erhält mindestens die Menge der angeforderten Ressourcen. Ihre Anwendung kann möglicherweise mehr CPU oder Arbeitsspeicher als die von Ihnen deklarierte Reservierung verwenden. Dies unterliegt jedoch allen Beschränkungen, die Sie ebenfalls angegeben haben. Die Verwendung von mehr als der Reservierungsbetrag wird als Bersting bezeichnet. In Amazon ECS sind Reservierungen garantiert. Wenn Sie beispielsweise Amazon EC2 Instances zur Bereitstellung von Kapazitäten verwenden, platziert Amazon ECS keine Aufgabe für eine Instance, bei der die Reservierung nicht erfüllt werden kann.

Ein Limit ist die maximale Anzahl an CPU-Einheiten oder Arbeitsspeicher, die Ihr Container oder Task verwenden kann. Jeder Versuch, mehr CPU als diese imit zu verwenden, führt zu einer Drosselung. Jeder Versuch, mehr Speicher zu verwenden, führt dazu, dass Ihr Container gestoppt wird.

Diese Werte können eine Herausforderung sein. Dies liegt daran, dass die Werte, die am besten für Ihre Anwendung geeignet sind, stark von den Ressourcenanforderungen Ihrer Anwendung abhängen. Load Testing Ihrer Anwendung ist der Schlüssel zu einer erfolgreichen Ressourcenanforderungsplanung und einem besseren Verständnis der Anforderungen Ihrer Anwendung.

Zustandslose Anwendungen

Für zustandslose Anwendungen, die horizontal skaliert werden, z. B. eine Anwendung hinter einem Load Balancer, empfehlen wir, zunächst die Speichermenge zu bestimmen, die Ihre Anwendung beim Bedienen von Anforderungen verbraucht. Um dies zu tun, können Sie traditionelle Werkzeuge wiepsoder .topoder Überwachungslösungen wie CloudWatch Container Insights.

Berücksichtigen Sie beim Ermitteln einer CPU-Reservierung, wie Sie Ihre Anwendung entsprechend Ihren geschäftlichen Anforderungen skalieren möchten. Sie können kleinere CPU-Reservierungen verwenden, z. B. 256 CPU-Einheiten (oder 1/4 vCPU), um die Skalierung auf feinkörnige Weise zu minimieren, die Kosten minimiert. Sie können jedoch nicht schnell genug skalieren, um erhebliche Nachfragespitzen zu erfüllen. Sie können größere CPU-Reservierungen verwenden, um schneller ein- und auszuskalieren und damit die Bedarfsspitzen schneller abzustimmen. Größere CPU-Reservierungen sind jedoch teurer.

Andere Anwendungen

Für Anwendungen, die nicht horizontal skaliert werden, z. B. Singleton-Worker oder Datenbankserver, stellen die verfügbare Kapazität und Kosten Ihre wichtigsten Überlegungen dar. Sie sollten die Menge an Arbeitsspeicher und CPU basierend auf den Lasttests angeben, dass Sie Datenverkehr bereitstellen müssen, um Ihr Service-Level-Ziel zu erreichen. Amazon ECS stellt sicher, dass die Anwendung auf einem Host platziert wird, der über eine ausreichende Kapazität verfügt.