Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Konfiguration von Sicherheitsgruppen für eingeschränkte Umgebungen
AWS ParallelCluster Erstellt und konfiguriert standardmäßig Sicherheitsgruppen, die den gesamten Datenverkehr zwischen Clusterknoten zulassen. In stark eingeschränkten Umgebungen müssen Sie den Netzwerkzugriff möglicherweise nur auf die für den Clusterbetrieb erforderlichen Ports beschränken. In diesem Abschnitt wird beschrieben, wie Sie benutzerdefinierte Sicherheitsgruppen mit eingeschränktem Zugriff für Ihre AWS ParallelCluster Bereitstellung konfigurieren.
Überblick über Sicherheitsgruppen
AWS ParallelCluster verwendet Sicherheitsgruppen, um den Netzwerkverkehr zwischen dem Hauptknoten, den Rechenknoten und den Anmeldeknoten (falls konfiguriert) zu steuern. Wenn ein Cluster AWS ParallelCluster erstellt wird, werden standardmäßig Sicherheitsgruppen erstellt, die den gesamten Verkehr zwischen Knoten innerhalb des Clusters zulassen. In Umgebungen mit strengen Sicherheitsanforderungen können Sie benutzerdefinierte Sicherheitsgruppen bereitstellen, die den Datenverkehr nur auf die erforderlichen Ports beschränken.
Sicherheitsgruppen können in den folgenden Abschnitten Ihrer Clusterkonfiguration konfiguriert werden:
-
HeadNode/Networking— Steuert den Zugriff zum und vom Hauptknoten
-
Scheduling/SlurmQueues/Networking- Steuert den Zugriff auf und von Rechenknoten
-
LoginNodes- Steuert den Zugriff auf und von Anmeldeknoten (falls konfiguriert)
Für jeden dieser Abschnitte können Sie Folgendes angeben:
-
SecurityGroups
- Ersetzt die Standardsicherheitsgruppen, die erstellt AWS ParallelCluster würden -
AdditionalSecurityGroups
- Fügt zusätzlich zu den Standardgruppen, die von erstellt wurden, Sicherheitsgruppen hinzu AWS ParallelCluster
Erforderliche Ports für den Clusterbetrieb
Bei der Konfiguration benutzerdefinierter Sicherheitsgruppen müssen Sie sicherstellen, dass die folgenden Ports zwischen den entsprechenden Knoten geöffnet sind:
Port | Protocol (Protokoll) | Richtung | Zweck |
---|---|---|---|
22 | TCP | Eingehend | SSH-Zugriff auf den Hauptknoten (aus zulässigen IP-Bereichen) |
6817-6819 | TCP | Eingehend | Slurm-Controller-Ports (von Rechen- und Anmeldeknoten) |
6817-6819 | TCP | Ausgehend | Slurm-Controller-Ports (für Rechen- und Anmeldeknoten) |
8443 | TCP | Eingehend | NICE DCV (falls aktiviert, aus erlaubten IP-Bereichen) |
111, 2049 | TCP/UDP | Eingehend | NFS (von Rechen- und Anmeldeknoten, wenn NFS für gemeinsam genutzten Speicher verwendet wird) |
443 | TCP | Ausgehend | HTTPS-Zugriff auf AWS Dienste (wenn keine VPC-Endpunkte verwendet werden) |
Port | Protocol (Protokoll) | Richtung | Zweck |
---|---|---|---|
22 | TCP | Eingehend | SSH-Zugriff (vom Hauptknoten und vom Anmeldeknoten aus) |
6818 | TCP | Eingehend | Slurm-Daemon-Port (vom Hauptknoten aus) |
6817-6819 | TCP | Ausgehend | Slurm-Controller-Ports (zum Hauptknoten) |
111, 2049 | TCP/UDP | Ausgehend | NFS (zum Hauptknoten, wenn NFS für gemeinsam genutzten Speicher verwendet wird) |
443 | TCP | Ausgehend | HTTPS-Zugriff auf AWS Dienste (wenn keine VPC-Endpunkte verwendet werden) |
Wenn Sie EFA (Elastic Fabric Adapter) verwenden, müssen Sie auch den gesamten Datenverkehr zwischen Rechenknoten zulassen, auf denen EFA aktiviert ist:
-
Der gesamte TCP- und UDP-Verkehr zwischen Rechenknoten mit EFA
-
Der gesamte Verkehr auf dem EFA-Gerät zwischen Rechenknoten mit EFA
Anmerkung
Wenn Sie gemeinsam genutzte Speichersysteme wie FSx Lustre, Amazon EFS oder andere Speicherlösungen verwenden, müssen Sie sicherstellen, dass die entsprechenden Ports auch für diese Dienste geöffnet sind.
Benutzerdefinierte Sicherheitsgruppen erstellen
Gehen Sie folgendermaßen vor, um benutzerdefinierte Sicherheitsgruppen für Ihre AWS ParallelCluster Bereitstellung zu erstellen:
-
Erstellen Sie Sicherheitsgruppen für den Hauptknoten, die Rechenknoten und die Anmeldeknoten (falls zutreffend) mithilfe der AWS Management Console, AWS CLI oder AWS CloudFormation.
-
Konfigurieren Sie die Sicherheitsgruppenregeln so, dass nur der erforderliche Datenverkehr zugelassen wird, wie im vorherigen Abschnitt beschrieben.
-
Verweisen Sie in Ihrer Cluster-Konfigurationsdatei auf diese Sicherheitsgruppen.
Hier ist ein Beispiel für die Erstellung von Sicherheitsgruppen mit der AWS CLI:
# Create security group for head node aws ec2 create-security-group \ --group-name pcluster-head-node-sg \ --description "Security group for ParallelCluster head node" \ --vpc-id vpc-12345678 # Create security group for compute nodes aws ec2 create-security-group \ --group-name pcluster-compute-node-sg \ --description "Security group for ParallelCluster compute nodes" \ --vpc-id vpc-12345678 # Add rules to allow necessary traffic between head and compute nodes # (Add specific rules based on the required ports listed above)
Konfiguration von Sicherheitsgruppen in der Clusterkonfiguration
Nachdem Sie Ihre benutzerdefinierten Sicherheitsgruppen erstellt haben, können Sie sie in Ihrer Cluster-Konfigurationsdatei referenzieren:
# Example cluster configuration with custom security groups HeadNode: ... Networking: SubnetId: subnet-12345678 SecurityGroups: - sg-headnode12345 # Custom security group for head node # Or use AdditionalSecurityGroups if you want to keep the default security groups # AdditionalSecurityGroups: # - sg-additional12345 ... Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... Networking: SubnetIds: - subnet-12345678 SecurityGroups: - sg-computenode12345 # Custom security group for compute nodes # Or use AdditionalSecurityGroups if you want to keep the default security groups # AdditionalSecurityGroups: # - sg-additional12345 ... # If using login nodes LoginNodes: Pools: - Name: login-pool ... Networking: SubnetIds: - subnet-12345678 SecurityGroups: - sg-loginnode12345 # Custom security group for login nodes # Or use AdditionalSecurityGroups if you want to keep the default security groups # AdditionalSecurityGroups: # - sg-additional12345 ...
Bei der Verwendung SecurityGroups
AWS ParallelCluster werden nur die von Ihnen angegebenen Sicherheitsgruppen verwendet und die Standardgruppen werden ersetzt. Bei der Verwendung AdditionalSecurityGroups
AWS ParallelCluster werden sowohl die von ihm erstellten Standardsicherheitsgruppen als auch die von Ihnen angegebenen zusätzlichen Sicherheitsgruppen verwendet.
Warnung
Wenn Sie Elastic Fabric Adapter (EFA) für Ihre Compute-Instances aktivieren, stellen Sie sicher, dass Ihre EFA-fähigen Instances Mitglieder einer Sicherheitsgruppe sind, die den gesamten eingehenden und ausgehenden Traffic für sich selbst zulässt. Dies ist erforderlich, damit EFA ordnungsgemäß funktioniert.
Verwendung von VPC-Endpunkten in eingeschränkten Umgebungen
In stark eingeschränkten Umgebungen möchten Sie möglicherweise die Bereitstellung AWS ParallelCluster in einem Subnetz ohne Internetzugang durchführen. In diesem Fall müssen Sie VPC-Endpunkte so konfigurieren, dass der Cluster mit AWS Diensten kommunizieren kann. Detaillierte Anweisungen finden Sie unter AWS ParallelCluster in einem einzigen Subnetz ohne Internetzugang.
Stellen Sie bei der Verwendung von VPC-Endpunkten sicher, dass Ihre Sicherheitsgruppen den Datenverkehr zu und von den VPC-Endpunkten zulassen. Sie können dies tun, indem Sie die mit den VPC-Endpunkten verknüpften Sicherheitsgruppen zur AdditionalSecurityGroups
Konfiguration für Ihren Hauptknoten und Ihre Rechenknoten hinzufügen.
HeadNode: ... Networking: SubnetId: subnet-1234567890abcdef0 AdditionalSecurityGroups: - sg-abcdef01234567890 # Security group that enables communication with VPC endpoints ... Scheduling: Scheduler: slurm SlurmQueues: - ... Networking: SubnetIds: - subnet-1234567890abcdef0 AdditionalSecurityGroups: - sg-1abcdef01234567890 # Security group that enables communication with VPC endpoints
Bewährte Methoden für die Konfiguration von Sicherheitsgruppen
Beachten Sie bei der Konfiguration von Sicherheitsgruppen für AWS ParallelCluster eingeschränkte Umgebungen die folgenden bewährten Methoden:
-
Prinzip der geringsten Rechte: Öffnen Sie nur die Ports, die für den Clusterbetrieb erforderlich sind.
-
Verwenden Sie Sicherheitsgruppenreferenzen: Verwenden Sie nach Möglichkeit Sicherheitsgruppenreferenzen (die den Verkehr von einer anderen Sicherheitsgruppe zulassen) anstelle von CIDR-Blöcken, um den Verkehr zwischen Clusterkomponenten einzuschränken.
-
SSH-Zugriff einschränken: Beschränken Sie den SSH-Zugriff auf den Hauptknoten mithilfe der Konfiguration HeadNode//Sshauf die IP-Bereiche, die ihn benötigen.
AllowedIps
-
DCV-Zugriff einschränken: Wenn Sie NICE DCV verwenden, beschränken Sie den Zugriff mithilfe der Konfiguration HeadNode/Dcv/AllowedIpsauf nur die IP-Bereiche, die ihn benötigen.
-
Gründlich testen: Testen Sie nach der Konfiguration der benutzerdefinierten Sicherheitsgruppen alle Clusterfunktionen gründlich, um sicherzustellen, dass alle erforderlichen Kommunikationspfade funktionieren.
-
Dokumentieren Sie Ihre Konfiguration: Dokumentieren Sie Ihre Sicherheitsgruppenkonfiguration, einschließlich der offenen Ports und der Gründe, warum sie benötigt werden.
Behebung von Problemen mit Sicherheitsgruppen
Wenn nach der Konfiguration benutzerdefinierter Sicherheitsgruppen Probleme auftreten, sollten Sie die folgenden Schritte zur Fehlerbehebung in Betracht ziehen:
-
Clusterprotokolle überprüfen: Überprüfen Sie die CloudWatch Clusterprotokolle in Logs auf Verbindungsfehler.
-
Überprüfen Sie die Sicherheitsgruppenregeln: Stellen Sie sicher, dass alle erforderlichen Ports zwischen den entsprechenden Knoten geöffnet sind.
-
Konnektivität testen: Verwenden Sie Tools wie
telnet
odernc
, um die Konnektivität zwischen Knoten an bestimmten Ports zu testen. -
Regeln vorübergehend erweitern: Wenn Sie Probleme haben, herauszufinden, welche Ports benötigt werden, lassen Sie vorübergehend den gesamten Datenverkehr zwischen Clusterknoten zu und schränken Sie ihn dann schrittweise ein, sobald Sie die erforderlichen Ports identifiziert haben.
-
Überprüfen Sie die VPC-Endpunktkonfiguration: Wenn Sie VPC-Endpunkte verwenden, stellen Sie sicher, dass sie ordnungsgemäß konfiguriert sind und dass die Sicherheitsgruppen den Datenverkehr zu und von ihnen zulassen.
Wenn weiterhin Probleme auftreten, können Sie zur Verwendung der Standardsicherheitsgruppen zurückkehren, die erstellt wurden, AWS ParallelCluster indem Sie die SecurityGroups
Konfiguration aus Ihrer Cluster-Konfigurationsdatei entfernen.