

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

# 网络配置


AWS ParallelCluster 使用亚马逊虚拟私有云 (VPC) Virtual Private Cloud 进行联网。VPC 提供了一个灵活且可配置的网络平台，您可以在其中部署集群。

VPC 必须有`DNS Resolution = yes`、`DNS Hostnames = yes`和 DHCP 选项以及该区域的正确域名。默认 DHCP 选项集已经指定了所需的 *AmazonProvidedDNS*。如果指定多个域名服务器，请参阅 *Amazon VPC 用户指南* 中的 [DHCP 选项集](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)。

AWS ParallelCluster 支持以下高级配置：
+ 适用于头节点和计算节点的一个子网。
+ 两个子网，头节点位于一个公有子网中，计算节点位于私有子网中。子网可以是新的子网，也可以是现有子网。

所有这些配置都可以在有或没有公有 IP 地址的情况下运行。 AWS ParallelCluster 也可以部署为对所有 AWS 请求使用 HTTP 代理。这些配置的组合会产生许多部署方案。例如，您可以配置一个公有子网，允许所有人通过 Internet 进行访问。或者，您可以使用所有流量的 HTTP 代理配置完全私有网络。 AWS Direct Connect 

有关其中一些情形的说明，请参阅以下架构图：

## AWS ParallelCluster 在单个公有子网中


此架构的配置需要以下设置：

```
[vpc public]
vpc_id = vpc-xxxxxx
master_subnet_id = subnet-<public>
use_public_ips = true
```

[`use_public_ips`](vpc-section.md#use-public-ips) 设置不能设为 `false`，因为互联网网关要求所有实例都具有全局唯一的 IP 地址。有关更多信息，请参阅 *Amazon VPC 用户指南* 中的[启用互联网访问](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html#vpc-igw-internet-access)。

## AWS ParallelCluster 使用两个子网


![\[AWS ParallelCluster 使用两个子网\]](http://docs.aws.amazon.com/zh_cn/parallelcluster/v2/ug/images/networking_two_subnets.jpg)


为计算实例创建新的私有子网的配置要求使用以下设置：

 *请注意，所有的值仅作为示例提供。*

```
[vpc public-private-new]
vpc_id = vpc-xxxxxx
master_subnet_id = subnet-<public>
compute_subnet_cidr = 10.0.1.0/24
```

使用现有私有网络的配置要求使用以下设置：

```
[vpc public-private-existing]
vpc_id = vpc-xxxxxx
master_subnet_id = subnet-<public>
compute_subnet_id = subnet-<private>
```

这两种配置都需要 [NAT 网关](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)或内部代理才能为计算实例启用 Web 访问。

## AWS ParallelCluster 在使用连接的单个私有子网中 AWS Direct Connect


![\[私密 AWS ParallelCluster 使用 AWS Direct Connect\]](http://docs.aws.amazon.com/zh_cn/parallelcluster/v2/ug/images/networking_private_dx.jpg)


此架构的配置需要以下设置：

```
[cluster private-proxy]
proxy_server = http://proxy.corp.net:8080

[vpc private-proxy]
vpc_id = vpc-xxxxxx
master_subnet_id = subnet-<private>
use_public_ips = false
```

当 `use_public_ips` 设置为 `false` 时，必须正确设置 VPC 以便对所有流量使用代理。头节点和计算节点都需要 Web 访问权限。

## AWS ParallelCluster 使用调`awsbatch`度器


当您使用`awsbatch`作为调度器类型时， AWS ParallelCluster 会创建一个 AWS Batch 托管计算环境。该 AWS Batch 环境负责管理亚马逊弹性容器服务 (Amazon ECS) 容器实例，这些实例是在中启动的。`compute_subnet` AWS Batch 为了正常运行，Amazon ECS 容器实例需要访问外部网络才能与 Amazon ECS 服务终端节点通信。这会转换为以下情形：
+ `compute_subnet` 使用 NAT 网关访问互联网。（我们建议采用此方法。）
+ 在 `compute_subnet` 中启动的实例具有公有 IP 地址，并可通过互联网网关访问互联网。

此外，如果您对多节点并行作业感兴趣（来自 [AWS Batch 文档](https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html#mnp-ce)）：

AWS Batch 多节点并行任务使用 Amazon ECS `awsvpc` 网络模式，该模式为您的多节点并行任务容器提供了与 Amazon EC2 实例相同的联网属性。每个多节点并行作业容器都可获得自己的弹性网络接口、主要私有 IP 地址以及内部 DNS 主机名。在同一 Amazon VPC 子网中创建网络接口，作为其主机计算资源。适用于计算资源的任何安全组，也适用于该主机计算资源。

当使用 Amazon ECS 任务联网时，`awsvpc` 网络模式不为使用 Amazon EC2 启动类型的任务提供具有公有 IP 地址的弹性网络接口。要访问互联网，必须在配置为使用 NAT 网关的私有子网中启动使用 Amazon EC2 启动类型的任务。

要使集群能够运行多节点并行作业，必须配置 NAT 网关。

![\[AWS ParallelCluster 与awsbatch调度器联网\]](http://docs.aws.amazon.com/zh_cn/parallelcluster/v2/ug/images/networking_batch.jpg)


有关更多信息，请参阅以下主题：
+  [AWS Batch 托管计算环境](https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html#managed_compute_environments) 
+  [AWS Batch 多节点并行作业](https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html) 
+  [使用 `awsvpc` 网络模式进行 Amazon ECS 任务联网](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 