Intelligenza generativa dei dati

Integra i cluster HyperPod con Active Directory per un accesso multiutente senza interruzioni | Servizi Web di Amazon

Data:

Amazon SageMaker HyperPod è stato creato appositamente per accelerare la formazione del Foundation Model (FM), eliminando il lavoro pesante indifferenziato coinvolto nella gestione e nell'ottimizzazione di un grande cluster di calcolo di formazione. Con SageMaker HyperPod puoi addestrare gli FM per settimane e mesi senza interruzioni.

In genere, i cluster HyperPod vengono utilizzati da più utenti: ricercatori di machine learning (ML), ingegneri del software, data scientist e amministratori di cluster. Modificano i propri file, eseguono i propri lavori e vogliono evitare di influenzare il lavoro degli altri. Per ottenere questo ambiente multiutente, puoi sfruttare il meccanismo di utenti e gruppi di Linux e creare staticamente più utenti su ciascuna istanza tramite script del ciclo di vita. Lo svantaggio di questo approccio, tuttavia, è che le impostazioni di utenti e gruppi sono duplicate su più istanze nel cluster, rendendo difficile configurarle in modo coerente su tutte le istanze, ad esempio quando si unisce un nuovo membro al team.

Per risolvere questo punto dolente, possiamo usare Protocollo LDAP (Lightweight Directory Access Protocol) ed LDAP su TLS/SSL (LDAPS) per integrarsi con un servizio di directory come AWS Directory Service per Microsoft Active Directory. Con il servizio di directory è possibile gestire centralmente utenti e gruppi e le relative autorizzazioni.

In questo post presentiamo una soluzione per integrare i cluster HyperPod con AWS Managed Microsoft AD e spieghiamo come ottenere un ambiente di accesso multiutente senza interruzioni con una directory gestita centralmente.

Panoramica della soluzione

La soluzione utilizza i seguenti servizi e risorse AWS:

Usiamo anche AWS CloudFormazione per distribuire uno stack per creare i prerequisiti per il cluster HyperPod: VPC, sottoreti, gruppo di sicurezza e Amazon FSx per Lustre volume.

Il diagramma seguente illustra l'architettura della soluzione di alto livello.

Diagramma dell'architettura per l'integrazione di HyperPod e Active Directory

In questa soluzione, le istanze del cluster HyperPod utilizzano il protocollo LDAPS per connettersi ad AWS Managed Microsoft AD tramite un NLB. Noi usiamo Terminazione TLS installando un certificato nell'NLB. Per configurare LDAPS nelle istanze del cluster HyperPod, lo script del ciclo di vita installa e configura Demone dei servizi di sicurezza del sistema (SSSD)—un software client open source per LDAP/LDAPS.

Prerequisiti

Questo post presuppone che tu sappia già come creare un cluster HyperPod di base senza SSSD. Per ulteriori dettagli su come creare cluster HyperPod, fare riferimento a Iniziare con SageMaker HyperPod e la Laboratorio HyperPod.

Inoltre, nei passaggi di configurazione, utilizzerai una macchina Linux per generare un certificato autofirmato e ottenere una password offuscata per l'utente del lettore AD. Se non disponi di una macchina Linux, puoi creare un'istanza EC2 Linux o utilizzare AWS CloudShell.

Crea un VPC, sottoreti e un gruppo di sicurezza

Segui le istruzioni in Conto proprio sezione del workshop HyperPod. Distribuirai uno stack CloudFormation e creerai risorse prerequisite come VPC, sottoreti, gruppo di sicurezza e volume FSx for Lustre. È necessario creare sia una sottorete primaria che una sottorete di backup quando si distribuisce lo stack CloudFormation, perché AWS Managed Microsoft AD richiede almeno due sottoreti con diverse zone di disponibilità.

In questo post, per semplicità, utilizziamo lo stesso VPC, sottoreti e gruppo di sicurezza sia per il cluster HyperPod che per il servizio directory. Se è necessario utilizzare reti diverse tra il cluster e il servizio directory, assicurarsi che i gruppi di sicurezza e le tabelle di routing siano configurati in modo che possano comunicare tra loro.

Crea AWS Managed Microsoft AD sul servizio Directory

Completa i seguenti passaggi per configurare la tua directory:

  1. Sulla Console del servizio di directoryscegli Directory nel pannello di navigazione.
  2. Scegli Configura la rubrica.
  3. Nel Tipo di directory, selezionare Microsoft AD gestito da AWS.
  4. Scegli Avanti.
    Schermata di selezione del tipo di directory
  5. Nel Edizione, selezionare standard Edition.
  6. Nel Nome DNS della directory, inserisci il nome DNS della directory preferita (ad esempio, hyperpod.abc123.com).
  7. Nel password dell'amministratore¸ impostare una password e salvarla per un uso successivo.
  8. Scegli Avanti.
    Schermata di configurazione della creazione della directory
  9. Nel Networking sezione, specifica il VPC e le due sottoreti private che hai creato.
  10. Scegli Avanti.
    Schermata di configurazione della rete di directory
  11. Controlla la configurazione e i prezzi, quindi scegli Crea directory.
    Schermata di conferma della creazione della directory
    Viene avviata la creazione della directory. Attendi finché lo stato non cambia da Creazione a Attivo, che può richiedere 20-30 minuti.
  12. Quando lo stato cambia in Attivo, aprire la pagina dei dettagli della directory e prendere nota degli indirizzi DNS per un utilizzo successivo.Schermata dei dettagli della directory

Creare un NLB davanti al servizio di directory

Per creare l'NLB, completare i seguenti passaggi:

  1. Sulla Console Amazon EC2scegli Gruppi target nel pannello di navigazione.
  2. Scegli Creare gruppi target.
  3. Creare un gruppo target con i seguenti parametri:
    1. Nel Scegli un tipo di obiettivo, selezionare Gli indirizzi IP.
    2. Nel Nome del gruppo target, accedere LDAP.
    3. Nel Protocollo: Portoscegli TCP ed entra 389.
    4. Nel Tipo di indirizzo IP, selezionare IPv4.
    5. Nel VPCscegli SageMaker HyperPod VPC (che hai creato con il modello CloudFormation).
    6. Nel Protocollo di controllo sanitarioscegli TCP.
  4. Scegli Avanti.
    Schermata di configurazione della creazione della destinazione del bilanciamento del carico
  5. Nel Registrare i target sezione, registrare gli indirizzi DNS del servizio directory come destinazioni.
  6. Nel portescegli Includere come in attesa di seguito.Schermata di registrazione della destinazione del bilanciamento del caricoGli indirizzi vengono aggiunti nel Rivedere gli obiettivi sezione con Attesa Pagamento stato.
  7. Scegli Creare un gruppo target.Schermata di revisione della destinazione del bilanciamento del carico
  8. Sulla Console dei bilanciatori di caricoscegli Crea un bilanciatore del carico.
  9. Sotto Bilanciamento del carico di retescegli Creare.Schermata di scelta del tipo di bilanciatore del carico
  10. Configura un NLB con i seguenti parametri:
    1. Nel Nome del bilanciatore del carico, inserisci un nome (ad esempio, nlb-ds).
    2. Nel schema, selezionare Interno.
    3. Nel Tipo di indirizzo IP, selezionare IPv4.Sezione di configurazione di base per la creazione di NLB
    4. Nel VPCscegli SageMaker HyperPod VPC (che hai creato con il modello CloudFormation).
    5. Sotto Mapping, seleziona le due sottoreti private e i relativi intervalli CIDR (che hai creato con il modello CloudFormation).
    6. Nel Gruppi di sicurezzascegli CfStackName-SecurityGroup-XYZXYZ (che hai creato con il modello CloudFormation).Creazione NLB mappatura di rete e configurazioni dei gruppi di sicurezza
  11. Nel Ascoltatori e routing sezione, specificare i seguenti parametri:
    1. Nel Protocolloscegli TCP.
    2. Nel Porto, accedere 389.
    3. Nel Azione predefinita, scegli il gruppo target denominato LDAP.

    Qui stiamo aggiungendo un ascoltatore per LDAP. Aggiungeremo LDAPS in seguito.

  12. Scegli Crea un bilanciatore del carico.Schermata di configurazione del routing degli ascoltatori NLBAttendi finché lo stato non cambia da vettovagliamento su Attivo, che può richiedere 3-5 minuti.
  13. Quando lo stato cambia in Attivo, aprire la pagina dei dettagli dell'NLB sottoposto a provisioning e prendere nota del nome DNS (xyzxyz.elb.region-name.amazonaws.com) per un uso successivo.Schermata dei dettagli NLB

Crea un certificato autofirmato e importalo in Gestione certificati

Per creare un certificato autofirmato, completare i seguenti passaggi:

  1. Sul tuo ambiente basato su Linux (laptop locale, istanza EC2 Linux o CloudShell), esegui quanto segue OpenSSL comandi per creare un certificato autofirmato e una chiave privata:
    $ openssl genrsa 2048 > ldaps.key
    
    $ openssl req -new -key ldaps.key -out ldaps_server.csr
    
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [AU]:US
    State or Province Name (full name) [Some-State]:Washington
    Locality Name (eg, city) []:Bellevue
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:CorpName
    Organizational Unit Name (eg, section) []:OrgName
    Common Name (e.g., server FQDN or YOUR name) []:nlb-ds-abcd1234.elb.region.amazonaws.com
    Email Address []:[email protected]
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    
    $ openssl x509 -req -sha256 -days 365 -in ldaps_server.csr -signkey ldaps.key -out ldaps.crt
    
    Certificate request self-signature ok
    subject=C = US, ST = Washington, L = Bellevue, O = CorpName, OU = OrgName, CN = nlb-ds-abcd1234.elb.region.amazonaws.com, emailAddress = [email protected]
    
    $ chmod 600 ldaps.key

  2. Sulla Console di gestione certificatiscegli Importare.
  3. Immettere il corpo del certificato e la chiave privata, dal contenuto di ldaps.crt ed ldaps.key rispettivamente.
  4. Scegli Avanti.Schermata di importazione del certificato
  5. Aggiungi eventuali tag facoltativi, quindi scegli Avanti.Schermata di modifica del tag del certificato
  6. Rivedi la configurazione e scegli Importare.Schermata di revisione dell'importazione del certificato

Aggiungi un ascoltatore LDAPS

Abbiamo già aggiunto un ascoltatore per LDAP nell'NLB. Ora aggiungiamo un ascoltatore per LDAPS con il certificato importato. Completa i seguenti passaggi:

  1. Sulla Console dei bilanciatori di carico, vai alla pagina dei dettagli NLB.
  2. Sulla Gli ascoltatori scheda, scegliere Aggiungi ascoltatore.Schermata degli elenchi NLB con il pulsante Aggiungi ascoltatore
  3. Configura il listener con i seguenti parametri:
    1. Nel Protocolloscegli TLS.
    2. Nel Porto, accedere 636.
    3. Nel Azione predefinitascegli LDAP.
    4. Nel Origine del certificato, selezionare Dall'ACM.
    5. Nel Certificato, inserisci ciò che hai importato in ACM.
  4. Scegli Aggiungi.Schermata di configurazione del listener NLBOra l'NLB ascolta sia LDAP che LDAPS. Si consiglia di eliminare il listener LDAP perché trasmette i dati senza crittografia, a differenza di LDAPS.Elenco degli ascoltatori NLB con LDAP e LDAPS

Crea un'istanza Windows EC2 per amministrare utenti e gruppi in AD

Per creare e gestire utenti e gruppi in AD, completare i seguenti passaggi:

  1. Sulla console Amazon EC2, scegli Istanze nel pannello di navigazione.
  2. Scegli Avvia istanze.
  3. Nel Nome, inserisci un nome per la tua istanza.
  4. Nel Immagine della macchina Amazonscegli Base Microsoft Windows Server 2022.
  5. Nel Tipo di istanzascegli t2.micro.
  6. Nel Impostazioni di rete sezione, fornire i seguenti parametri:
    1. Nel VPCscegli SageMaker HyperPod VPC (che hai creato con il modello CloudFormation).
    2. Nel subnet, scegli una delle due sottoreti create con il modello CloudFormation.
    3. Nel Gruppi di sicurezza comuniscegli CfStackName-SecurityGroup-XYZXYZ (che hai creato con il modello CloudFormation).
  7. Nel Configura l'archiviazione, imposta lo spazio di archiviazione su 30 GB gp2.
  8. Nel Dettagli avanzati sezione, per Directory di unione al dominio¸ scegli l'AD che hai creato.
  9. Nel Profilo dell'istanza IAM, scegli un file Gestione dell'identità e dell'accesso di AWS (IAM) ruolo con almeno il AmazonSSMManagedEC2InstanceDefaultPolicy politica.
  10. Rivedi il riepilogo e scegli Avvia istanza.

Crea utenti e gruppi in AD utilizzando l'istanza Windows EC2

Con Remote Desktop, connettiti all'istanza Windows EC2 creata nel passaggio precedente. Si consiglia l'utilizzo di un client RDP rispetto all'utilizzo di un desktop remoto basato su browser in modo da poter scambiare il contenuto degli appunti con il computer locale utilizzando le operazioni di copia-incolla. Per ulteriori dettagli sulla connessione alle istanze Windows EC2, fare riferimento a Connettiti alla tua istanza Windows.

Se ti viene richiesta una credenziale di accesso, utilizza hyperpodAdmin (dove hyperpod è la prima parte del nome DNS della directory) come nome utente e utilizza la password amministratore impostata per il servizio di directory.

  1. Quando si apre la schermata del desktop di Windows, scegli Server manager dal Inizio menu.Schermata Dashboard su Server Manager
  2. Scegli Server locale nel riquadro di navigazione e conferma che il dominio è quello specificato nel servizio directory.Schermata Server locale su Server Manager
  3. Sulla gestire menù, scegliere Aggiungi ruoli e funzionalità.Menu a discesa aperto dal pulsante Gestisci
  4. Scegli Avanti finché non sei al Caratteristiche .Aggiunta guidata ruoli e funzionalità
  5. Espandi la funzionalità Strumenti di amministrazione remota del server, espandi Strumenti di amministrazione dei ruolie selezionare Strumenti di Servizi di dominio Active Directory e AD LDS ed Servizio di gestione dei diritti di Active Directory.
  6. Scegli Avanti ed Installazione.Schermata di selezione delle caratteristicheViene avviata l'installazione delle funzionalità.
  7. Una volta completata l'installazione, scegli Chiudi.Schermata di avanzamento dell'installazione della funzionalità
  8. Apri Utenti e computer di Active Directory dal Inizio menu.Finestra Utenti e computer di Active Directory
  9. Sotto hyperpod.abc123.com, espandi hyperpod.
  10. Scegli (tasto destro) hyperpodscegli Newe scegli Unità organizzativa.Menu contestuale aperto per creare un'unità organizzativa
  11. Crea un'unità organizzativa denominata Groups.Finestra di dialogo per la creazione di un'unità organizzativa
  12. Scegli (tasto destro) ATTIVITA' E GRUPPIscegli Newe scegli Gruppo.Menu contestuale aperto per creare gruppi
  13. Crea un gruppo chiamato ClusterAdmin.Finestra di dialogo per la creazione del gruppo per ClusterAdmin
  14. Crea un secondo gruppo chiamato ClusterDev.Finestra di dialogo per la creazione del gruppo per ClusterDev
  15. Scegli (tasto destro) Utentiscegli Newe scegli Utente.
  16. Crea un nuovo utente.Finestra di dialogo per la creazione dell'utente
  17. Scegli (fai clic con il pulsante destro del mouse) l'utente e scegli Aggiungi a un gruppo.Menu contestuale aperto per aggiungere un utente a un gruppo
  18. Aggiungi i tuoi utenti ai gruppi ClusterAdmin or ClusterDev.Schermata di selezione del gruppo per aggiungere un utente a un gruppoUtenti aggiunti a ClusterAdmin il gruppo avrà sudo privilegio sul cluster.

Crea un utente di sola lettura in AD

Crea un utente chiamato ReadOnly per Users. ReadOnly l'utente viene utilizzato dal cluster per accedere a livello di programmazione a utenti e gruppi in AD.

Finestra di dialogo per la creazione dell'utente per creare un utente di sola lettura

Prendere nota della password per un utilizzo successivo.

Schermata di immissione della password per l'utente di sola lettura

(Per l'autenticazione con chiave pubblica SSH) Aggiungere chiavi pubbliche SSH agli utenti

Memorizzando una chiave pubblica SSH per un utente in AD, è possibile accedere senza inserire una password. Puoi utilizzare una coppia di chiavi esistente oppure puoi creare una nuova coppia di chiavi con OpenSSH ssh-keygen comando. Per ulteriori informazioni sulla generazione di una coppia di chiavi, fare riferimento a Crea una coppia di chiavi per la tua istanza Amazon EC2.

  1. In Utenti e computer di Active Directory, Sulla Visualizza menu, abilita Funzioni avanzate.Menu Visualizza aperto per abilitare le funzionalità avanzate
  2. Aprire il Properties dialogo dell'utente.
  3. Sulla Editor attributi scheda, scegliere altSecurityIdentities scegliere Modifica.Scheda Editor attributi nella finestra di dialogo Proprietà utente
  4. Nel Valore da aggiungerescegli Aggiungi.
  5. Nel Valori, aggiungi una chiave pubblica SSH.
  6. Scegli OK.Finestra di dialogo di modifica degli attributi per altSecurityIdentitiesConfermare che la chiave pubblica SSH venga visualizzata come attributo.Scheda Editor attributi con altSecurityIdentities configurata

Ottieni una password offuscata per l'utente ReadOnly

Per evitare di includere una password in testo semplice nel file di configurazione SSSD, offuscare la password. Per questo passaggio è necessario un ambiente Linux (laptop locale, istanza EC2 Linux o CloudShell).

installare il sssd-tools pacchetto sulla macchina Linux per installare il modulo Python pysss per offuscamento:

# Ubuntu
$ sudo apt install sssd-tools

# Amazon Linux
$ sudo yum install sssd-tools

Esegui il seguente script Python di una riga. Inserisci la password del ReadOnly utente. Otterrai la password offuscata.

$ python3 -c "import getpass,pysss; print(pysss.password().encrypt(getpass.getpass('AD reader user password: ').strip(), pysss.password().AES_256))"
AD reader user password: (Enter ReadOnly user password) 
AAAQACK2....

Crea un cluster HyperPod con uno script del ciclo di vita abilitato per SSSD

Successivamente, creerai un cluster HyperPod con integrazione LDAPS/Active Directory.

  1. Trova il file di configurazione config.py nella directory dello script del ciclo di vita, aprilo con il tuo editor di testo e modifica le proprietà nel file Config classe e SssdConfig classe:
    1. Impostato True per enable_sssd per abilitare la configurazione SSSD.
    2. I SssdConfig la classe contiene i parametri di configurazione per SSSD.
    3. Assicurati di utilizzare la password offuscata per il file ldap_default_authtok proprietà, non una password in testo semplice.
    # Basic configuration parameters
    class Config:
             :
        # Set true if you want to install SSSD for ActiveDirectory/LDAP integration.
        # You need to configure parameters in SssdConfig as well.
        enable_sssd = True
    # Configuration parameters for ActiveDirectory/LDAP/SSSD
    class SssdConfig:
    
        # Name of domain. Can be default if you are not sure.
        domain = "default"
    
        # Comma separated list of LDAP server URIs
        ldap_uri = "ldaps://nlb-ds-xyzxyz.elb.us-west-2.amazonaws.com"
    
        # The default base DN to use for performing LDAP user operations
        ldap_search_base = "dc=hyperpod,dc=abc123,dc=com"
    
        # The default bind DN to use for performing LDAP operations
        ldap_default_bind_dn = "CN=ReadOnly,OU=Users,OU=hyperpod,DC=hyperpod,DC=abc123,DC=com"
    
        # "password" or "obfuscated_password". Obfuscated password is recommended.
        ldap_default_authtok_type = "obfuscated_password"
    
        # You need to modify this parameter with the obfuscated password, not plain text password
        ldap_default_authtok = "placeholder"
    
        # SSH authentication method - "password" or "publickey"
        ssh_auth_method = "publickey"
    
        # Home directory. You can change it to "/home/%u" if your cluster doesn't use FSx volume.
        override_homedir = "/fsx/%u"
    
        # Group names to accept SSH login
        ssh_allow_groups = {
            "controller" : ["ClusterAdmin", "ubuntu"],
            "compute" : ["ClusterAdmin", "ClusterDev", "ubuntu"],
            "login" : ["ClusterAdmin", "ClusterDev", "ubuntu"],
        }
    
        # Group names for sudoers
        sudoers_groups = {
            "controller" : ["ClusterAdmin", "ClusterDev"],
            "compute" : ["ClusterAdmin", "ClusterDev"],
            "login" : ["ClusterAdmin", "ClusterDev"],
        }
    

  2. Copia il file del certificato ldaps.crt nella stessa directory (dove config.py esiste).
  3. Carica i file di script del ciclo di vita modificati sul tuo file Servizio di archiviazione semplice Amazon (Amazon S3) e creare un cluster HyperPod con esso.
  4. Attendere finché lo stato non cambia in In servizio.

Convalida

Verifichiamo la soluzione accedendo al cluster con SSH. Poiché il cluster è stato creato in una sottorete privata, non puoi accedere direttamente tramite SSH al cluster dal tuo ambiente locale. Puoi scegliere tra due opzioni per connetterti al cluster.

Opzione 1: accesso SSH tramite AWS Systems Manager

Puoi usare Gestore di sistemi AWS come proxy per la connessione SSH. Aggiungi una voce host al file di configurazione SSH ~/.ssh/config utilizzando il seguente esempio. Per il HostName campo, specificare il nome di destinazione di Systems Manager nel formato sagemaker-cluster:[cluster-id]_[instance-group-name]-[instance-id]. Per l' IdentityFile campo, specificare il percorso del file per la chiave privata SSH dell'utente. Questo campo non è obbligatorio se hai scelto l'autenticazione tramite password.

Host MyCluster-LoginNode
    HostName sagemaker-cluster:abcd1234_LoginGroup-i-01234567890abcdef
    User user1
    IdentityFile ~/keys/my-cluster-ssh-key.pem
    ProxyCommand aws --profile default --region us-west-2 ssm start-session --target %h --document-name AWS-StartSSHSession --parameters portNumber=%p

Corri il ssh comando utilizzando il nome host specificato. Conferma di poter accedere all'istanza con l'utente specificato.

$ ssh MyCluster-LoginNode
   :
   :
   ____              __  ___     __             __ __                  ___          __
  / __/__ ____ ____ /  |/  /__ _/ /_____ ____  / // /_ _____  ___ ____/ _ ___  ___/ /
 _ / _ `/ _ `/ -_) /|_/ / _ `/  '_/ -_) __/ / _  / // / _ / -_) __/ ___/ _ / _  /
/___/_,_/_, /__/_/  /_/_,_/_/___/_/   /_//_/_, / .__/__/_/ /_/   ___/_,_/
         /___/                                    /___/_/
You're on the controller
Instance Type: ml.m5.xlarge
user1@ip-10-1-111-222:~$

A questo punto, gli utenti possono ancora utilizzare la sessione della shell predefinita di Systems Manager per accedere al cluster come ssm-user con privilegi amministrativi. Per bloccare l'accesso predefinito alla shell Systems Manager e applicare l'accesso SSH, puoi configurare la policy IAM facendo riferimento al seguente esempio:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:TerminateSession"
            ],
            "Resource": [
                "arn:aws:sagemaker:us-west-2:123456789012:cluster/abcd1234efgh",
                "arn:aws:ssm:us-west-2:123456789012:document/AWS-StartSSHSession"
            ],
            "Condition": {
                "BoolIfExists": {
                    "ssm:SessionDocumentAccessCheck": "true"
                }
            }
        }
    ]
}

Per ulteriori dettagli su come imporre l'accesso SSH, fare riferimento a Avvia una sessione con un documento specificando i documenti della sessione nelle policy IAM.

Opzione 2: accesso SSH tramite bastion host

Un'altra opzione per accedere al cluster è utilizzare a host bastione come procuratore. È possibile utilizzare questa opzione quando l'utente non dispone dell'autorizzazione per utilizzare le sessioni di Systems Manager o per risolvere i problemi quando Systems Manager non funziona.

  1. Crea un gruppo di sicurezza bastion che consenta l'accesso SSH in entrata (porta TCP 22) dal tuo ambiente locale.
  2. Aggiorna il gruppo di sicurezza per il cluster per consentire l'accesso SSH in entrata dal gruppo di sicurezza bastion.
  3. Crea un'istanza EC2 Linux.
  4. Nel Immagine della macchina Amazonscegli Server Ubuntu 20.04 LTS.
  5. Nel Tipo di istanzascegli t3.piccolo.
  6. Nel Impostazioni di rete sezione, fornire i seguenti parametri:
    1. Nel VPCscegli SageMaker HyperPod VPC (che hai creato con il modello CloudFormation).
    2. Nel subnet, scegli la sottorete pubblica creata con il modello CloudFormation.
    3. Nel Gruppi di sicurezza comuni, scegli il gruppo di sicurezza bastion che hai creato.
  7. Nel Configura l'archiviazione, imposta la memoria su 8 GB.
  8. Identificare l'indirizzo IP pubblico del bastion host e l'indirizzo IP privato dell'istanza di destinazione (ad esempio, il nodo di accesso del cluster) e aggiungere due voci host nella configurazione SSH, facendo riferimento al seguente esempio:
    Host Bastion
        HostName 11.22.33.44
        User ubuntu
        IdentityFile ~/keys/my-bastion-ssh-key.pem
    
    Host MyCluster-LoginNode-with-Proxy
        HostName 10.1.111.222
        User user1
        IdentityFile ~/keys/my-cluster-ssh-key.pem
        ProxyCommand ssh -q -W %h:%p Bastion

  9. Corri il ssh comando utilizzando il nome host di destinazione specificato in precedenza e conferma che puoi accedere all'istanza con l'utente specificato:
    $ ssh MyCluster-LoginNode-with-Proxy
       :
       :
       ____              __  ___     __             __ __                  ___          __
      / __/__ ____ ____ /  |/  /__ _/ /_____ ____  / // /_ _____  ___ ____/ _ ___  ___/ /
     _ / _ `/ _ `/ -_) /|_/ / _ `/  '_/ -_) __/ / _  / // / _ / -_) __/ ___/ _ / _  /
    /___/_,_/_, /__/_/  /_/_,_/_/___/_/   /_//_/_, / .__/__/_/ /_/   ___/_,_/
             /___/                                    /___/_/
    You're on the controller
    Instance Type: ml.m5.xlarge
    user1@ip-10-1-111-222:~$

ripulire

Pulisci le risorse nel seguente ordine:

  1. Elimina il cluster HyperPod.
  2. Elimina il servizio di bilanciamento del carico di rete.
  3. Elimina il gruppo di destinazione del bilanciamento del carico.
  4. Elimina il certificato importato in Gestione certificati.
  5. Elimina l'istanza Windows EC2.
  6. Elimina l'istanza EC2 Linux per il bastion host.
  7. Elimina AWS Managed Microsoft AD.
  8. Elimina lo stack CloudFormation per il VPC, le sottoreti, il gruppo di sicurezza e il volume FSx for Lustre.

Conclusione

Questo post fornisce i passaggi per creare un cluster HyperPod integrato con Active Directory. Questa soluzione elimina il fastidio della manutenzione degli utenti su cluster su larga scala e consente di gestire utenti e gruppi centralmente in un unico posto.

Per ulteriori informazioni su HyperPod, consulta il Laboratorio HyperPod e la Guida per sviluppatori SageMaker HyperPod. Lascia il tuo feedback su questa soluzione nella sezione commenti.


Informazioni sugli autori

Tomonori Shimomura è un Senior Solutions Architect nel team Amazon SageMaker, dove fornisce consulenza tecnica approfondita ai clienti SageMaker e suggerisce miglioramenti del prodotto al team di prodotto. Prima di entrare in Amazon, ha lavorato alla progettazione e allo sviluppo di software embedded per console per videogiochi e ora sfrutta le sue competenze approfondite nella tecnologia lato cloud. Nel tempo libero gli piace giocare ai videogiochi, leggere libri e scrivere software.

Giuseppe Angelo Porcelli è Principal Machine Learning Specialist Solutions Architect per Amazon Web Services. Con diversi anni di ingegneria del software e un background di ML, lavora con clienti di qualsiasi dimensione per comprendere le loro esigenze aziendali e tecniche e progettare soluzioni di intelligenza artificiale e ML che sfruttano al meglio il cloud AWS e lo stack di Amazon Machine Learning. Ha lavorato a progetti in diversi domini, tra cui MLOps, visione artificiale e NLP, coinvolgendo un'ampia gamma di servizi AWS. Nel tempo libero, Giuseppe si diverte a giocare a calcio.

Monidipa Chakraborty attualmente ricopre il ruolo di Senior Software Development Engineer presso Amazon Web Services (AWS), in particolare all'interno del team SageMaker HyperPod. Si impegna ad assistere i clienti progettando e implementando sistemi robusti e scalabili che dimostrino l'eccellenza operativa. Con quasi un decennio di esperienza nello sviluppo di software, Monidipa ha contribuito a vari settori all'interno di Amazon, tra cui video, vendita al dettaglio, Amazon Go e AWS SageMaker.

Satish Pasumarthi è uno sviluppatore di software presso Amazon Web Services. Con diversi anni di ingegneria del software e un background in ML, ama colmare il divario tra ML e sistemi ed è appassionato di costruire sistemi che rendano possibile l'addestramento di modelli su larga scala. Ha lavorato a progetti in diversi ambiti, tra cui framework di machine learning, benchmarking di modelli e creazione di hyperpod beta che coinvolgono un'ampia gamma di servizi AWS. Nel tempo libero, Satish ama giocare a badminton.

spot_img

L'ultima intelligenza

spot_img

Parla con noi

Ciao! Come posso aiutarla?