

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 非托管计算环境
<a name="unmanaged_compute_environments"></a>

在非托管计算环境中，您可以管理自己的计算资源。 Amazon Batch 支持 Amazon ECS 和 Amazon EKS 的非托管计算环境，允许您在利用 Batch 的作业计划功能的同时保持对基础设施的控制。

**注意**  
Amazon 非托管计算环境不支持 Fargate 资源。

对于非托管的 Amazon ECS 计算环境，您必须验证用于计算资源的 AMI 是否符合 Amazon ECS 容器实例 AMI 规范。有关更多信息，请参阅[计算资源 &AMI; 规范](batch-ami-spec.md)和[教程：创建计算资源 AMI](create-batch-ami.md)。

创建非托管计算环境后，使用 [DescribeComputeEnvironments](https://docs.amazonaws.cn/batch/latest/APIReference/API_DescribeComputeEnvironments.html)API 操作查看计算环境的详细信息。找到与环境相关联的 Amazon ECS 集群，然后手动在该 Amazon ECS 集群中启动容器实例。

以下 Amazon CLI 命令还提供了 Amazon ECS 集群 ARN。

```
$ aws batch describe-compute-environments \
    --compute-environments {{unmanagedCE}} \
    --query "computeEnvironments[].ecsClusterArn"
```

有关更多信息，请参阅 *Amazon Elastic Container Service 开发人员指南*中的[启动 Amazon ECS 容器实例](https://docs.amazonaws.cn/AmazonECS/latest/developerguide/launch_container_instance.html)。启动计算资源时，请指定 Amazon ECS 集群 ARN，以便资源使用以下 Amazon EC2 用户数据注册。{{ecsClusterArn}}替换为您通过上一个命令获得的集群 ARN。

```
#!/bin/bash
echo "ECS_CLUSTER={{ecsClusterArn}}" >> /etc/ecs/ecs.config
```

在非托管的 Amazon EKS 计算环境中，您可以管理自己的 Kubernetes 节点，同时 Amazon Batch 处理任务调度和放置。它允许您直接控制您的 Kubernetes 基础架构，以满足安全性、合规性或运营要求。您负责配置和配置您的 Amazon EKS 节点，同时与现有的 Amazon EKS 集群 Amazon Batch 集成以安排和运行作业。

有关更多信息，请参阅[教程：使用 Amazon EKS 资源创建非托管计算环境](https://docs.amazonaws.cn/batch/latest/userguide/create-compute-environment-unmanaged-eks.html)。

**亚马逊 EKS 自动模式兼容性**  
Amazon Batch 目前不在 [Amazon EKS 自动模式](https://docs.amazonaws.cn/eks/latest/userguide/automode.html)工作节点上运行作业 — 非托管 Amazon Batch的 Amazon EKS 计算环境需要带有客户标签的永久节点，而自动模式则根据待处理的 pod 压力通过 Karpenter 动态配置节点。  
非托管的 Amazon EKS 计算环境可以与为其他工作负载启用自动模式的 Amazon EKS 集群共存，前提是该 Amazon Batch 计算环境指向不由自动模式管理的专用节点组。自动模式将继续独立管理非Amazon Batch 工作负载，而不会干扰 Amazon Batch 节点组。