我想設定用於 Amazon Elastic Kubernetes Service (Amazon EKS) 叢集的子網路。
簡短描述
選擇以下組態選項之一:
- 若要從您的工作節點取得傳出和傳入網際網路存取權,請完成設定公有子網路部分中的步驟。
- 若要從您的工作節點取得僅傳出網際網路存取權,請完成設定具有傳出網際網路存取的私有子網路部分中的步驟。
- 若要限制您工作節點的傳出和傳入網際網路存取,請完成設定沒有網際網路存取的私有子網路部分中的步驟。例如為私有 Amazon EKS 叢集選擇此解決方案。
解決方案
設定公有子網路
為 Amazon EKS 叢集建立子網路時,請考慮以下各項:
1. 將子網路與設定為透過網際網路閘道將流量路由到 0.0.0.0/0 目標的路由表相關聯。例如:igw-xxxxxxxx
2. 為子網路啟動 auto-assign public IPV4 address 屬性。
3. 完成使用子網路標記限制負載平衡器部署部分中的步驟。
設定具有傳出網際網路存取的私有子網路
為 Amazon EKS 叢集建立子網路時,請考慮以下各項:
1. 將子網路與設定為將流量路由到 NAT 閘道以僅允許傳出連線到網際網路的路由表相關聯。
2. 驗證是否未為子網路啟動 auto-assign public IPv4 address。
3. 完成使用子網路標記限制負載平衡器部署部分中的步驟。
設定沒有網際網路存取的私有子網路
1. 確認子網路未與設定為將流量路由到 NAT 閘道或網際網路閘道的路由表相關聯。這可確保從您的工作節點封鎖網際網路存取。
2. 確認未啟動 auto-assign public IPv4 address。
3. 為您的 VPC 建立Amazon Virtual Private Cloud (Amazon VPC) 端點。您的工作節點需要以下 VPC 端點才能加入 Amazon EKS 叢集:
com.amazonaws.your_region.ec2
com.amazonaws.your_region.ecr.api
com.amazonaws.your_region.ecr.dkr
com.amazonaws.your_region.s3
**注意:**將 your_region 取代為您的 AWS 區域。
4. (如果需要) 根據您的應用程式需求建立額外 VPC 端點。請參閱以下範例。
對於 Amazon CloudWatch Logs:
com.amazonaws.your_region.logs
對於服務帳戶的 Kubernetes Cluster Autoscaler 或 AWS Identity and Access Management (IAM) 角色:
com.amazonaws.your_region.sts
對於 Application Load Balancer:
com.amazonaws.your_region.elasticloadbalancing
對於 Kubernetes Cluster Autoscaler:
com.amazonaws.your_region.autoscaling
對於 AWS App Mesh:
com.amazonaws.your_region.appmesh-envoy-management
對於 AWS X-Ray:
com.amazonaws.your_region.xray
**注意:**將 your_region 取代為您的 AWS 區域。
5. 完成使用子網路標記限制負載平衡器部署部分中的步驟。
使用子網路標記限制負載平衡器部署
子網路標記告訴 AWS 負載平衡器控制器哪個子網路可用於建立外部或內部負載平衡器。
對於公有子網路:
若要限制在您 VPC 上的特定公有子網路使用 AWS 負載平衡器控制器部署外部負載平衡器,請按如下方式標記該子網路:
Key - kubernetes.io/role/elb
Value - 1
對於私有子網路:
若要限制在特定私有子網路上使用 AWS 負載平衡器控制器部署內部負載平衡器,請按如下方式標記該子網路:
Key - kubernetes.io/role/internal-elb
Value - 1
**注意:**您可以將節點和 Kubernetes 資源部署到您在建立叢集時指定的相同子網路。您也可以將節點和 Kubernetes 資源部署到您在建立叢集時未指定的子網路。您部署節點和 Kubernetes 資源的任何子網路必須符合相關要求。如需詳細資訊,請參閱子網路要求和注意事項。
相關資訊
Amazon EKS VPC 與子網路要求和注意事項
AWS PrivateLink 概念
私有叢集要求
Amazon EKS 上的應用程式負載平衡