在运行 AWS Batch 任务时,我如何解决“failed to initialize logging driver: failed to create Cloudwatch log stream status code: 400”(无法初始化日志记录驱动程序:无法创建 Cloudwatch 日志流状态代码:400)错误?
上次更新日期:2022 年 2 月 3 日
我的 AWS Batch 任务失败,我收到以下错误消息:“CannotStartContainerError: Error response from daemon: failed to initialize logging driver: failed to create CloudWatch log stream: ThrottlingException: Rate exceeded status code: 400.”(CannotStartContainerError:来自守护进程的错误响应:无法初始化日志记录驱动程序:无法创建 CloudWatch 日志流:ThrottlingException:速率超出状态代码:400。) 如何解决此错误?
简短描述
此错误表示您已达到 API 请求的 Amazon CloudWatch 服务配额。当您达到这个配额时,您的 CreateLogStream API 调用就会被限制。
使用以下任一 AWS 云服务以编程方式同时提交多个任务时,您可能会收到此错误:
- AWS Command Line Interface (AWS CLI)
- AWS 软件开发工具包
- AWS Lambda
- AWS Step Functions
解决方法
考虑实施以下一个或多个解决方案:
- 使用任务定义将重试策略应用于您的任务。
- 使用重试与带有 Jitter 的指数回退算法,然后重新提交您的任务。
- 使用 AWS Batch 数组任务避免节流,以使用单个 SubmitJob API 调用提交作业(最多 10,000 个任务副本)。