Desidero utilizzare l'API RunTask di Amazon Elastic Container Service (Amazon ECS) per avviare un'attività AWS Fargate. Tuttavia, l'operazione non riesce per capacità indisponibile.
Breve descrizione
Se Amazon ECS non è in grado di avviare un'attività Fargate, l'API RunTask ha esito negativo con il seguente messaggio di errore:
"Capacity is unavailable at this time. Please try again later or in a different availability zone"
Per risolverlo, attendi prima di riprovare l'API RunTask. Puoi anche utilizzare AWS Step Functions per automatizzare il processo di ripetizione.
Risoluzione
Ritenta l'API RunTask in un secondo momento.
Le seguenti pratiche potrebbero garantire una maggiore capacità disponibile per RunTask e ridurre i tempi di attesa:
- Poiché Amazon ECS gestisce la capacità in base alla zona di disponibilità, è consigliabile impostare più sottoreti in diverse zone di disponibilità nel parametro di richiesta networkConfiguration.awsvpcConfiguration.subnets di RunTask.
- Imposta i parametri di richiesta overrides.cpu and overrides.memory di RunTask su diverse combinazioni di CPU e memoria. Per ulteriori informazioni, consulta CPU e memoria dell'attività.
Automatizza l'API RunTask
Per automatizzare l'avvio e i successivi tentativi dell'API RunTask, utilizza Step Functions.
Se avvii RunTask da Step Functions e l'operazione ha esito negativo a causa della capacità limitata, Step Functions registra un errore ECS.AmazonECSException nel campo ErrorEquals. Puoi utilizzare queste informazioni per configurare i tentativi futuri.
Per configurare un flusso di lavoro Step Function, consulta Esegui attività Amazon ECS o Fargate con Step Functions. Per ulteriori informazioni sulla segnalazione degli errori di Step Functions, consulta Gestione degli errori nei flussi di lavoro di Step Functions.
Se chiami regolarmente l'API RunTask da Amazon EventBridge, chiama Step Functions da EventBridge per automatizzare la ripetizione.