Sicherheitsgruppen für GKE on AWS

In diesem Thema werden die AWS-Sicherheitsgruppen (SG) erläutert, die Sie für GKE on AWS benötigen.

Wenn Sie einen Verwaltungsdienst installieren oder vorhandene AWS-VPC verwenden, erstellt anthos-gke Sicherheitsgruppen für Sie. Sie können die CRDs AWSCluster und AWSNodePool mit einer Liste zusätzlicher Sicherheitsgruppen-IDs konfigurieren.

Das folgende Diagramm zeigt, wie GKE on AWS Sicherheitsgruppen für die Verbindung mit Google Cloud - und AWS-Diensten verwendet.

Diagramm der Ports und Verbindungen von GKE on AWS-Komponenten zu Google Cloud und AWS-Diensten.

Sicherheitsgruppe "Verwaltungsdienst"

Die Sicherheitsgruppe "Verwaltungsdienst" ermöglicht Zugriff auf die Management Service API mit HTTPS. Wenn Sie einen Bastion Host konfiguriert haben, ist Traffic von der Sicherheitsgruppe "Bastion Host" zugelassen.

Wenn Sie eine GKE on AWS-Umgebung in einer vorhandenen AWS-VPC erstellen, benötigen Sie eine Sicherheitsgruppe, die die folgenden Verbindungen zulässt.

Typ Protokoll Port Adresse Beschreibung
Eingehend TCP 443 VPC CIDR HTTPS-Traffic aus der AWS-VPC zulassen.
Eingehend TCP 22 Bastion Host-SG SSH-Tunneling vom Bastion Host zulassen (nur in dedizierter VPC enthalten).
Ausgehend TCP 80 0.0.0.0/0 Ausgehenden HTTP-Traffic zulassen.
Ausgehend TCP 443 0.0.0.0/0 Ausgehenden HTTPS-Traffic zulassen.

Zugriff auf ausgehende Domain

Der Verwaltungsdienst erfordert ausgehenden Zugriff auf die folgenden Domains.

  • 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

Ersetzen Sie EC2-REGION durch die AWS EC2-Region, in der Ihre GKE on AWS-Installation ausgeführt wird. Beispiel: us-west-1.ec2.archive.ubuntu.com/

Wenn Sie Cloud Service Mesh mit Prometheus und Kiali verwenden, lassen Sie den ausgehenden Zugriff von den folgenden Domains zu:

  • docker.io
  • quay.io

Sicherheitsgruppe "Bastion Host" (optional)

Sie verwenden die Verbindungen der Bastion-Host-Sicherheitsgruppe, die von seiner Gruppe zugelassen werden, um sich mit Ihrem GKE on AWS-Verwaltungsservice und Ihren Nutzerclustern zu verbinden. Diese Gruppe ist optional und nur enthalten, wenn Sie anthos-gke zum Erstellen einer GKE on AWS-Installation in einer dedizierten VPC verwenden.

Typ Protokoll Port Adresse Beschreibung
Eingehend TCP 22 CIDR-Block aus bastionAllowedSSHCIDRBlocks in der Konfiguration von AWSManagementService. SSH-Verbindung zum Bastion Host zulassen.
Ausgehend TCP 22 0.0.0.0/0 Ausgehende SSH-Verbindung zulassen.
Ausgehend TCP 80 0.0.0.0/0 Ausgehenden HTTP-Traffic zulassen.
Ausgehend TCP 443 0.0.0.0/0 Ausgehenden HTTPS-Traffic zulassen.

Sicherheitsgruppe "Steuerungsebene"

Die Sicherheitsgruppe „Steuerungsebene“ ermöglicht Verbindungen zwischen Knoten der Steuerungsebene und dem Verwaltungsdienst sowie zwischen Knoten der Steuerungsebene und Knotenpools.

Die Steuerungsebene besteht aus drei EC2 hinter einem AWS-Netzwerk-Load-Balancer (NLB). Diese Instanzen akzeptieren Verbindungen von etcd-Instanzen auf anderen Knoten, Knotenpool- und NLB-Instanzen. Um GKE on AWS-Komponenten zu aktualisieren, ist der gesamte ausgehende HTTP-/HTTPS-Traffic zulässig.

Die Sicherheitsgruppen-IDs legen Sie in der Definition von AWSCluster fest.

Typ Protokoll Port Adresse Beschreibung
Eingehend TCP 2380 Diese SG etcd-Replikation auf Steuerungsebene zulassen.
Eingehend TCP 2381 Diese SG Replikation der etcd-Ereignisreplikation zulassen.
Eingehend TCP 443 Sicherheitsgruppe "Knotenpool" HTTPS-Traffic aus Knotenpools zulassen.
Eingehend TCP 443 AWS-VPC-CIDR-Bereich HTTPS-Traffic aus dem Load-Balancer und dem Verwaltungsdienst zulassen.
Eingehend TCP 11872 AWS-VPC-CIDR-Bereich HTTP-Systemdiagnose für den Load-Balancer.
Ausgehend TCP 22 Sicherheitsgruppe "Knotenpool" SSH-Tunneling zu Knotenpools zulassen (für Cluster der Version 1.20 und niedriger)
Eingehend TCP 8132 Sicherheitsgruppe "Knotenpool" Konnektivitätsverbindungen aus Knotenpools zulassen (für Cluster ab Version 1.21)
Ausgehend TCP 80 0.0.0.0/0 Ausgehenden HTTP-Traffic zulassen.
Ausgehend TCP 443 0.0.0.0/0 Ausgehenden HTTPS-Traffic zulassen.
Ausgehend TCP 2380 Diese SG etcd-Replikation auf Steuerungsebene zulassen.
Ausgehend TCP 2381 Diese SG Replikation der etcd-Ereignisreplikation zulassen.
Ausgehend TCP 10250 Sicherheitsgruppe "Knotenpool" Verbindungen von der Steuerungsebene zu Kubelet zulassen.

Sicherheitsgruppe "Knotenpool"

Die Sicherheitsgruppe des Knotenpools erlaubt Verbindungen aus der Steuerungsebene und dem anderen Knoten. Sie geben die Sicherheitsgruppen-IDs in den AWSNodePool-Definitionen an.

Typ Protokoll Port Adresse Beschreibung
Eingehend TCP Alle Diese SG Kommunikation zwischen Pods zulassen
Eingehend TCP 22 Sicherheitsgruppe "Steuerungsebene" SSH-Tunneling von der Steuerungsebene zulassen (für Cluster der Version 1.20 und niedriger)
Ausgehend TCP 8132 Sicherheitsgruppe "Steuerungsebene" Konnektivitäts-Verbindungen zur Steuerungsebene zulassen (für Cluster ab Version 1.21)
Eingehend TCP 443 Sicherheitsgruppe "Steuerungsebene" Verbindungen von der Steuerungsebene zu Kubelet zulassen.
Eingehend TCP 10250 Sicherheitsgruppe "Steuerungsebene" Verbindungen von der Steuerungsebene zu Kubelet zulassen.
Ausgehend TCP Alle Diese SG Kommunikation zwischen Pods zulassen
Ausgehend TCP 80 0.0.0.0/0 Ausgehenden HTTP-Traffic zulassen.
Ausgehend TCP 443 0.0.0.0/0 Ausgehenden HTTPS-Traffic zulassen.