本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 AWS Batch 调度器的 AWS ParallelCluster
当使用 awsbatch
作为调度器类型时,AWS ParallelCluster 会创建一个 AWS Batch 托管计算环境。AWS Batch 环境管理 Amazon Elastic Container Service (Amazon ECS) 容器实例。这些实例在 AwsBatchQueues/Networking/SubnetIds 参数中配置的子网中启动。为了使 AWS Batch 正常工作,Amazon ECS 容器实例需要外部网络访问权限以便与 Amazon ECS 服务端点进行通信。这会转换为以下情形:
-
为队列指定的子网 ID 使用 NAT 网关访问互联网。我们建议采用此方法。
-
在队列子网中启动的实例具有公有 IP 地址,并可通过互联网网关访问互联网。
此外,如果您对多节点并行作业感兴趣(来自 AWS Batch 文档):
AWS Batch 多节点并行作业使用 Amazon ECS awsvpc
网络模式。这将使您的多节点并行作业容器具有与 Amazon EC2 实例相同的网络属性。每个多节点并行作业容器都可获得自己的弹性网络接口、主要私有 IP 地址以及内部 DNS 主机名。在同一 Amazon VPC 子网中创建网络接口,作为其主机计算资源。适用于计算资源的任何安全组,也适用于该主机计算资源。
当使用 Amazon ECS 任务联网时,awsvpc
网络模式不为使用 Amazon EC2 启动类型的任务提供具有公有 IP 地址的弹性网络接口。要访问互联网,必须在配置为使用 NAT 网关的私有子网中启动使用 Amazon EC2 启动类型的任务。
要使集群能够运行多节点并行作业,必须配置 NAT 网关。
之前的所有配置和考虑因素也适用于 AWS Batch。以下是 AWS Batch 联网配置的示例:
# Note that all values are only provided as examples HeadNode: ... Networking: SubnetId: subnet-12345678 # subnet with internet gateway, NAT gateway or proxy #ElasticIp: true | false | eip-12345678 #Proxy: #HttpProxyAddress: http://proxy-address:port Ssh: KeyName: ec2-key-name Scheduling: Scheduler: awsbatch AwsBatchQueues: - ... Networking: SubnetIds: - subnet-23456789 # subnet with internet gateway, NAT gateway or proxy #AssignPublicIp: true | false
在 Scheduling/AwsBatchQueues/Networking 部分中,SubnetIds 是列表类型,但目前仅支持一个子网。
有关更多信息,请参阅以下主题: