Starten Sie Instances synchron - Amazon EC2 Auto Scaling

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 Scaling-Gruppe: asynchrones Skalierungsverhalten und synchrone Bereitstellung mithilfe der API. LaunchInstances

Bei der synchronen Bereitstellung verwenden Sie die LaunchInstances API, um eine bestimmte Anzahl von Instances in einer bestimmten Availability Zone anzufordern. Die synchrone Bereitstellung bietet die folgenden Vorteile:

  • Sofortiges Feedback zur Kapazitätsverfügbarkeit in bestimmten Availability Zones

  • Präzise Kontrolle darüber, in welcher Availability Zone Instances gestartet werden

  • Deterministische Instanz IDs zur sofortigen Verwendung in Orchestrierungssystemen

  • Skalierungsentscheidungen in Echtzeit auf der Grundlage von tatsächlichen Kapazitätsbeschränkungen

  • Schnellere Skalierung durch Eliminierung von Wartezeiten für asynchrone Auto Scaling Scaling-Starts

Wenn Sie bei asynchronem Auto Scaling die gewünschte Kapazität ändern oder wenn eine Skalierungsrichtlinie ausgelöst wird, verarbeitet Amazon EC2 Auto Scaling die Skalierungsanforderung und startet Instances im Hintergrund. Sie müssen die Skalierungsaktivitäten überwachen oder Ihre Auto Scaling Scaling-Gruppe beschreiben, um festzustellen, wann Instances erfolgreich gestartet wurden.

Anmerkung
  • Die LaunchInstances API funktioniert nur mit Auto Scaling Scaling-Gruppen, die Startvorlagen verwenden. Auto Scaling Scaling-Gruppen, die Startkonfigurationen verwenden, werden nicht unterstützt. Wenn Ihre Auto Scaling Scaling-Gruppe eine Startkonfiguration verwendet, müssen Sie zu einer Startvorlage migrieren, bevor Sie die synchrone Bereitstellung verwenden können.

  • Die LaunchInstances API unterstützt Richtlinien für gemischte Instanzen mit ausschließlich On-Demand-Kaufoptionen oder vollständigen Spot-Kaufoptionen. Gemischte Richtlinien, die sowohl On-Demand-Instances als auch Spot-Instances kombinieren, werden nicht unterstützt.

  • Für Auto Scaling Scaling-Gruppen, die mehrere Availability Zones abdecken, müssen Sie die Availability Zone oder das Zielsubnetz angeben. Für Single-AZ-Gruppen ist dieser Parameter optional.

Synchrone Bereitstellung und asynchrone Skalierung

Synchrone Bereitstellung

Wenn Sie die LaunchInstances API verwenden, geht Amazon EC2 Auto Scaling wie folgt vor:

  • Versucht sofort, die angeforderten Instances zu starten mit CreateFleet

  • Wartet, CreateFleet bis die Instanz zurückgegeben wird, IDs bevor sie reagiert

  • Gibt bei Erfolg Informationen zu Instance IDs, Instance-Typen und Availability Zone zurück

  • Gibt spezifische Fehlercodes und Details zum Fehler zurück

  • Bietet sofortiges Feedback und ermöglicht Skalierungsentscheidungen in Echtzeit

Asynchrone Skalierung

Wenn Sie asynchrone Auto Scaling-Methoden verwenden, z. B. die gewünschte Kapazität ändern oder Skalierungsrichtlinien verwenden, kann Amazon EC2 Auto Scaling:

  • Aktualisiert die gewünschte Kapazität in der API, gibt aber nicht sofort Instances zurück

  • Plant, dass die Instanz automatisch in allen Availability Zones startet

  • Startet Instanzen über Hintergrund-Workflows

  • Verteilt die Kapazität automatisch auf mehrere Availability Zones und sorgt so für ein ausgewogenes Verhältnis

  • Behandelt Startfehler mit integrierter Wiederholungslogik

Sie müssen Skalierungsaktivitäten abfragen oder Ihre Auto Scaling 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:

  • Instanzstatus nach dem Start — Von der API zurückgegebene 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 werden nicht automatisch als vollständig bereit für Workloads betrachtet und müssen die standardmäßigen EC2- und Auto Scaling Scaling-Lebenszyklusprozesse abschließen.

  • Beschränkung auf warme Pools — Auto Scaling Scaling-Gruppen mit warmen Pools werden derzeit nicht unterstützt. Wenn Sie versuchen, die LaunchInstances API in einer Auto Scaling Scaling-Gruppe aufzurufen, für die ein warmer Pool konfiguriert ist, führt die API einen Kaltstart durch, anstatt Warm-Pool-Instances zu verwenden, und gibt einen UnsupportedOperation Fehler zurück. Weitere Informationen zu Kaltstarts finden Sie unter Einschränkungen von Warmpools.

  • API-Timeout und Wiederholungsversuche — Wenn der zugrunde liegende CreateFleet Vorgang länger als erwartet dauert, kann es sein, dass die API eine Zeitüberschreitung durchführt und ein Idempotenz-Token zurückgibt. Sie können es erneut versuchen, indem Sie dasselbe verwenden ClientToken , um den ursprünglichen Startvorgang nachzuverfolgen, oder describe-instances mit dem Client-Token verwenden, um gestartete Instances zu überprüfen.

  • Einschränkungen der Availability Zone — Wenn sich Ihre Auto Scaling Scaling-Gruppe über mehrere Availability Zones erstreckt und Availability Zone Rebalancing aktiviert ist, kann das synchrone Starten von Instances zu Betriebskonflikten führen:

    • Einzelne AZ-Beschränkung pro Anruf — Jeder LaunchInstances API-Aufruf kann nur auf eine Availability Zone abzielen, auch wenn sich Ihre Auto Scaling Scaling-Gruppe über mehrere Zonen erstreckt.

    • Konflikte beim AZ-Rebalancing — Wenn in Ihrer Auto Scaling Scaling-Gruppe das AZ-Rebalancing aktiviert ist, AZs können sequentielle Aufrufe zwischen verschiedenen Geräten zusätzliche asynchrone Starts auslösen, was zu mehr Instances als beabsichtigt führt. Erwägen Sie, das AZ-Rebalancing auszusetzen, um die Kapazität präzise zu steuern. Weitere Informationen finden Sie unter Amazon EC2 Auto Scaling Scaling-Prozesse aussetzen und fortsetzen.

  • Teilweise Erfolgsszenarien — Die LaunchInstances 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, bei denen alle Instances zusammen gestartet werden müssen (z. B. Anwendungen, die für eine geringe 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 die Wiederholungslogik für kapazitätssensitive Workloads entwerfen.

  • Instanzgewichte — Wenn Ihre Auto Scaling Scaling-Gruppe Instance-Gewichtungen verwendet, steht der RequestedCapacity Parameter 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 Instanztypen — Die LaunchInstances API verwendet die bestehende Richtlinie für gemischte Instanzen Ihrer Auto Scaling Scaling-Gruppe, um zu bestimmen, welche Instance-Typen gestartet werden sollen. Die API startet Instances entsprechend der Zuweisungsstrategie und den Prioritäten Ihrer Gruppe für den Instanztyp.