Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Configurazione di gruppi di sicurezza per ambienti con restrizioni
Per impostazione predefinita, AWS ParallelCluster crea e configura gruppi di sicurezza che consentono tutto il traffico tra i nodi del cluster. In ambienti altamente limitati, potrebbe essere necessario limitare l'accesso alla rete solo alle porte necessarie per il funzionamento del cluster. Questa sezione descrive come configurare gruppi di sicurezza personalizzati con accesso limitato per la AWS ParallelCluster distribuzione.
Panoramica dei gruppi di sicurezza
AWS ParallelCluster utilizza i gruppi di sicurezza per controllare il traffico di rete tra il nodo principale, i nodi di elaborazione e i nodi di accesso (se configurati). Per impostazione predefinita, quando AWS ParallelCluster crea un cluster, crea gruppi di sicurezza che consentono tutto il traffico tra i nodi all'interno del cluster. In ambienti con requisiti di sicurezza rigorosi, è possibile fornire gruppi di sicurezza personalizzati che limitano il traffico solo alle porte necessarie.
I gruppi di sicurezza possono essere configurati nelle seguenti sezioni della configurazione del cluster:
-
HeadNode/Networking- Controlla l'accesso da e verso il nodo principale
-
Scheduling/SlurmQueues/Networking- Controlla l'accesso da e verso i nodi di calcolo
-
LoginNodes- Controlla l'accesso da e verso i nodi di accesso (se configurato)
Per ognuna di queste sezioni, puoi specificare:
-
SecurityGroups
- Sostituisce i gruppi di sicurezza predefiniti che AWS ParallelCluster verrebbero creati -
AdditionalSecurityGroups
- Aggiunge gruppi di sicurezza oltre a quelli predefiniti creati da AWS ParallelCluster
Porte necessarie per il funzionamento del cluster
Quando si configurano gruppi di sicurezza personalizzati, è necessario assicurarsi che le seguenti porte siano aperte tra i nodi appropriati:
Porta | Protocollo | Direzione | Scopo |
---|---|---|---|
22 | TCP | In entrata | Accesso SSH al nodo principale (dagli intervalli IP consentiti) |
6817-6819 | TCP | In entrata | Porte del controller Slurm (dai nodi di calcolo e di accesso) |
6817-6819 | TCP | In uscita | Porte del controller Slurm (per calcolare e accedere ai nodi) |
8443 | TCP | In entrata | NICE DCV (se abilitato, dagli intervalli IP consentiti) |
11, 2049 | TCP/UDP | In entrata | NFS (dai nodi di calcolo e di accesso, se si utilizza NFS per lo storage condiviso) |
443 | TCP | In uscita | Accesso HTTPS ai AWS servizi (se non si utilizzano endpoint VPC) |
Porta | Protocollo | Direzione | Scopo |
---|---|---|---|
22 | TCP | In entrata | Accesso SSH (dal nodo principale e dai nodi di accesso) |
6818 | TCP | In entrata | porta daemon Slurm (dal nodo principale) |
6817-6819 | TCP | In uscita | Porte del controller Slurm (verso il nodo principale) |
111, 2049 | TCP/UDP | In uscita | NFS (al nodo principale, se si utilizza NFS per lo storage condiviso) |
443 | TCP | In uscita | Accesso HTTPS ai AWS servizi (se non si utilizzano endpoint VPC) |
Se utilizzi EFA (Elastic Fabric Adapter), devi inoltre consentire tutto il traffico tra i nodi di elaborazione che hanno EFA abilitato:
-
Tutto il traffico TCP e UDP tra i nodi di elaborazione con EFA
-
Tutto il traffico sul dispositivo EFA tra i nodi di elaborazione con EFA
Nota
Se utilizzi sistemi di storage condivisi come FSx Lustre, Amazon EFS o altre soluzioni di storage, dovrai assicurarti che le porte appropriate siano aperte anche per questi servizi.
Creazione di gruppi di sicurezza personalizzati
Per creare gruppi di sicurezza personalizzati per la tua AWS ParallelCluster distribuzione, segui questi passaggi:
-
Crea gruppi di sicurezza per il nodo principale, i nodi di calcolo e i nodi di accesso (se applicabile) utilizzando la console di AWS gestione, la AWS CLI o. AWS CloudFormation
-
Configura le regole del gruppo di sicurezza per consentire solo il traffico necessario, come indicato nella sezione precedente.
-
Fai riferimento a questi gruppi di sicurezza nel file di configurazione del cluster.
Ecco un esempio di come creare gruppi di sicurezza utilizzando la 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)
Configurazione dei gruppi di sicurezza nella configurazione del cluster
Dopo aver creato i gruppi di sicurezza personalizzati, puoi farvi riferimento nel file di configurazione del cluster:
# 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 ...
Durante l'utilizzoSecurityGroups
, AWS ParallelCluster utilizzerà solo i gruppi di sicurezza specificati, sostituendo quelli predefiniti. Durante l'utilizzoAdditionalSecurityGroups
, AWS ParallelCluster utilizzerà sia i gruppi di sicurezza predefiniti che crea sia quelli aggiuntivi specificati dall'utente.
avvertimento
Se abiliti Elastic Fabric Adapter (EFA) per le tue istanze di calcolo, assicurati che le istanze abilitate per EFA siano membri di un gruppo di sicurezza che consente tutto il traffico in entrata e in uscita verso se stesso. Ciò è necessario per il corretto funzionamento di EFA.
Utilizzo degli endpoint VPC in ambienti con restrizioni
In ambienti altamente limitati, potresti voler eseguire l'implementazione AWS ParallelCluster in una sottorete senza accesso a Internet. In questo caso, dovrai configurare gli endpoint VPC per consentire al cluster di comunicare con i servizi. AWS Per istruzioni dettagliate, vedi AWS ParallelCluster in un'unica sottorete senza accesso a Internet.
Quando utilizzi gli endpoint VPC, assicurati che i tuoi gruppi di sicurezza consentano il traffico da e verso gli endpoint VPC. Puoi farlo aggiungendo i gruppi di sicurezza associati agli endpoint VPC alla AdditionalSecurityGroups
configurazione del nodo principale e dei nodi di calcolo.
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
Le migliori pratiche per la configurazione dei gruppi di sicurezza
Quando configuri i gruppi di sicurezza per ambienti con restrizioni, prendi AWS ParallelCluster in considerazione le seguenti best practice:
-
Principio del privilegio minimo: aprire solo le porte necessarie per il funzionamento del cluster.
-
Utilizza i riferimenti ai gruppi di sicurezza: quando possibile, utilizza i riferimenti ai gruppi di sicurezza (che consentono il traffico proveniente da un altro gruppo di sicurezza) anziché i blocchi CIDR per limitare il traffico tra i componenti del cluster.
-
Limita l'accesso SSH: limita l'accesso SSH al nodo principale solo agli intervalli IP che lo richiedono utilizzando la configurazione HeadNode//Ssh.
AllowedIps
-
Limita l'accesso a DCV: se usi NICE DCV, limita l'accesso solo agli intervalli IP che lo richiedono utilizzando HeadNodela configurazioneDcv//AllowedIps.
-
Esegui test approfonditi: dopo aver configurato i gruppi di sicurezza personalizzati, verifica accuratamente tutte le funzionalità del cluster per assicurarti che tutti i percorsi di comunicazione richiesti funzionino.
-
Documenta la tua configurazione: conserva la documentazione della configurazione del tuo gruppo di sicurezza, comprese le porte aperte e il motivo per cui sono necessarie.
Risoluzione dei problemi relativi ai gruppi di sicurezza
Se riscontri problemi dopo la configurazione dei gruppi di sicurezza personalizzati, considera i seguenti passaggi per la risoluzione dei problemi:
-
Controlla i log del cluster: esamina i log del cluster in CloudWatch Logs per eventuali errori di connessione.
-
Verifica le regole del gruppo di sicurezza: assicurati che tutte le porte richieste siano aperte tra i nodi appropriati.
-
Verifica la connettività: utilizza strumenti come
telnet
onc
per testare la connettività tra nodi su porte specifiche. -
Espandi temporaneamente le regole: se hai problemi a identificare le porte necessarie, consenti temporaneamente tutto il traffico tra i nodi del cluster e poi limitalo gradualmente man mano che identifichi le porte richieste.
-
Verifica la configurazione degli endpoint VPC: se utilizzi gli endpoint VPC, assicurati che siano configurati correttamente e che i gruppi di sicurezza consentano il traffico da e verso di essi.
Se continui a riscontrare problemi, puoi tornare a utilizzare i gruppi di sicurezza predefiniti creati rimuovendo la configurazione AWS ParallelCluster dal file di SecurityGroups
configurazione del cluster.