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
eine vorhandene AWS-VPC verwenden,
anthos-gke erstellt 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.

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.comgkehub.googleapis.comoauth2.googleapis.comstorage.googleapis.comwww.googleapis.comgcr.iok8s.gcr.ioEC2-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.ioquay.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-Verwaltungsdienst und den Nutzerclustern zu verbinden. Diese Gruppe ist optional und nur enthalten, wenn Sie anthos-gke verwenden, um
eine GKE on AWS-Installation in einer
dedizierten VPC zu erstellen.
| 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 Instanzen 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 von etcd-Ereignissen auf der Steuerungsebene 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ätsverbindung aus Knotenpools zulassen (für Cluster der Version 1.21 und höher). |
| 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 von etcd-Ereignissen auf der Steuerungsebene 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ätsverbindungen zur Steuerungsebene zulassen (für Cluster der Version 1.21 und höher). |
| 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. |