Accesso multiplo di utenti ai cluster - AWS ParallelCluster

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

Accesso multiplo di utenti ai cluster

Impara a implementare e gestire l'accesso di più utenti a un singolo cluster.

In questo argomento, per AWS ParallelCluster utente si intende un utente di sistema per le istanze di calcolo. Un esempio è un esempio ec2-user per un'istanza AWS EC2.

AWS ParallelClusteril supporto per l'accesso multiutente è disponibile in tutti i paesi in Regioni AWS cui AWS ParallelCluster è attualmente disponibile. Funziona con altriServizi AWS, tra cui Amazon FSx for Lustre e Amazon Elastic File System.

È possibile utilizzare un AWS Directory Service for Microsoft Active Directoryo Simple AD per gestire l'accesso al cluster. Assicurati di verificare Regione AWSla disponibilità di questi servizi. Per configurare un cluster, specifica una AWS ParallelCluster DirectoryServiceconfigurazione. AWS Directory Servicele directory possono essere collegate a più cluster. Ciò consente una gestione centralizzata delle identità in più ambienti e un'esperienza di accesso unificata.

Se si utilizza l'accesso AWS Directory Service per AWS ParallelCluster più utenti, è possibile accedere al cluster con le credenziali utente definite nella directory. Queste credenziali sono costituite da un nome utente e una password. Dopo aver effettuato l'accesso al cluster per la prima volta, viene generata automaticamente una chiave SSH utente. È possibile utilizzarla per accedere senza password.

È possibile creare, eliminare e modificare gli utenti o i gruppi di un cluster dopo la distribuzione del servizio di directory. ConAWS Directory Service, puoi farlo in AWS Management Console o utilizzando lo strumento Utenti e computer di Active Directory. Questo strumento è accessibile da qualsiasi istanza EC2 aggiunta al tuo Active Directory. Per ulteriori informazioni, consulta Installazione degli strumenti di amministrazione Active Directory.

Se prevedi di utilizzarlo AWS ParallelCluster in un'unica sottorete senza accesso a Internet, consulta la sezione dedicata AWS ParallelClusterin un'unica sottorete senza accesso a Internet ai requisiti aggiuntivi.

Crea un Active Directory

Assicurati di creare un Active Directory (AD) prima di creare il cluster. Per informazioni su come scegliere il tipo di active directory per il cluster, consulta Quale scegliere nella Guida all'AWS Directory Serviceamministrazione.

Se la directory è vuota, aggiungi utenti con nomi utente e password. Per ulteriori informazioni, consulta la documentazione specifica per AWS Directory Service for Microsoft Active Directoryo Simple AD.

Nota

AWS ParallelClusterrichiede che ogni directory utente di Active Directory sia presente nella /home/$user directory.

Crea un cluster con un dominio AD

avvertimento

Questa sezione introduttiva descrive come configurare AWS ParallelCluster un server Managed Active Directory (AD) tramite il Lightweight Directory Access Protocol (LDAP). LDAP è un protocollo non sicuro. Per i sistemi di produzione, consigliamo vivamente l'uso di certificati TLS (LDAPS) come descritto nella Esempio di configurazioni di cluster AWS Managed Microsoft AD LDAP (S) sezione che segue.

Configura il cluster per l'integrazione con una directory specificando le informazioni pertinenti nella DirectoryService sezione del file di configurazione del cluster. Per ulteriori informazioni, consulta la sezione sulla DirectoryServiceconfigurazione.

È possibile utilizzare questo esempio per integrare il cluster con un AWS Managed Microsoft AD protocollo LDAP (Lightweight Directory Access Protocol).

Definizioni specifiche richieste per una configurazione AWS Managed Microsoft AD tramite LDAP:

Ottieni i tuoi dati AWS Managed Microsoft AD di configurazione:

$ aws ds describe-directories --directory-id "d-abcdef01234567890"
{ "DirectoryDescriptions": [ { "DirectoryId": "d-abcdef01234567890", "Name": "corp.example.com", "DnsIpAddrs": [ "203.0.113.225", "192.0.2.254" ], "VpcSettings": { "VpcId": "vpc-021345abcdef6789", "SubnetIds": [ "subnet-1234567890abcdef0", "subnet-abcdef01234567890" ], "AvailabilityZones": [ "region-idb", "region-idd" ] } } ] }

Configurazione del cluster perAWS Managed Microsoft AD:

Region: region-id Image: Os: alinux2 HeadNode: InstanceType: t2.micro Networking: SubnetId: subnet-1234567890abcdef0 Ssh: KeyName: pcluster Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ComputeResources: - Name: t2micro InstanceType: t2.micro MinCount: 1 MaxCount: 10 Networking: SubnetIds: - subnet-abcdef01234567890 DirectoryService: DomainName: dc=corp,dc=example,dc=com DomainAddr: ldap://203.0.113.225,ldap://192.0.2.254 PasswordSecretArn: arn:aws:secretsmanager:region-id:123456789012:secret:MicrosoftAD.Admin.Password-1234 DomainReadOnlyUser: cn=ReadOnly,ou=Users,ou=CORP,dc=corp,dc=example,dc=com AdditionalSssdConfigs: ldap_auth_disable_tls_never_use_in_production: True

Per utilizzare questa configurazione per un Simple AD, modifica il valore della DomainReadOnlyUser proprietà nella DirectoryService sezione:

DirectoryService: DomainName: dc=corp,dc=example,dc=com DomainAddr: ldap://203.0.113.225,ldap://192.0.2.254 PasswordSecretArn: arn:aws:secretsmanager:region-id:123456789012:secret:SimpleAD.Admin.Password-1234 DomainReadOnlyUser: cn=ReadOnlyUser,cn=Users,dc=corp,dc=example,dc=com AdditionalSssdConfigs: ldap_auth_disable_tls_never_use_in_production: True
Considerazioni:
  • Si consiglia di utilizzare LDAP su TLS/SSL (o LDAPS) anziché solo LDAP. TLS/SSL garantisce che la connessione sia crittografata.

  • Il valore della DomainAddrproprietà DirectoryService/corrisponde alle voci dell'DnsIpAddrselenco dell'output. describe-directories

  • È consigliabile che il cluster utilizzi sottoreti situate nella stessa zona di disponibilità a cui DomainAddrpunta DirectoryService/. Se utilizzi una configurazione DHCP (Dynamic Host Configuration Protocol) personalizzata consigliata per i VPC di directory e le sottoreti non si trovano nella zona di DomainAddrdisponibilità DirectoryService/, è possibile il traffico incrociato tra le zone di disponibilità. L'uso di configurazioni DHCP personalizzate non è necessario per utilizzare la funzionalità di integrazione AD multiutente.

  • Il valore della DomainReadOnlyUserproprietà DirectoryService/specifica un utente che deve essere creato nella directory. Questo utente non viene creato per impostazione predefinita. Si consiglia di non concedere a questo utente l'autorizzazione a modificare i dati della directory.

  • Il valore della PasswordSecretArnproprietà DirectoryService/punta a un AWS Secrets Manager segreto che contiene la password dell'utente specificato per la DomainReadOnlyUserproprietà DirectoryService/. Se la password di questo utente cambia, aggiorna il valore segreto e aggiorna il cluster. Per aggiornare il cluster per il nuovo valore segreto, è necessario interrompere la flotta di calcolo con il pcluster update-compute-fleet comando. Se hai configurato il cluster per l'uso LoginNodes, interrompi LoginNodes/Poolse aggiorna il cluster dopo aver impostato LoginNodes/Pools/Countsu 0. Quindi, esegui il comando seguente dal nodo principale del cluster.

    sudo /opt/parallelcluster/scripts/directory_service/update_directory_service_password.sh

Per un altro esempio, vedi ancheIntegrazione di Active Directory.

Accedere a un cluster integrato con un dominio AD

Se è stata abilitata la funzionalità di integrazione del dominio Active Delivery (AD), l'autenticazione tramite password viene abilitata sul nodo principale del cluster. La home directory di un utente AD viene creata al primo accesso utente al nodo principale o alla prima volta che sudo-user passa all'utente AD sul nodo principale.

L'autenticazione tramite password non è abilitata per i nodi di calcolo del cluster. Gli utenti AD devono accedere ai nodi di calcolo con chiavi SSH.

Per impostazione predefinita, le chiavi SSH vengono configurate nella /${HOME}/.ssh directory utente AD al primo accesso SSH al nodo principale. Questo comportamento può essere disabilitato impostando la proprietà DirectoryService/GenerateSshKeysForUsersboolean su false nella configurazione del cluster. Per impostazione predefinita, DirectoryService/GenerateSshKeysForUsersè impostato su. true

Se un'AWS ParallelClusterapplicazione richiede SSH senza password tra i nodi del cluster, assicurati che le chiavi SSH siano impostate correttamente nella home directory dell'utente.

AWS Managed Microsoft ADle password scadono dopo 42 giorni. Per ulteriori informazioni, consulta Gestire le politiche relative alle password AWS Managed Microsoft AD nella Guida all'AWS Directory Serviceamministrazione. Se la password scade, deve essere reimpostata per ripristinare l'accesso al cluster. Per ulteriori informazioni, consulta Come reimpostare una password utente e le password scadute.

Nota

Se la funzionalità di integrazione AD non funziona come previsto, i log SSSD possono fornire informazioni diagnostiche utili per la risoluzione del problema. Questi log si trovano nella /var/log/sssd directory dei nodi del cluster. Per impostazione predefinita, vengono archiviati anche nel gruppo di CloudWatch log Amazon di un cluster.

Per ulteriori informazioni, consulta Risoluzione dei problemi di integrazione multiutente con Active Directory.

Esecuzione di processi MPI

Come suggerito in SchedMD, avviate i job MPI utilizzando Slurm come metodo di avvio MPI. Per ulteriori informazioni, consultate la documentazione ufficiale di Slurm o la documentazione ufficiale della libreria MPI in uso.

Ad esempio, nella documentazione ufficiale di IntelMPI, si apprende che quando si esegue un job StarCCM, è necessario impostarlo Slurm come orchestratore di processi esportando la variabile di ambiente. I_MPI_HYDRA_BOOTSTRAP=slurm

Nota

Problema noto

Nel caso in cui l'applicazione MPI si basi su SSH come meccanismo per generare job MPI, è possibile incorrere in un bug noto in Slurm che causa la risoluzione errata del nome utente della directory a «nessuno».

Configura l'applicazione per utilizzarla Slurm come metodo di avvio MPI o consulta la sezione Risoluzione dei problemi per ulteriori dettagli e possibili soluzioni alternative. Problemi noti relativi alla risoluzione dei nomi utente

Esempio di configurazioni di cluster AWS Managed Microsoft AD LDAP (S)

AWS ParallelClustersupporta l'accesso di più utenti mediante l'integrazione con un AWS Directory Service protocollo LDAP (Lightweight Directory Access Protocol) o LDAP su TLS/SSL (LDAPS).

Gli esempi seguenti mostrano come creare configurazioni di cluster da integrare con un protocollo LDAP (S). AWS Managed Microsoft AD

È possibile utilizzare questo esempio per integrare il cluster con un AWS Managed Microsoft AD protocollo LDAPS, con verifica del certificato.

Definizioni specifiche per una configurazione AWS Managed Microsoft AD tramite LDAPS con certificati:
  • DirectoryService/LdapTlsReqCertdeve essere impostato su hard (impostazione predefinita) per LDAPS con verifica del certificato.

  • DirectoryService/LdapTlsCaCertdeve specificare il percorso del certificato di autorità (CA).

    Il certificato CA è un pacchetto di certificati che contiene i certificati dell'intera catena CA che ha emesso certificati per i controller di dominio AD.

    Il certificato e i certificati CA devono essere installati nei nodi del cluster.

  • I nomi host dei controller devono essere specificati per DirectoryService/DomainAddr, non per gli indirizzi IP.

  • DirectoryService/la DomainReadOnlyUsersintassi deve essere la seguente:

    cn=ReadOnly,ou=Users,ou=CORP,dc=corp,dc=example,dc=com

Esempio di file di configurazione del cluster per l'utilizzo di AD su LDAPS:

Region: region-id Image: Os: alinux2 HeadNode: InstanceType: t2.micro Networking: SubnetId: subnet-1234567890abcdef0 Ssh: KeyName: pcluster Iam: AdditionalIamPolicies: - Policy: arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess CustomActions: OnNodeConfigured: Script: s3://aws-parallelcluster/scripts/pcluster-dub-msad-ldaps.post.sh Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ComputeResources: - Name: t2micro InstanceType: t2.micro MinCount: 1 MaxCount: 10 Networking: SubnetIds: - subnet-abcdef01234567890 Iam: AdditionalIamPolicies: - Policy: arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess CustomActions: OnNodeConfigured: Script: s3://aws-parallelcluster-pcluster/scripts/pcluster-dub-msad-ldaps.post.sh DirectoryService: DomainName: dc=corp,dc=example,dc=com DomainAddr: ldaps://win-abcdef01234567890.corp.example.com,ldaps://win-abcdef01234567890.corp.example.com PasswordSecretArn: arn:aws:secretsmanager:region-id:123456789012:secret:MicrosoftAD.Admin.Password-1234 DomainReadOnlyUser: cn=ReadOnly,ou=Users,ou=CORP,dc=corp,dc=example,dc=com LdapTlsCaCert: /etc/openldap/cacerts/corp.example.com.bundleca.cer LdapTlsReqCert: hard

Aggiungi certificati e configura i controller di dominio nello script post-installazione:

*#!/bin/bash* set -e AD_CERTIFICATE_S3_URI="s3://corp.example.com/bundle/corp.example.com.bundleca.cer" AD_CERTIFICATE_LOCAL="/etc/openldap/cacerts/corp.example.com.bundleca.cer" AD_HOSTNAME_1="win-abcdef01234567890.corp.example.com" AD_IP_1="192.0.2.254" AD_HOSTNAME_2="win-abcdef01234567890.corp.example.com" AD_IP_2="203.0.113.225" # Download CA certificate mkdir -p $(dirname "${AD_CERTIFICATE_LOCAL}") aws s3 cp "${AD_CERTIFICATE_S3_URI}" "${AD_CERTIFICATE_LOCAL}" chmod 644 "${AD_CERTIFICATE_LOCAL}" # Configure domain controllers reachability echo "${AD_IP_1} ${AD_HOSTNAME_1}" >> /etc/hosts echo "${AD_IP_2} ${AD_HOSTNAME_2}" >> /etc/hosts

È possibile recuperare i nomi host dei controller di dominio dalle istanze aggiunte al dominio, come illustrato negli esempi seguenti.

Dall'istanza di Windows

$ nslookup 192.0.2.254
Server: corp.example.com Address: 192.0.2.254 Name: win-abcdef01234567890.corp.example.com Address: 192.0.2.254

Dall'istanza Linux

$ nslookup 192.0.2.254
192.0.2.254.in-addr.arpa name = corp.example.com 192.0.2.254.in-addr.arpa name = win-abcdef01234567890.corp.example.com

È possibile utilizzare questo esempio per integrare il cluster con un protocollo LDAPS AWS Managed Microsoft AD tramite LDAPS, senza verifica del certificato.

Definizioni specifiche per una configurazione AWS Managed Microsoft AD tramite LDAPS senza verifica del certificato:

Esempio di file di configurazione del cluster da utilizzare AWS Managed Microsoft AD su LDAPS senza verifica del certificato:

Region: region-id Image: Os: alinux2 HeadNode: InstanceType: t2.micro Networking: SubnetId: subnet-1234567890abcdef0 Ssh: KeyName: pcluster Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ComputeResources: - Name: t2micro InstanceType: t2.micro MinCount: 1 MaxCount: 10 Networking: SubnetIds: - subnet-abcdef01234567890 DirectoryService: DomainName: dc=corp,dc=example,dc=com DomainAddr: ldaps://203.0.113.225,ldaps://192.0.2.254 PasswordSecretArn: arn:aws:secretsmanager:region-id:123456789012:secret:MicrosoftAD.Admin.Password-1234 DomainReadOnlyUser: cn=ReadOnly,ou=Users,ou=CORP,dc=corp,dc=example,dc=com LdapTlsReqCert: never