本主題說明 GKE on AWS 必須使用的 AWS 安全性群組 (SG)。
如果您安裝管理服務或使用現有的 AWS VPC,anthos-gke
會為您建立安全群組。您可以透過額外的安全性群組 ID 清單,設定 AWSCluster 和 AWSNodePool CRD。
下圖說明 GKE on AWS 如何使用安全群組連線至 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。 |