

 **協助改進此頁面** 

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

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

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

# 標記 EKS 自動模式的子網路
<a name="tag-subnets-auto"></a>

如果您使用 EKS Auto Mode 的負載平衡功能，則需要將 AWS 標籤新增至 VPC 子網路。

## 背景介紹
<a name="_background"></a>

這些標籤可辨識與叢集關聯的子網路，且更重要的是辨識子網路為公有還是私有。

公有子網路可透過網際網路閘道直接存取網際網路。其適用於負載平衡器等需要公開存取的資源。

私有子網路不可直接存取網際網路，且針對傳出流量會使用 NAT 閘道。其適用於不需要公有 IP 的 EKS 節點等內部資源。

如需了解 NAT 閘道及網際網路閘道的相關詳細資訊，請參閱《Amazon Virtual Private Cloud (VPC) 使用者指南》中的[連線 VPC 與其他網路](https://docs.aws.amazon.com/vpc/latest/userguide/extend-intro.html)。

## 需求
<a name="_requirement"></a>

目前，EKS 自動模式用於負載平衡的子網路，需要具有以下其中一個標籤。

### 公有子網路
<a name="_public_subnets"></a>

公有子網路適用於面向網際網路的負載平衡器。這些子網路必須具有以下標籤：


| 金鑰 | 值 | 
| --- | --- | 
|  `kubernetes.io/role/elb`  |  `1` 或 `` | 

### 私有子網路
<a name="_private_subnets"></a>

私有子網路適用於內部負載平衡器。這些子網路必須具有以下標籤：


| 金鑰 | 值 | 
| --- | --- | 
|  `kubernetes.io/role/internal-elb`  |  `1` 或 `` | 

## 程序
<a name="_procedure"></a>

開始操作之前，辨識哪些子網路為公有 (透過網際網路閘道存取) 及哪些為私有 (使用 NAT 閘道)。修改 VPC 資源需要許可。

### AWS 管理主控台
<a name="auto-tag-subnets-console"></a>

1. 開啟 Amazon VPC 主控台並導覽至**子網路**。

1. 選取要標記的子網路。

1. 選擇**標籤**索引標籤，然後選取**新增標籤**。

1. 新增適當的標籤：
   + 針對公有子網路：Key=`kubernetes.io/role/elb` 
   + 針對私有子網路：Key=`kubernetes.io/role/internal-elb` 

1. 將**值**設定為 `1`或保持空白。

1. 儲存並重複其餘子網路。

### AWS CLI
<a name="shared_aws_cli"></a>

針對公有子網路：

```
aws ec2 create-tags \
    --resources subnet-ID \
    --tags Key=kubernetes.io/role/elb,Value=1
```

針對私有子網路：

```
aws ec2 create-tags \
    --resources subnet-ID \
    --tags Key=kubernetes.io/role/internal-elb,Value=1
```

使用實際的子網路 ID 取代 `subnet-ID`。