

 **協助改進此頁面** 

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

若要為本使用者指南貢獻內容，請點選每個頁面右側面板中的**在 GitHub 上編輯此頁面**連結。

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

# 為 AWS Outpost 上的 Amazon EKS 叢集建立 VPC 和子網路
<a name="eks-outposts-vpc-subnet-requirements"></a>

建立本機叢集時，您需要指定 VPC 與至少一個在 Outpost 上執行的私人子網路。本主題概述了本機叢集的 VPC 和子網路要求和考量事項。

## VPC 要求和注意事項
<a name="outposts-vpc-requirements"></a>

建立本機叢集時，您指定的 VPC 必須符合下列要求和考量事項：
+ 請確保 VPC 具有足夠的 IP 位址用於本機叢集、任何節點以及您要建立的其他 Kubernetes 資源。如果要使用的 VPC 沒有足夠的 IP 位址，請增加可用 IP 位址的數目。您可以透過將[其他無類別域間路由 (CIDR) 區塊](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#add-ipv4-cidr)與 VPC 關聯來完成此操作。您可以在建立叢集的之前或之後，將私有 (RFC 1918) 和公有 (非 RFC 1918) CIDR 區塊與 VPC 關聯。叢集可能最多需要 5 小時才能辨識您與 VPC 關聯的 CIDR 區塊。
+ VPC 無法指派 IP 字首或 IPv6 CIDR 區塊。由於這些限制，該資訊未涵蓋在[將更多 IP 位址指派給具有字首的 Amazon EKS 節點](cni-increase-ip-addresses.md)中，並且 [了解叢集、Pod 與服務的 IPv6 位址](cni-ipv6.md) 不適用於您的 VPC。
+ VPC 已啟用 DNS 主機名稱和 DNS 解析。如果沒有這些功能，本機叢集無法建立，您需要啟用這些功能並重新建立叢集。如需詳細資訊，請參閱《Amazon VPC 使用者指南》中的 [VPC 的 DNS 屬性](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html)。
+ 若要透過區域網路存取本機叢集，VPC 必須與 Outpost 的本機閘道路由表關聯。如需詳細資訊，請參閱《AWS Outposts 使用者指南》中的 [VPC 關聯](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-local-gateways.html#vpc-associations)。

## 子網需求和注意事項
<a name="outposts-subnet-requirements"></a>

在建立叢集時，指定至少一個私有子網路。如果您指定多個子網路，Kubernetes 控制平面執行個體會平均分散在子網路上。如果指定多個子網路，則子網路必須存在於相同的 Outpost 上。此外，子網路還必須具有適當的路由和安全群組許可，才能互相通訊。在建立本機叢集時，您指定的子網路必須符合下列要求：
+ 子網路都位於相同的邏輯 Outpost 上。
+ 這些子網路一起至少有三個可用於 Kubernetes 控制平面執行個體的 IP 位址。如果指定三個子網路，每個子網路必須至少有一個可用的 IP 地址。如果指定兩個子網路，每個子網路必須至少有兩個可用的 IP 地址。如果指定一個子網路，該子網路必須至少有三個可用的 IP 地址。
+ 子網路具有 Outpost 機架[本機閘道](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-local-gateways.html)的路由，以存取您本機網路上的 Kubernetes API 伺服器。如果子網路沒有 Outpost 機架本機閘道的路由，您必須在 VPC 內與 Kubernetes API 伺服器進行通訊。
+ 子網必須使用 IP 地址型命名。Amazon EKS 不支援 Amazon EC2 [資源型命名](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html#instance-naming-rbn)。

## AWS 服務的子網路存取權
<a name="subnet-access-to-services"></a>

Outposts 上的本機叢集私有子網路必須能與區域性 AWS 服務通訊。為此，您可以使用 [NAT 閘道](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)進行網際網路對外存取，或者，如果您想要所有流量在 VPC 內保持私密，可使用[介面 VPC 端點](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)。

### 使用 NAT 閘道
<a name="subnet-access-nat-gateway"></a>

Outposts 上的本機叢集私有子網路必須具有關聯的路由表，此路由表具有 Outpost 父可用區域公有子網路中 NAT 閘道的路由。公有子網路必須擁有到[網際網路閘道](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)的路由。此 NAT 閘道會啟用傳出網際網路存取，並防止來自網際網路未經要求的傳入連線連接到 Outpost 上的執行個體。

### 使用 介面 VPC 端點
<a name="vpc-subnet-requirements-vpc-endpoints"></a>

如果 Outposts 上的本機叢集私有子網路沒有傳出網際網路連線，或者如果您想要所有流量在 VPC 內保持私密，則在建立叢集之前，您必須在區域子網路中建立下列介面 VPC 端點和[閘道端點](https://docs.aws.amazon.com/vpc/latest/privatelink/gateway-endpoints.html)。


| 端點 | Endpoint type (端點類型) | 
| --- | --- | 
|   `com.amazonaws.region-code.ssm`   |  介面  | 
|   `com.amazonaws.region-code.ssmmessages`   |  介面  | 
|   `com.amazonaws.region-code.ec2messages`   |  介面  | 
|   `com.amazonaws.region-code.ec2`   |  介面  | 
|   `com.amazonaws.region-code.secretsmanager`   |  介面  | 
|   `com.amazonaws.region-code.logs`   |  介面  | 
|   `com.amazonaws.region-code.sts`   |  介面  | 
|   `com.amazonaws.region-code.ecr.api`   |  介面  | 
|   `com.amazonaws.region-code.ecr.dkr`   |  介面  | 
|   `com.amazonaws.region-code.s3`   |  閘道  | 

端點必須符合下列需求：
+ 在位於 Outpost 父可用區域的私有子網路中建立
+ 已啟用私有 DNS 名稱
+ 擁有連接的安全群組，該群組允許來自私有 Outpost 子網路之 CIDR 範圍的輸入 HTTPS 流量。

建立端點會產生費用。如需詳細資訊，請參閱 [AWS PrivateLink 定價](https://aws.amazon.com/privatelink/pricing/)。如果您的 Pod 需要存取其他 AWS 服務，則您需要建立其他端點。如需完整的端點清單，請參閱[與 AWS PrivateLink 整合的 AWS 服務](https://docs.aws.amazon.com/vpc/latest/privatelink/aws-services-privatelink-support.html)。

## 建立 VPC
<a name="outposts-create-vpc"></a>

您可以使用下列其中一個 AWS CloudFormation 範本建立符合先前需求的 VPC：
+  **[範本 1](https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2022-09-20/amazon-eks-local-outposts-vpc-subnet.yaml)**：此範本會建立 VPC，其包含的一個私有子網路在 Outpost 上，一個公有子網路在 AWS 區域中。私有子網路具有透過駐留在 AWS 區域中公有子網路中的 NAT 閘道連至網際網路的路由。此範本可用於在具有輸出網際網路存取權的子網路中建立本機叢集。
+  **[範本 2](https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2023-03-20/amazon-eks-local-outposts-fully-private-vpc-subnet.yaml)**：此範本會在 Outpost 上建立具有一個私有子網路的 VPC，以及在沒有輸入或輸出網際網路存取權 (亦稱為私有子網路) 的子網路中建立本機叢集所需的最基本的一組 VPC 端點。