本主題說明 GKE on AWS 如何管理叢集的 AWS 安全性群組規則,以及如何修改節點集區和控制層副本的防火牆規則。
安全性群組和代管 DNS
如果您使用代管 DNS 伺服器 (而非 AWS 提供的 DNS),控制平面和節點集區安全群組必須允許 TCP 和 UDP 通訊埠 53 上的輸出流量。
控制層安全群組
控制層安全群組會為每個控制層副本定義傳入和傳出 TCP 流量的防火牆規則。
控制層由三個 EC2 執行個體組成,這些執行個體位於 AWS 網路負載平衡器 (NLB) 後方。這些執行個體會接受來自其他節點、節點集區節點和 NLB 上 etcd 執行個體的連線。控制層執行個體也會建立連出 HTTPS 連線,連往 Google 和 AWS 服務。
AWS 上的 GKE 會建立受管理控制層安全群組,並附加至所有控制層執行個體。您不應修改這個群組中的規則。如要新增更多安全性群組規則,您可以在建立叢集時,指定要附加至控制層的其他安全性群組 ID。
預設控制層安全群組規則
這些是 GKE on AWS 附加至控制層的預設規則。這些規則不會與安全性群組完全相符;表格中的每一列可能會展開為多個 AWS 安全性群組規則。
類型 | 通訊協定 | Port (通訊埠) | 地址範圍或安全群組 | 說明 |
---|---|---|---|---|
傳入 | TCP (叢集版本 < 1.26) | 443 | 虛擬私有雲主要 CIDR 範圍 | 允許來自節點集區節點的 HTTPS |
傳入 | TCP (叢集版本 >= 1.26) | 443 | 節點集區的子網路 CIDR 範圍 | 允許來自節點集區節點的 HTTPS (每個節點集區使用的子網路各一條規則) |
傳入 | TCP | 2380 | 控制層 SG | 允許控制層 etcd 複製作業 |
傳入 | TCP | 2381 | 控制層 SG | 允許控制平面 etcd 事件複製 |
傳入 | TCP (叢集版本 < 1.26) | 8132 | 虛擬私有雲主要 CIDR 範圍 | 允許節點集區建立 Konnectivity 連線 |
傳入 | TCP (叢集版本 >= 1.26) | 8132 | 節點集區的子網路 CIDR 範圍 | 允許節點集區節點建立 Konnectivity 連線 (每個節點集區使用的子網路各有一條規則) |
傳入 | TCP | 11872 | 控制層 CIDR 範圍 | 負載平衡器的 HTTP 健康狀態檢查 |
傳出 | TCP | 443 | 0.0.0.0/0 | 允許外送 HTTPS |
傳出 | TCP | 2380 | 控制層 SG | 允許控制層 etcd 複製作業 |
傳出 | TCP | 2381 | 控制層 SG | 允許控制平面 etcd 事件複製 |
節點集區安全性群組
節點集區安全群組會為節點集區中的 VM 定義傳入和傳出 TCP 流量的防火牆規則。
AWS 上的 GKE 會建立受管理節點集區安全群組,並附加至所有節點集區執行個體。您不應修改這個群組中的規則。如要新增更多安全性群組規則,您可以在建立節點集區時,指定要附加至執行個體的其他安全性群組 ID。
根據預設,節點集區 VM 不會開啟任何通訊埠。如要允許傳入流量,請在建立節點集區時新增節點集區安全群組,並透過該安全群組管理節點集區的任何所需輸入/輸出規則。
預設節點集區安全群組規則
這些是 AWS 上的 GKE 附加至節點集區的預設規則。這些規則不會與安全性群組完全相符;資料表中的每一列可能會展開為多個 AWS 安全性群組規則。
類型 | 通訊協定 | Port (通訊埠) | 地址範圍或安全群組 | 說明 |
---|---|---|---|---|
傳入 | TCP | 全部 | 節點集區 SG | 允許 pod 對 pod 的通訊 |
傳出 | TCP | 全部 | 節點集區 SG | 允許 pod 對 pod 的通訊 |
傳出 | TCP | 443 | 0.0.0.0/0 | 允許外送 HTTPS |
傳出 | TCP | 8132 | 控制層 SG | 允許 Konnectivity 連線至控制層 |
傳出 | TCP | 8132 | 控制層 CIDR 範圍 | 允許 Konnectivity 連線至控制層 |
虛擬私有雲次要 CIDR 區塊中的節點集區
GKE on AWS 1.26 以上版本會自動建立及管理必要的安全群組規則,以支援使用次要 VPC CIDR 區塊中子網路的節點集區。如果您使用上述任一版本,就不需要建立或手動更新自訂安全群組。
不過,建立受管理控制層安全群組時,舊版 GKE on AWS 不會建立支援節點集區的規則,這些節點集區的子網路位於次要 VPC CIDR 區塊中。
如要解決這項限制,請為控制平面建立自訂安全性群組。使用 --security-group-ids
旗標建立叢集時,請傳遞安全性群組 ID。或者,您也可以更新叢集的安全性群組。
使用下列規則建立安全性群組:
類型 | 通訊協定 | Port (通訊埠) | 地址範圍或安全群組 | 說明 |
---|---|---|---|---|
傳入 | TCP | 443 | 節點集區範圍 (位於虛擬私有雲次要 CIDR 區塊) | 允許來自節點集區節點的 HTTPS |
傳入 | TCP | 8132 | 節點集區範圍 (位於虛擬私有雲次要 CIDR 區塊) | 允許節點集區建立 Konnectivity 連線 |