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.
Starten Sie Instances synchron
Amazon EC2 Auto Scaling bietet zwei Methoden zum Starten von Instances in Ihrer Auto Scaling-Gruppe: asynchrones Skalierungsverhalten und synchrone Bereitstellung mithilfe der LaunchInstances API.
Bei synchroner Bereitstellung verwenden Sie die LaunchInstances API, um eine bestimmte Anzahl von Instances in einer bestimmten Availability Zone anzufordern. Synchrone Bereitstellung bietet die folgenden Vorteile:
-
Sofortiges Feedback zur Kapazitätsverfügbarkeit in bestimmten Availability Zones
-
Präzise Kontrolle darüber, in welchen Availability Zone-Instances gestartet werden
-
Deterministische Instanz-IDs zur sofortigen Verwendung in Orchestrierungssystemen
-
Real-time Skalierung von Entscheidungen auf der Grundlage der tatsächlichen Kapazitätsbeschränkungen
-
Schnellere Skalierung durch Wegfall der Wartezeiten für asynchrone Auto Scaling-Starts
Bei asynchronem Auto Scaling verarbeitet Amazon EC2 Auto Scaling die Skalierungsanforderung und startet Instances im Hintergrund, wenn Sie die gewünschte Kapazität ändern oder wenn eine Skalierungsrichtlinie ausgelöst wird. Sie müssen die Skalierungsaktivitäten überwachen oder Ihre Auto Scaling-Gruppe beschreiben, um festzustellen, wann Instances erfolgreich gestartet wurden.
Anmerkung
-
Die LaunchInstances Die API funktioniert nur mit Auto Scaling-Gruppen, die Startvorlagen verwenden. Auto Scaling-Gruppen, die Startkonfigurationen verwenden, werden nicht unterstützt. Wenn Ihre Auto Scaling-Gruppe eine Startkonfiguration verwendet, müssen Sie zu einer Startvorlage migrieren, bevor Sie synchrones Provisioning verwenden können.
-
Die LaunchInstances Die API unterstützt Richtlinien für gemischte Instanzen mit vollem Umfang On-Demand oder nur vollständige Spot-Kaufoptionen. Gemischte Richtlinien, die beide kombinieren On-Demand und Spot-Instances werden nicht unterstützt.
-
Für Auto Scaling-Gruppen, die mehrere Availability Zones abdecken, müssen Sie die Ziel-Availability Zone oder das Ziel-Subnetz angeben. Für Single-AZ-Gruppen ist dieser Parameter optional.
Synchrone Bereitstellung und asynchrone Skalierung
Synchrone Bereitstellung
Wenn Sie das verwenden LaunchInstances API, Amazon EC2 Auto Scaling:
-
Versucht sofort, die angeforderten Instances zu starten mit CreateFleet
-
Wartet auf CreateFleet um Instanz-IDs zurückzugeben, bevor geantwortet wird
-
Gibt bei Erfolg Instanz-IDs, Instanztypen und Availability Zone-Informationen zurück
-
Gibt bestimmte Fehlercodes und Details zum Ausfall zurück
-
Bietet sofortiges Feedback und ermöglicht Skalierungsentscheidungen in Echtzeit
Asynchrone Skalierung
Wenn Sie asynchrone Auto Scaling-Methoden verwenden, wie z. B. die Änderung der gewünschten Kapazität oder die Verwendung von Skalierungsrichtlinien, bietet Amazon EC2 Auto Scaling:
-
Aktualisiert die gewünschte Kapazität in der API, gibt Instances jedoch nicht sofort zurück
-
Plant Instanzstarts automatisch in allen Availability Zones
-
Startet Instanzen über Hintergrund-Workflows
-
Verteilt die Kapazität automatisch auf mehrere Availability Zones, um ein ausgewogenes Verhältnis zu gewährleisten
-
Behandelt Startfehler mit integrierter Wiederholungslogik
Sie müssen Skalierungsaktivitäten abfragen oder Ihre Auto Scaling-Gruppe beschreiben, um den Status der Startvorgänge zu überprüfen.
Einschränkungen und Überlegungen
Beachten Sie bei der Arbeit mit synchroner Bereitstellung die folgenden Hinweise und Einschränkungen:
-
Status der Instanz nach dem Start — Die von der API zurückgegebenen Instanzen befinden sich im Status Ausstehend. Sie können bei nachfolgenden Workflow-Prozessen oder Lifecycle-Hooks immer noch fehlschlagen. Eine erfolgreiche API-Antwort bedeutet, dass EC2 die Startanforderung akzeptiert und die Instance-IDs zurückgegeben hat. Instances gelten nicht automatisch als vollständig bereit für Workloads und müssen die standardmäßigen EC2- und Auto Scaling-Lebenszyklusprozesse abschließen.
-
Begrenzung des warmen Pools — Auto Scaling-Gruppen mit warmen Pools werden derzeit nicht unterstützt. Wenn Sie versuchen, den aufzurufen LaunchInstances API in einer Auto Scaling-Gruppe, für die ein Warm-Pool konfiguriert ist, führt die API einen Kaltstart durch, anstatt Warm-Pool-Instances zu verwenden, und gibt eine UnsupportedOperation Fehler. Weitere Hinweise zu Kaltstarts finden Sie unter Einschränkungen bei warmen Schwimmbecken.
-
API-Timeout und Wiederholungen — Wenn der Basiswert CreateFleet Der Vorgang dauert länger als erwartet, die API kann zu einem Timeout kommen und ein Idempotenz-Token zurückgeben. Sie können es mit demselben erneut versuchen ClientToken um den ursprünglichen Startvorgang nachzuverfolgen, oder verwende describe-instances mit dem Client-Token, um die gestarteten Instanzen zu überprüfen.
-
Einschränkungen in der Verfügbarkeitszone — Wenn sich Ihre Auto Scaling-Gruppe über mehrere Availability Zones erstreckt und das Rebalancing der Availability Zone aktiviert ist, kann das synchrone Starten von Instances zu Betriebskonflikten führen:
-
Einzelne AZ-Beschränkung pro Anruf — Jeder LaunchInstances Ein API-Aufruf kann nur auf eine Availability Zone abzielen, auch wenn sich Ihre Auto Scaling-Gruppe über mehrere Zonen erstreckt.
-
AZ-Rebalancing-Konflikte — Wenn für Ihre Auto Scaling-Gruppe das AZ-Rebalancing aktiviert ist, können sequentielle Aufrufe verschiedener AZs zusätzliche asynchrone Starts auslösen, was zu mehr Instances als beabsichtigt führt. Erwägen Sie, das AZ-Rebalancing für eine präzise Kapazitätssteuerung auszusetzen. Weitere Informationen finden Sie unter Amazon EC2 Auto Scaling-Prozesse aussetzen und wieder aufnehmen.
-
-
Teilweise Erfolgsszenarien — Das
LaunchInstancesDie API gibt möglicherweise einen teilweisen Erfolg zurück, wenn nur ein Teil der angeforderten Kapazität verfügbar ist, was dem normalen EC2-Verhalten entspricht. Die API gibt erfolgreich gestartete Instances zusammen mit Fehlerdetails für fehlgeschlagene Starts zurück. In Anwendungsfällen, in denen alle Instances zusammen gestartet werden müssen (z. B. Anwendungen, die wegen niedriger Latenz alle Instances in derselben AZ benötigen), müssen Sie teilweise gestartete Instances beenden und es in einer anderen AZ erneut versuchen. Berücksichtigen Sie dieses Verhalten, wenn Sie eine Wiederholungslogik für kapazitätssensible Workloads entwerfen. -
Gewichtungen der Instanzen — Wenn Ihre Auto Scaling-Gruppe Instance-Gewichtungen verwendet, ist RequestedCapacity Der Parameter steht für gewichtete Kapazitätseinheiten, nicht für die Anzahl der Instances. Die tatsächliche Anzahl der gestarteten Instances hängt von den ausgewählten Instance-Typen und ihren konfigurierten Gewichtungen ab. EC2 Auto Scaling begrenzt Starts auf 100 Instances pro API-Aufruf, unabhängig von der angeforderten gewichteten Kapazität.
-
Gemischte Instance-Typen — Die LaunchInstances Die API verwendet die bestehende Richtlinie für gemischte Instanzen Ihrer Auto Scaling-Gruppe, um zu bestimmen, welche Instance-Typen gestartet werden sollen. Die API startet Instances gemäß der Zuweisungsstrategie und den Prioritäten für die Instance-Typen Ihrer Gruppe.