GKE on AWS 的安全群組

本主題說明 GKE on AWS 必須使用的 AWS 安全性群組 (SG)。

如果您安裝管理服務使用現有的 AWS VPCanthos-gke 會為您建立安全群組。您可以透過額外的安全性群組 ID 清單,設定 AWSClusterAWSNodePool CRD。

下圖說明 GKE on AWS 如何使用安全群組連線至 Google Cloud 和 AWS 服務。

這張圖顯示 AWS 上 GKE 元件與 Google Cloud 和 AWS 服務之間的通訊埠和連線。

管理服務安全群組

管理服務安全群組可透過 HTTPS 存取管理服務 API。如果您已設定堡壘主機,系統會允許來自堡壘安全群組的連入流量。

如果您在現有 AWS 虛擬私有雲中建立 GKE on AWS 環境,則必須具備允許下列連線的安全群組。

類型 通訊協定 Port (通訊埠) 位址 說明
傳入 TCP 443 虛擬私有雲 CIDR 允許來自 AWS VPC 的 HTTPS。
傳入 TCP 22 防禦主機 SG 允許從防禦主機建立 SSH 通道 (僅適用於專屬虛擬私有雲)。
傳出 TCP 80 0.0.0.0/0 允許外送 HTTP。
傳出 TCP 443 0.0.0.0/0 允許外送 HTTPS。

外連網域存取權

管理服務需要下列網域的出站存取權。

  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • oauth2.googleapis.com
  • storage.googleapis.com
  • www.googleapis.com
  • gcr.io
  • k8s.gcr.io
  • EC2-REGION.ec2.archive.ubuntu.com

EC2-REGION 替換為執行 GKE on AWS 安裝作業的 AWS EC2 區域。例如:us-west-1.ec2.archive.ubuntu.com/

如果您使用 Cloud Service Mesh with Prometheus and Kiali,請允許從下列網域發出的輸出存取要求:

  • docker.io
  • quay.io

堡壘主機安全群組 (選用)

您可以使用其群組允許的 Bastion 主機安全群組連線,連線至 GKE on AWS 管理服務和使用者叢集。這個群組為選用項目,只有在使用 anthos-gke專用 VPC 中建立 GKE on AWS 安裝項目時才會納入。

類型 通訊協定 Port (通訊埠) 位址 說明
傳入 TCP 22 AWSManagementService 設定中 bastionAllowedSSHCIDRBlocks 的 CIDR 區塊。 允許 SSH 連線至防禦主機。
傳出 TCP 22 0.0.0.0/0 允許外送 SSH。
傳出 TCP 80 0.0.0.0/0 允許外送 HTTP。
傳出 TCP 443 0.0.0.0/0 允許外送 HTTPS。

控制層安全群組

控制層安全群組允許控制層節點與管理服務之間,以及控制層節點與節點集區之間的連線。

控制層由三個 EC2 執行個體組成,這些執行個體位於 AWS 網路負載平衡器 (NLB) 後方。這些執行個體會接受來自其他節點、節點集區節點和 NLB 上 etcd 執行個體的連線。如要更新 GKE on AWS 元件,請允許所有輸出 HTTP/HTTPS 流量。

您可以在 AWSCluster 定義中指定安全性群組 ID。

類型 通訊協定 Port (通訊埠) 位址 說明
傳入 TCP 2380 這個 SG 允許控制層 etcd 複製。
傳入 TCP 2381 這個 SG 允許控制平面 etcd 事件複製。
傳入 TCP 443 節點集區 SG 允許來自節點集區節點的 HTTPS。
傳入 TCP 443 AWS 虛擬私有雲 CIDR 範圍 允許負載平衡器和管理服務的 HTTPS。
傳入 TCP 11872 AWS 虛擬私有雲 CIDR 範圍 負載平衡器的 HTTP 健康狀態檢查。
傳出 TCP 22 節點集區 SG 允許透過 SSH 通道連線至節點集區 (適用於 v1.20 以下版本的叢集)。
傳入 TCP 8132 節點集區 SG 允許節點集區建立 Konnectivity 連線 (適用於叢集 v1.21 以上版本)。
傳出 TCP 80 0.0.0.0/0 允許外送 HTTP。
傳出 TCP 443 0.0.0.0/0 允許外送 HTTPS。
傳出 TCP 2380 這個 SG 允許控制層 etcd 複製。
傳出 TCP 2381 這個 SG 允許控制平面 etcd 事件複製。
傳出 TCP 10250 節點集區 SG 允許從控制層連線至 Kubelet。

節點集區安全群組

節點集區安全群組允許控制層和其他節點建立連線。您可以在 AWSNodePool 定義中指定安全性群組 ID。

類型 通訊協定 Port (通訊埠) 位址 說明
傳入 TCP 全部 這個 SG 允許 Pod 對 Pod 通訊。
傳入 TCP 22 控制層 SG 允許從控制層建立 SSH 通道 (適用於 v1.20 以下的叢集)。
傳出 TCP 8132 控制層 SG 允許 Konnectivity 連線至控制平面 (適用於 v1.21 以上版本的叢集)。
傳入 TCP 443 控制層 SG 允許從控制層連線至 Kubelet。
傳入 TCP 10250 控制層 SG 允許從控制層連線至 Kubelet。
傳出 TCP 全部 這個 SG 允許 Pod 對 Pod 通訊。
傳出 TCP 80 0.0.0.0/0 允許外送 HTTP。
傳出 TCP 443 0.0.0.0/0 允許外送 HTTPS。