Amazon EKS 安全群組與考量 - Amazon EKS

協助改善此頁面

想要為此使用者指南做出貢獻嗎? 捲動至此頁面底部,然後選取 [編輯此頁面於] GitHub。您的貢獻將有助於使我們的用戶指南更適合所有人。

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

Amazon EKS 安全群組與考量

本主題說明 Amazon EKS 叢集的安全群組要求。

當您建立叢集時,Amazon EKS 會建立名稱為 eks-cluster-sg-my-cluster-uniqueID 的安全群組。安全性群組具有以下預設規則:

規則類型 通訊協定 連接埠 來源 目的地

傳入

全部

全部

Self

傳出

全部

全部

0.0.0.0/0(IPv4) 或 ::/0 (IPv6)

重要

如果您的叢集不需要傳出規則,則可以將其移除。如果將其移除,您仍必須具有限制叢集流量中列出的最低規則。如果您移除傳入規則,則 Amazon EKS 會在叢集更新時重新建立該規則。

Amazon EKS 會將下列標籤新增至安全群組。如果您移除標籤,則 Amazon EKS 會在叢集更新時將其新增回安全群組。

金鑰
kubernetes.io/cluster/my-cluster owned
aws:eks:cluster-name my-cluster
Name eks-cluster-sg-my-cluster-uniqueid

Amazon EKS 會自動將此安全群組與以下資源關聯,其資源也會建立:

  • 2—4 個彈性網路界面(本文件的其餘部分稱為網路界面),網路界面於叢集建立時建立。

  • 您建立的任何受管節點群組中節點的網路界面。

此安全群組的設計目的是允許來自控制平面和 受管節點群組的所有流量彼此之間可以自由流動,以及允許所有的輸出流量流往任何目的地。當您建立叢集時,您可以(選用)指定自己的安全群組。如果您指定自己的安全群組,則 Amazon EKS 還會將您指定的安全群組與為叢集建立的網路界面建立關聯。但是,其不會與您建立的任何節點群組相關聯。

您可以在叢集的 Networking (聯網) 區段下的 AWS Management Console 中判定叢集安全群組的 ID。或者,您可以執行下列 AWS CLI 命令,即可執行這項操作:

aws eks describe-cluster --name my-cluster --query cluster.resourcesVpcConfig.clusterSecurityGroupId
限制叢集流量

如果您需要限制叢集和節點之間的開放連接埠,則可以移除預設傳出規則,並且新增叢集所需的下列最低規則:如果您移除預設傳入規則,Amazon EKS 會在叢集更新時重新建立該規則。

規則類型 通訊協定 連線埠 目的地
傳出 TCP

443

叢集安全群組

傳出 TCP

10250

叢集安全群組

傳出 (DNS) TCP 和 UDP 53 叢集安全群組

您還必須為以下流量新增規則:

  • 您預期節點用於節點間通訊的任何通訊協定和連接埠。

  • 需要對外網際網路存取,以便叢集在啟動時存取 Amazon EKS API,進行叢集自我檢查和節點註冊。如果您的節點沒有網際網路存取,請檢閱 私有叢集要求 以了解其他考量事項。

  • 需要虛擬節點存取以從 Amazon ECR 或是從提取映像所需的其他容器登錄檔 API 提取映像,例如 DockerHub。如需詳細資訊,請參閱《AWS 一般參考》中的 AWS IP 地址範圍

  • 節點對 Amazon S3 進行存取。

  • 需要 IPv4IPv6 地址的個別規則。

如果您正在考慮限制規則,建議您先徹底測試 Pods,之後再將變更的規則套用到生產叢集。

如果您最初使用 Kubernetes 1.14eks.3 平台版本或更舊版本部署叢集,則請考慮下列事項:

  • 您可能還擁有控制平面和節點安全群組。建立這些群組時,群組包括之前的表格中列出的受限制的規則。不再需要這些安全群組,可以進行移除。但是,您需要確定您的叢集安全群組包含那些群組包含的規則。

  • 如果您直接使用 API 部署叢集,或者您使用 AWS CLI 或 AWS CloudFormation 之類的工具建立叢集,且在叢集建立時未指定安全群組,則 VPC 的預設安全群組會套用到 Amazon EKS 建立的叢集網路界面。