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.
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. |