

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 網路組態
<a name="networking"></a>

AWS ParallelCluster 使用 Amazon Virtual Private Cloud (VPC) 進行聯網。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 代理。這些組態的組合會產生許多部署案例。例如，您可以設定具有網際網路所有存取權的單一公有子網路。或者，您可以使用 AWS Direct Connect 和 HTTP 代理為所有流量設定全私有網路。

請參閱以下架構圖，以取得其中某些案例的示意圖：

## AWS ParallelCluster 在單一公有子網路中
<a name="aws-parallelcluster-in-a-single-public-subnet"></a>

此架構的組態需要下列設定：

```
[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 使用兩個子網路
<a name="aws-parallelcluster-using-two-subnets"></a>

![\[AWS ParallelCluster 使用兩個子網路\]](http://docs.aws.amazon.com/zh_tw/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
<a name="aws-parallelcluster-in-a-single-private-subnet-connected-using-direct-connect"></a>

![\[AWS ParallelCluster 使用 的私有 AWS Direct Connect\]](http://docs.aws.amazon.com/zh_tw/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`排程器
<a name="awsbatch-networking"></a>

當您使用 `awsbatch`做為排程器類型時， 會 AWS ParallelCluster 建立 AWS Batch 受管運算環境。 AWS Batch 環境負責管理在 中啟動的 Amazon Elastic Container Service (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_tw/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) 