In diesem Thema wird erläutert, wie GKE on AWS AWS-Sicherheitsgruppen-Regeln für den Cluster verwaltet und die Firewallregeln für Knotenpools und Replikate der Steuerungsebene ändert.
Sicherheitsgruppen und gehostetes DNS
Wenn Sie einen gehosteten DNS-Server anstelle des von AWS bereitgestellten DNS verwenden, müssen Ihre Steuerungsebenen und Knotenpool-Sicherheitsgruppen ausgehenden Traffic über TCP- und UDP-Port 53 zulassen.
Sicherheitsgruppen auf Steuerungsebene
Die Sicherheitsgruppen der Steuerungsebene definieren die Firewallregeln für eingehenden und ausgehenden TCP-Traffic für jedes Replikat der Steuerungsebene.
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. Instanzen der Steuerungsebene stellen auch ausgehende HTTPS-Verbindungen zu Google- und AWS-Diensten her.
GKE on AWS erstellt eine Sicherheitsgruppe der verwalteten Steuerungsebene und hängt sie an alle Instanzen der Steuerungsebene an. Sie sollten die Regeln in dieser Gruppe nicht ändern. Wenn Sie weitere Sicherheitsgruppenregeln hinzufügen möchten, können Sie stattdessen beim Erstellen eines Clusters zusätzliche Sicherheitsgruppen-IDs angeben, die der Steuerungsebene hinzugefügt werden.
Standardregeln der Sicherheitsgruppe der Steuerungsebene
Dies sind die Standardregeln, die GKE on AWS an die Steuerungsebene anhängt. Diese Regeln stimmen nicht genau mit Ihren Sicherheitsgruppen überein. Jede Zeile in der Tabelle kann sich auf mehrere AWS-Sicherheitsgruppenregeln beziehen.
Typ | Protokoll | Port | Adressbereiche oder SG | Beschreibung |
---|---|---|---|---|
Eingehend | TCP (Clusterversion < 1.26) | 443 | Primärer CIDR-Bereich der VPC | HTTPS-Traffic aus Knotenpools zulassen |
Eingehend | TCP (Clusterversion >= 1.26) | 443 | CIDR-Bereich des Subnetzes des Knotenpools | HTTPS-Traffic aus Knotenpools zulassen (eine Regel pro Subnetz, das von Knotenpools verwendet wird) |
Eingehend | TCP | 2380 | Sicherheitsgruppe "Steuerungsebene" | etcd-Replikation auf Steuerungsebene zulassen |
Eingehend | TCP | 2381 | Sicherheitsgruppe "Steuerungsebene" | Replikation der etcd-Ereignisreplikation zulassen |
Eingehend | TCP (Clusterversion < 1.26) | 8132 | Primärer CIDR-Bereich der VPC | Konnectivity-Verbindungen aus Knotenpools zulassen |
Eingehend | TCP (Clusterversion >= 1.26) | 8132 | CIDR-Bereich des Subnetzes des Knotenpools | Konnektivitäts-Verbindungen von Knotenpoolknoten zulassen (eine Regel pro Subnetz, das von Knotenpools verwendet wird) |
Eingehend | TCP | 11872 | CIDR-Bereiche der Steuerungsebene | HTTP-Systemdiagnose für den Load-Balancer |
Ausgehend | TCP | 443 | 0.0.0.0/0 | Ausgehenden HTTPS-Traffic zulassen. |
Ausgehend | TCP | 2380 | Sicherheitsgruppe "Steuerungsebene" | etcd-Replikation auf Steuerungsebene zulassen |
Ausgehend | TCP | 2381 | Sicherheitsgruppe "Steuerungsebene" | Replikation der etcd-Ereignisreplikation zulassen |
Sicherheitsgruppen für Knotenpools
Die Sicherheitsgruppen für Knotenpools definieren die Firewallregeln für eingehenden und ausgehenden TCP-Traffic für die VMs in Knotenpools.
GKE on AWS erstellt eine Sicherheitsgruppe für verwaltete Knotenpools und hängt sie an alle Knotenpoolinstanzen an. Sie sollten die Regeln in dieser Gruppe nicht ändern. Wenn Sie weitere Sicherheitsgruppenregeln hinzufügen möchten, können Sie stattdessen beim Erstellen eines Knotenpools zusätzliche Sicherheitsgruppen-IDs angeben, die Instanzen zugeordnet werden.
Standardmäßig haben Knotenpool-VMs keine offenen Ports. Damit eingehender Traffic zugelassen wird, fügen Sie beim Erstellen des Knotenpools eine Sicherheitsgruppe des Knotenpools hinzu und verwalten alle gewünschten Regeln für eingehenden/ausgehenden Traffic für den Knotenpool über diese Sicherheitsgruppe.
Sicherheitsgruppenregeln für Standardknotenpool
Dies sind die Standardregeln, die GKE on AWS an Knotenpools anhängt. Diese Regeln stimmen nicht genau mit Ihren Sicherheitsgruppen überein. Jede Zeile in der Tabelle kann sich auf mehrere AWS-Sicherheitsgruppenregeln beziehen.
Typ | Protokoll | Port | Adressbereich oder SG | Beschreibung |
---|---|---|---|---|
Eingehend | TCP | Alle | Sicherheitsgruppe "Knotenpool" | Kommunikation zwischen Pods zulassen |
Ausgehend | TCP | Alle | Sicherheitsgruppe "Knotenpool" | Kommunikation zwischen Pods zulassen |
Ausgehend | TCP | 443 | 0.0.0.0/0 | Ausgehenden HTTPS-Traffic zulassen. |
Ausgehend | TCP | 8132 | Sicherheitsgruppe "Steuerungsebene" | Konnektivitäts-Verbindungen zur Steuerungsebene zulassen |
Ausgehend | TCP | 8132 | CIDR-Bereiche der Steuerungsebene | Konnektivitäts-Verbindungen zur Steuerungsebene zulassen |
Knotenpools in sekundären CIDR-Blöcken von VPC
In GKE on AWS Version 1.26 und höher werden die erforderlichen Sicherheitsgruppenregeln automatisch erstellt und verwaltet, um Knotenpools mit Subnetzen in sekundären VPC-CIDR-Blöcken zu unterstützen. Wenn Sie eine dieser Versionen verwenden, müssen Sie keine benutzerdefinierten Sicherheitsgruppen erstellen oder manuell aktualisieren.
Bei früheren Versionen von GKE on AWS werden beim Erstellen verwalteter Sicherheitsgruppen für die Steuerungsebene jedoch keine Regeln erstellt, die Knotenpools mit Subnetzen in einem sekundären VPC-CIDR-Block unterstützen.
Erstellen Sie eine benutzerdefinierte Sicherheitsgruppe für Ihre Steuerungsebene, um diese Einschränkung zu umgehen. Sie übergeben die Sicherheitsgruppen-ID beim Erstellen eines Clusters mit dem Flag --security-group-ids
. Alternativ können Sie die Sicherheitsgruppen Ihres Clusters aktualisieren.
Erstellen Sie die Sicherheitsgruppe mit den folgenden Regeln:
Typ | Protokoll | Port | Adressbereiche oder SG | Beschreibung |
---|---|---|---|---|
Eingehend | TCP | 443 | Knotenpoolbereiche (in sekundären VPC-Blöcken von VPC) | HTTPS-Traffic aus Knotenpools zulassen |
Eingehend | TCP | 8132 | Knotenpoolbereiche (in sekundären VPC-Blöcken von VPC) | Konnectivity-Verbindungen aus Knotenpools zulassen |