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.
Auto Scaling und Aufgabenplatzierung mit Amazon ECS Managed Instances
Amazon ECS Managed Instances verwendet intelligente Algorithmen, um Ihre Cluster-Kapazität automatisch zu skalieren und Aufgaben effizient in Ihrer gesamten Infrastruktur zu verteilen. Wenn Sie wissen, wie diese Algorithmen funktionieren, können Sie Ihre Servicekonfigurationen optimieren und Fehler beim Platzierungsverhalten beheben.
Aufgabenplatzierungs-Algorithmus
Amazon ECS Managed Instances verwendet einen ausgeklügelten Platzierungsalgorithmus, der Verfügbarkeit, Ressourcennutzung und Netzwerkanforderungen bei der Planung von Aufgaben in Einklang bringt.
Verteilung auf Availability Zones
Standardmäßig priorisiert Amazon ECS Managed Instances die Verfügbarkeit, indem Aufgaben auf mehrere Availability Zones verteilt werden:
-
Bei Services mit mehreren Aufgaben stellt Amazon ECS Managed Instances nach Möglichkeit die Verteilung auf mindestens 3 Instances in verschiedenen Availability Zones sicher.
-
Dieses Verhalten bietet Fehlertoleranz, kann jedoch zu einer geringeren Ressourcenauslastung pro Instance führen
-
Die Verteilung auf Availability Zones hat Vorrang vor der Optimierung von Bin Packing.
Bin-Packing-Verhalten
Amazon ECS Managed Instances kann zwar Bin Packing durchführen, um die Ressourcennutzung zu maximieren, aber dieses Verhalten wird von Ihrer Netzwerkkonfiguration beeinflusst:
-
Um Bin-Packing zu erreichen, konfigurieren Sie Ihren Service so, dass er ein einzelnes Subnetz verwendet.
-
Bei Konfigurationen mit mehreren Subnetzen hat die Verteilung auf Availability Zones Vorrang vor der Ressourcendichte.
-
Beim ersten Start des Services ist das Bin-Packing wahrscheinlicher als bei Skalierungsereignissen.
Überlegungen zur ENI-Dichte
Bei Services, die den Netzwerkmodus awsvpc verwenden, berücksichtigt Amazon ECS Managed Instances bei Platzierungsentscheidungen die Dichte der Elastic-Network-Schnittstelle (ENI):
-
Für jede Aufgabe im
awsvpc-Modus ist eine spezielle ENI erforderlich. -
Instance-Typen haben unterschiedliche ENI-Grenzwerte, die sich auf die Aufgabendichte auswirken.
-
Amazon ECS Managed Instances berücksichtigt die ENI-Verfügbarkeit bei der Auswahl von Ziel-Instances
Anmerkung
Die ENI-Dichteberechnungen werden kontinuierlich verbessert, um die Platzierungsentscheidungen zu optimieren.
Entscheidungslogik für Kapazitätsanbieter
Die Kapazitätsanbieter von Amazon ECS Managed Instances treffen Skalierungs- und Platzierungsentscheidungen auf der Grundlage mehrerer Faktoren:
- Ressourcenanforderungen
-
CPU-, Arbeitsspeicher- und Netzwerkanforderungen für ausstehende Aufgaben
- Instance-Verfügbarkeit
-
Aktuelle Kapazität und Auslastung der vorhandenen Instances
- Netzwerkeinschränkungen
-
Subnetzkonfiguration und ENI-Verfügbarkeit
- Verteilung von Availability Zones
-
Aufrechterhaltung der Fehlertoleranz über mehrere Availability Zones hinweg
Konfigurationsoptionen
Strategie zur Auswahl von Subnetzen
Ihre Subnetzkonfiguration wirkt sich erheblich auf das Verhalten bei der Aufgabenplatzierung aus:
- Mehrere Subnetze (Standard)
-
Priorisiert die Verteilung auf Availability Zones für hohe Verfügbarkeit
Kann zu einer geringeren Ressourcennutzung pro Instance führen
Empfohlen für Produktions-Workloads, die Fehlertoleranz erfordern
- Einzelnes Subnetz
-
Ermöglicht Bin-Packing für eine höhere Ressourcenauslastung
Reduziert die Fehlertoleranz, indem Aufgaben auf eine Availability Zone konzentriert werden
Geeignet für Entwicklungs- oder kostenoptimierte Workloads
Überlegungen zum Netzwerkmodus
Der von Ihnen gewählte Netzwerkmodus wirkt sich auf die Platzierungsentscheidungen aus:
-
awsvpc-Modus – Für jede Aufgabe ist eine eigene ENI erforderlich, wodurch die Aufgabendichte pro Instance begrenzt wird -
host-Modus – Aufgaben nutzen das Netzwerk des Hosts direkt, wobei die Platzierung in erster Linie von der Ressourcenverfügbarkeit abhängt
Überlegungen zur CPU-Architektur
Die cpuArchitecture Angaben, die Sie in Ihrer Aufgabendefinition angeben, werden verwendet, um Aufgaben auf einer bestimmten Architektur zu platzieren. Wenn Sie kein angeben, versucht Amazon ECScpuArchitecture, Aufgaben auf jeder verfügbaren CPU-Architektur zu platzieren, die auf der Konfiguration des Kapazitätsanbieters basiert. Sie können entweder X86_64 oder ARM64 angeben.
Fehlerbehebung bei der Aufgabenplatzierung
Gängige Platzierungsmuster
Wenn Sie die zu erwartenden Platzierungsmuster verstehen, können Sie normales Verhalten von potenziellen Problemen unterscheiden:
- Verteilung
-
Auf mehrere Instances verteilte Aufgaben mit teilweiser Auslastung
Normales Verhalten bei der Verwendung mehrerer Subnetze
Zeigt an, dass der Verfügbarkeit Vorrang vor der Ressourceneffizienz eingeräumt wird
- Konzentrierte Platzierung
-
Mehrere Aufgaben werden auf weniger Instances mit höherer Auslastung verteilt
Wird erwartet, wenn eine Konfiguration mit einem einzigen Subnetz verwendet wird
Kann beim ersten Start des Services auftreten
- Ungleiche Verteilung
-
Einige Instances werden stark ausgelastet, während andere nach wie vor zu wenig genutzt werden
Kann auf ENI-Limits oder Ressourcenbeschränkungen hinweisen
Erwägen Sie, die Instance-Typen und die Netzwerkkonfiguration zu überprüfen
Optimierung des Platzierungsverhaltens
So optimieren Sie die Aufgabenplatzierung für Ihre spezifischen Anforderungen:
-
Bewerten Sie Ihre Verfügbarkeitsanforderungen im Vergleich zu Ihren Anforderungen an die Kostenoptimierung.
-
Wählen Sie die passende Subnetzkonfiguration auf der Grundlage Ihrer Prioritäten.
-
Wählen Sie Instance-Typen mit ausreichender ENI-Kapazität für Ihren Netzwerkmodus.
-
Überwachen Sie die Platzierungsmuster und passen Sie die Konfiguration nach Bedarf an.
Best Practices
-
Für Produktions-Workloads – Verwenden Sie mehrere Subnetze in verschiedenen Availability Zones, um eine hohe Verfügbarkeit zu gewährleisten und nehmen Sie dabei Kompromisse bei der Ressourcennutzung in Kauf.
-
Für Entwicklung oder Tests – Ziehen Sie eine Konfiguration mit einem einzigen Subnetz in Betracht, um die Ressourcennutzung zu maximieren und den Preis zu senken.
-
Für den
awsvpc-Modus – Wählen Sie Instance-Typen mit ausreichender ENI-Kapazität, um Platzierungsbeschränkungen zu vermeiden. -
Zur Kostenoptimierung – Überwachen Sie die Nutzungsmuster und passen Sie die Servicekonfiguration an, um ein Gleichgewicht zwischen Verfügbarkeit und Effizienz zu finden.
-
Zur Fehlerbehebung – Überprüfen Sie die Subnetzkonfiguration und den Netzwerkmodus, wenn Sie unerwartete Platzierungsmuster untersuchen.