如何修复 AWS Batch 中的无效计算环境?

上次更新时间:2019 年 11 月 21 日

我在 AWS Batch 中的计算环境状态为无效。如何解决此问题?

简短描述

当计算环境的配置错误时,它将处于无效状态。无效的计算环境无法运行作业或被删除。

如果您的计算环境处于无效状态,根据您收到的错误消息选择以下一个解决办法:

  • 如果您收到 "CLIENT_ERROR - Not authorized to perform sts:AssumeRole (Service: AWSSecurityTokenService; Status Code: 403; Error Code: AccessDenied; Request ID: dc0e2d28-2e99-11e7-b372-7fcc6fb65fe7)" 消息,完成修复无效服务角色部分的步骤。
  • 如果您收到 "Error message - CLIENT_ERROR - Parameter: SpotFleetRequestConfig.IamFleetRole is invalid.(Service: AmazonEC2; Status Code: 400; Error Code: InvalidSpotFleetRequestConfig; Request ID: Parameter: SpotFleetRequestConfig.IamFleetRole is invalid)" 消息,完成修复无效 Spot 队列角色部分的步骤。
  • 如果您收到 "CLIENT_ERROR - The specified launch template, with template ID lt-1234ab56789cd, does not exist" 消息,完成禁用并删除您的计算环境部分的步骤。
  • 对于 "CLIENT_ERROR - Access denied" 消息,创建拥有正确权限的服务角色,或选择拥有正确权限的现有服务角色。
  • 如果您收到 "Internal Error" 消息,则完成禁用,然后启用您的计算环境部分的步骤。
  • 如果您收到 "INVALID CLIENT_ERROR - null (Service: AWSLogs; Status Code: 503; Error Code: null; Request ID: null)" 消息,则完成禁用,然后启用您的计算环境部分的步骤。
  • 如果您收到 "CLIENT_ERROR - The request uses the same client token as previous, but non-identical request" 消息,则完成禁用,然后启用您的计算环境部分的步骤。

解决方法

修复无效的服务角色

  1. 打开 AWS Batch 控制台
  2. 在导航窗格中,选择计算环境
  3. 选择处于无效状态的计算环境。
    注:如果您的计算环境处于已禁用状态,选择启用以启用您的计算环境。
  4. 选择编辑
  5. 针对服务角色,选择拥有 AWS Batch 调用其他 AWS 服务所需必要权限的服务角色。
    重要提示:您的服务角色管理您通过该服务使用的资源。在使用服务前,您必须有为 AWS Batch 提供必要权限的 AWS Identity and Access Management (IAM) 策略和角色。如果没有,您必须创建拥有相关权限的服务角色
  6. 选择保存

修复无效的 Spot 队列角色

若创建使用 Amazon EC2 Spot 队列实例的托管计算环境,则您必须创建角色,由它赋予 Spot 队列代表您出价、启动、添加标签和终止实例的权限。

如果您没有 Spot 队列角色,完成以下步骤,以便为您的计算环境创建一个:

  1. 打开 IAM 控制台
  2. 在导航窗格中,选择角色
  3. 选择创建角色
  4. 选择 AWS 服务,然后选择 EC2 作为将使用您所创建角色的服务。
  5. 选择您的用例部分,选择 EC2 Spot 队列角色
    重要提示:注意不要选择名称相似的 EC2 – Spot 队列
  6. 选择下一步:权限
  7. 选择下一步:添加标签,然后选择下一步:检查
  8. 角色名称中输入 AmazonEC2SpotFleetRole
  9. 选择创建角色
    注:使用您的新 Spot 队列角色来创建新的计算环境。现有计算环境无法更改 Spot 队列角色。要终止过时的环境,禁用并删除该环境。
  10. 打开 AWS Batch 控制台
  11. 在导航窗格中,选择计算环境
  12. 选择处于无效状态的计算环境,然后选择禁用
  13. 选择删除

禁用并删除您的计算环境

您必须禁用并删除您的计算环境,因为与您的计算环境关联的启动模板并不存在。这意味着您无法使用与您的启动模板关联的计算环境。您必须删除计算环境,然后创建新的计算环境。

  1. 打开 AWS Batch 控制台
  2. 在导航窗格中,选择计算环境
  3. 选择处于无效状态的计算环境,然后选择禁用
  4. 选择删除
  5. 创建新的计算环境

禁用,然后启用您的计算环境

  1. 打开 AWS Batch 控制台
  2. 在导航窗格中,选择计算环境
  3. 选择处于无效状态的计算环境,然后选择禁用
  4. 从第 3 步选择相同的计算环境,然后选择启用

这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?