服务对象与地域限制
PuppyIP 仅面向海外合规企业及其授权人员提供服务,不面向中国大陆地区开放或提供代理服务。本服务仅限用于中国大陆境外的合法业务活动,严禁在中国大陆境内使用本服务。
代理 IP 或服务器位于境外,不改变上述限制。不得通过中转、转接、共享或转售向中国大陆境内的最终使用者提供本服务。使用前请阅读用户服务协议。
本文要点
- AWS Batch 现可为 EKS 集群管理一个供 Batch 服务关联角色使用的 access entry,适用于 AWS Batch 已提供的各个 AWS Region。
- 在 API_AND_CONFIG_MAP 模式下,Batch 会对同一账号和 Region 中指向该集群的所有计算环境协调 desiredState;只改一项不足以保证切换。
- access entry 关联的 AWSBatchClusterPolicy 不会自动授予命名空间内的 Pod 管理权限,仍需单独关联 AWSBatchNamespacePolicy。
- AWS Batch 启动的节点实例角色需要自己的集群访问权限;它与 Batch 服务关联角色的 access entry 是两条独立权限链。
- AWS Batch 本身不额外收费,但 EKS 集群和实际运行资源仍按 AWS 当前定价计费。
这项能力改变了什么?
AWS 在 2026 年 10 月 5 日宣布,AWS Batch 现在可通过 Amazon EKS access entry 认证访问 EKS 计算环境。access entry 是由 API 管理的集群访问记录,可作为旧 aws-auth ConfigMap 方式的补充。
你可以在 CreateComputeEnvironment 或 UpdateComputeEnvironment 请求中设置 eksConfiguration.accessEntry.desiredState。满足条件时,AWS Batch 会为其服务关联角色在每个集群创建一个由 Batch 管理的 access entry,并关联 AWSBatchClusterPolicy。
该能力覆盖 AWS Batch 已提供的全部 AWS Region。它不会替你创建或管理 EKS 集群,也不会自动补齐 Kubernetes 命名空间权限或节点角色访问。
先按 EKS 的 authenticationMode 判断行为
在 CONFIG_MAP 模式下,集群不支持 access entry。AWS Batch 可以记录你指定的 desiredState,但不会因此创建或删除 access entry;批处理服务仍通过 aws-auth ConfigMap 认证。
在 API 模式下,access entry 是集群认证路径。ENABLED 会让 AWS Batch 管理该入口,INHERIT_FROM_CLUSTER 在 API-only 集群上也会建立并管理入口;DISABLED 会被拒绝,因为这种模式没有可回退使用的 aws-auth ConfigMap。
在 API_AND_CONFIG_MAP 模式下,AWS Batch 会比较同一 AWS 账号和 Region 中所有指向该集群的 Batch 计算环境。全部设为 ENABLED 才会创建入口;全部设为 DISABLED 才会删除入口。
如果这些计算环境的值不一致,或有环境未记录 desiredState,Batch 会保留现有访问模式,不会仅凭其中一项的 ENABLED 或 DISABLED 切换整个集群。INHERIT_FROM_CLUSTER 在这种模式下不会单独添加或删除入口。
access entry 还不等于任务权限已就绪
调用 CreateComputeEnvironment 或 UpdateComputeEnvironment 的 IAM 身份需要相应的 EKS 权限:eks:DescribeCluster、eks:DescribeAccessEntry、eks:CreateAccessEntry、eks:AssociateAccessPolicy 和 eks:DeleteAccessEntry。
AWSBatchClusterPolicy 是集群级策略。启用 Batch 管理的 access entry 后,你仍需把命名空间范围的 AWSBatchNamespacePolicy 关联到服务关联角色,授权 AWS Batch 在指定 namespace 中创建和管理 Pod。缺少这项关联时,作业可能停留在 RUNNABLE。
节点加入集群使用的是 computeResources.instanceRole 指定的实例角色,它需要单独的集群访问权。API 模式下要为节点角色建立 access entry;API_AND_CONFIG_MAP 模式下,已有有效的 aws-auth 映射也可以满足该角色的认证。
DescribeComputeEnvironments 返回的 accessEntry.status=ACTIVE 只说明 Batch 管理的入口已存在。AWS 文档提醒,策略关联可能尚未完成;因此 ACTIVE 不能单独作为任务权限已可用的证明。
启用前按集群清点,再逐项验证
先按集群 ARN 列出同一账号和 Region 中所有 AWS Batch EKS 计算环境,记录每项的 authenticationMode、desiredState 和目标 namespace。不要只检查准备改动的那一项。
确认集群认证模式允许目标切换,并让执行变更的 IAM 身份具备 AWS Batch 与上述 EKS 操作权限。API_AND_CONFIG_MAP 集群要预先规划如何把所有目标计算环境设为同一状态。
对于每个需要启用的现有计算环境,可使用以下命令更新 access entry 状态;把占位符替换为你自己的计算环境名称,并按集群范围完成一致性变更:aws batch update-compute-environment --compute-environment <compute-environment-name> --eks-configuration 'accessEntry={desiredState=ENABLED}'
随后使用 DescribeComputeEnvironments 检查 desiredState 和 status,再分别核对 AWSBatchNamespacePolicy 与节点实例角色的访问配置。可以在非生产或受控队列中验证任务能否进入预期状态;本文没有在读者环境执行过这些操作。
AWS Batch 定价页称 Batch 服务本身不额外收费;EKS 集群及 EC2 等实际资源仍可能产生费用。EKS 集群价格会随 Kubernetes 版本支持级别变化,部署前应按目标 Region 查看当前价格。
回退或删除计算环境时别留下入口
API_AND_CONFIG_MAP 集群如需回到 aws-auth 方式,先把所有指向该集群的 AWS Batch 计算环境设为 DISABLED,等入口按规则移除后再确认访问链。API-only 集群不接受 DISABLED;不要把它当作可用的回退步骤。
删除一个 AWS Batch 计算环境不会自动删除集群上的 Batch-managed access entry,即使它是最后一个环境。需要清理时,应在删除前对所有目标计算环境执行 DISABLED,并按 AWS 文档确认该集群的其他访问与节点角色配置仍符合预期。
资料来源
常见问题
只把一个 AWS Batch 计算环境设为 ENABLED 就够了吗?
不一定。API_AND_CONFIG_MAP 模式下,Batch 会协调同一账号和 Region 中指向该集群的所有计算环境;只有全部记录为 ENABLED 才会创建入口。
AWSBatchClusterPolicy 已关联,为什么作业仍停在 RUNNABLE?
该策略是集群级访问策略。还需要把 AWSBatchNamespacePolicy 关联到目标 namespace,并为节点实例角色配置独立的集群访问权。
删除最后一个计算环境会清理 access entry 吗?
不会。先对所有指向该集群的计算环境设为 DISABLED,再按 AWS 文档删除环境和清理入口。
启用 AWS Batch EKS access entry 需要单独付费吗?
AWS Batch 定价页称 Batch 服务本身不额外收费;Amazon EKS 集群和实际使用的计算、存储及网络资源可能产生费用,金额取决于资源、Region 和配置。