我想使用 Amazon Elastic Container Service (Amazon ECS) RunTask API 来启动 AWS Fargate 任务。但是,由于容量不可用,任务失败。
简短描述
如果 Amazon ECS 没有能力启动 Fargate 任务,则 RunTask API 将失败并显示以下错误消息:
"Capacity is unavailable at this time. Please try again later or in a different availability zone"
要解决此错误,请等待重试 RunTask API。您还可以使用 AWS Step Functions 来自动执行重试流程。
解决方法
稍后重试 RunTask API。
以下做法可能会为您提供 RunTask 的更多可用容量并缩短等待时间:
自动执行 RunTask API
要自动启动 RunTask API 并进行后续重试,请使用 Step Functions。
如果您从 Step Functions 启动 RunTask,但该任务因容量有限而失败,则 Step Functions 会在其 ErrorEquals 字段中记录 ECS.AmazonECSException。您可以使用此信息来配置未来的重试。
要设置 Step Function 工作流程,请参阅使用 Step Functions 管理 Amazon ECS 或 Fargate 任务。有关 Step Functions 错误报告的详细信息,请参阅 Step Functions 中的错误处理。
如果您经常从 Amazon EventBridge 调用 RunTask API,请从 EventBridge 调用 Step Functions 来自动进行重试。