Ich möchte die RunTask-API von Amazon Elastic Container Service (Amazon ECS) verwenden, um eine AWS Fargate-Aufgabe zu starten. Die Aufgabe schlägt jedoch aufgrund nicht verfügbarer Kapazität fehl.
Kurzbeschreibung
Wenn Amazon ECS nicht in der Lage ist, eine Fargate-Aufgabe zu starten, schlägt die RunTask-API mit der folgenden Fehlermeldung fehl:
"Capacity is unavailable at this time. Please try again later or in a different availability zone"
Warte, bevor du die RunTask-API erneut versuchen, um diesen Fehler zu beheben. Du kannst AWS Step Functions auch verwenden, um den Wiederholungsprozess zu automatisieren.
Lösung
Versuche es zu einem späteren Zeitpunkt erneut mit der RunTask-API.
Die folgenden Methoden bieten dir möglicherweise mehr verfügbare Kapazität für RunTask und verkürzen die Wartezeit:
- Da Amazon ECS die Kapazität nach Availability Zone verwaltet, ist es eine bewährte Methode, mehrere Subnetze in verschiedenen Availability Zones im RunTask-Anforderungsparameter networkConfiguration.awsvpcConfiguration.subnets einzurichten.
- Stelle die RunTask-Anforderungsparameter overrides.cpu und overrides.memory auf unterschiedliche CPU- und Speicherkombinationen ein. Weitere Informationen findest du unter Aufgaben-CPU und Speicher.
Die RunTask-API automatisieren
Verwende Step Functions, um die Initiierung und nachfolgende Wiederholungsversuche der RunTask-API zu automatisieren.
Wenn du RunTask von Step Functions aus startest und die Aufgabe aufgrund begrenzter Kapazität fehlschlägt, zeichnet Step Functions eine ECS.AmazonECSException in seinem Feld ErrorEquals auf. Du kannst diese Informationen verwenden, um zukünftige Wiederholungen zu konfigurieren.
Informationen zum Einrichten eines Step Function-Workflows findest du unter Amazon ECS- oder Fargate-Aufgaben mit Step Functions verwalten. Weitere Informationen zur Fehlerberichterstattung von Step Functions findest du unter Fehlerbehandlung in Step Functions.
Wenn du die RunTask-API regelmäßig von Amazon EventBridge aus aufrufen, rufe Step Functions von EventBridge aus auf, um die Wiederholungsversuche zu automatisieren.