Anforderungen und Überlegungen zur Amazon-EKS-Sicherheitsgruppe - Amazon EKS

Anforderungen und Überlegungen zur Amazon-EKS-Sicherheitsgruppe

In diesem Thema geht es um die Anforderungen an Sicherheitsgruppen in einem Amazon-EKS-Cluster.

Wenn Sie einen Cluster anlegen, erstellt Amazon EKS eine Sicherheitsgruppe mit dem Namen eks-cluster-sg-my-cluster-uniqueID. Diese Sicherheitsgruppe hat die folgenden Standardregeln:

Regeltyp Protocol (Protokoll) Ports Quelle Ziel

Eingehend

Alle

Alle

Selbst

Ausgehend

Alle

Alle

0.0.0.0/0 (IPv4) oder ::/0 (IPv6)

Amazon EKS versieht diese Sicherheitsgruppe mit den folgenden Tags:

Schlüssel Value (Wert)
kubernetes.io/cluster/cluster-name owned
aws:eks:cluster-name cluster-name

Amazon EKS verknüpft die Sicherheitsgruppe automatisch mit den folgenden Ressourcen, die es ebenfalls erstellt:

  • 2 bis 4 Elastic-Network-Schnittstellen (für den Rest dieses Dokuments als Netzwerkschnittstelle bezeichnet), die beim Anlegen des Clusters erstellt werden.

  • Netzwerkschnittstellen der Knoten in jeder verwalteten Knotengruppe, die Sie erstellen.

Die Standardregeln ermöglichen es, dass der gesamte Datenverkehr frei zwischen Ihrem Cluster und Ihren Knoten fließt. Außerdem lassen sie den gesamten ausgehenden Datenverkehr zu jedem Ziel zu. Beim Erstellen eines Clusters können Sie (optional) Ihre eigenen Sicherheitsgruppen angeben. Wenn Sie das tun, verknüpft Amazon EKS auch die von Ihnen angegebenen Sicherheitsgruppen mit den Netzwerkschnittstellen, die es für Ihren Cluster erstellt. Es verknüpft sie jedoch nicht mit Knotengruppen, die Sie erstellen.

Sie können die ID Ihrer Cluster-Sicherheitsgruppe in der AWS Management Console im Abschnitt Networking (Netzwerk) für Ihren Cluster ermitteln. Sie können auch den folgenden AWS CLI-Befehl ausführen.

aws eks describe-cluster --name my-cluster --query cluster.resourcesVpcConfig.clusterSecurityGroupId

Einschränken des Clusterverkehrs

Wenn Sie die offenen Ports zwischen dem Cluster und den Knoten einschränken müssen, können Sie die Standardregeln löschen und die folgenden Mindestregeln hinzufügen, die für den Cluster erforderlich sind:

Regeltyp Protocol (Protokoll) Port Quelle Ziel
Eingehend TCP

443

Cluster-Sicherheitsgruppe
Eingehend TCP

10250

Cluster-Sicherheitsgruppe
Eingehend (CoreDNS) TCP und UDP 53 Cluster-Sicherheitsgruppe
Ausgehend TCP

443

Cluster-Sicherheitsgruppe

Ausgehend TCP

10250

Cluster-Sicherheitsgruppe

Ausgehend (DNS) TCP und UDP 53 Cluster-Sicherheitsgruppe

Sie müssen auch Regeln für den folgenden Datenverkehr hinzufügen:

  • Jedes Protokoll und alle Ports, von dem Sie erwarten, dass Ihre Knoten für die Kommunikation zwischen Knoten verwenden

  • Ausgehenden Internetzugang, sodass die Knoten zwecks Cluster-Introspektion und Knotenregistrierung beim Start auf die Amazon-EKS-APIs zugreifen können. Wenn Ihre Knoten keinen Internetzugang haben, lesen Sie Anforderungen an private Cluster für weitere Hinweise.

  • Zugriff auf Knoten, um Container-Images aus Amazon ECR abzurufen, oder andere Container-Registry-APIs, die zum Laden von Images benötigt werden, wie z. B. DockerHub. Weitere Informationen finden Sie unter AWS-IP-Adressbereiche in der AWS Allgemeinen Referenz.

  • Knotenzugriff auf Amazon S3.

  • Für IPv4- und IPv6-Adressen sind separate Regeln erforderlich

Wenn Sie Regelbeschränkungen planen, empfehlen wir, alle pods gründlich zu testen, bevor Sie Ihre geänderten Regeln auf einen Produktionscluster anwenden.

Wenn Sie ursprünglich einen Cluster mit Kubernetes 1.14 und der Plattformversion eks.3 oder älter bereitgestellt haben, dann bedenken Sie Folgendes:

  • Möglicherweise gibt es Sicherheitsgruppen für die Steuerebene und Knoten. Als diese Gruppen erstellt wurden, enthielten sie die in der vorherigen Tabelle aufgeführten eingeschränkten Regeln. Diese Sicherheitsgruppen sind nicht mehr erforderlich und können entfernt werden. Sie müssen jedoch sicherstellen, dass Ihre Cluster-Sicherheitsgruppe die Regeln enthält, die diese Gruppen enthalten.

  • Wenn Sie den Cluster direkt über die API bereitgestellt haben oder die AWS CLI bzw. AWS CloudFormation zur Clustererstellung verwendet und dabei keine Sicherheitsgruppe angegeben haben, wurde die Standardsicherheitsgruppe für die VPC auf die Cluster-Netzwerkschnittstellen angewendet, die Amazon EKS erstellt hat.