View a markdown version of this page

Accesso ai nodi SageMaker HyperPod del cluster - Amazon SageMaker AI

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 ai nodi SageMaker HyperPod del cluster

È possibile accedere al InService cluster tramite AWS Systems Manager (SSM) eseguendo il AWS CLI comando aws ssm start-session con il nome host del SageMaker HyperPod cluster nel formato. sagemaker-cluster:[cluster-id]_[instance-group-name]-[instance-id] È possibile recuperare l'ID del cluster, l'ID dell'istanza e il nome del gruppo di istanze dalla SageMaker HyperPod console o eseguendo describe-cluster e list-cluster-nodes dai AWS CLI comandi for. SageMaker HyperPod Ad esempio, se l’ID del cluster è aa11bbbbb222, il nome del nodo del cluster è controller-group e l’ID del nodo del cluster è i-111222333444555aa, il comando start-session di SSM dovrebbe essere il seguente.

Nota

La concessione agli utenti dell'accesso ai nodi del HyperPod cluster consente loro di installare e utilizzare software gestito dagli utenti sui nodi. Assicurati di rispettare il principio delle autorizzazioni con privilegio minimo per gli utenti.

Se non l'hai configurato AWS Systems Manager, segui le istruzioni fornite in. Configurazione AWS Systems Manager e Run As per il controllo degli accessi degli utenti del cluster

$ aws ssm start-session \ --target sagemaker-cluster:aa11bbbbb222_controller-group-i-111222333444555aa \ --region us-west-2 Starting session with SessionId: s0011223344aabbccdd root@ip-111-22-333-444:/usr/bin#

Tieni presente che questa operazione esegue una connessione iniziale come utente root. Prima di eseguire i processi, passa all’utente ubuntu con il comando seguente.

root@ip-111-22-333-444:/usr/bin# sudo su - ubuntu ubuntu@ip-111-22-333-444:/usr/bin#

Per le impostazioni avanzate per l'uso pratico dei HyperPod cluster, consulta i seguenti argomenti.

Suggerimenti aggiuntivi per accedere ai SageMaker HyperPod nodi del cluster

Utilizza lo easy-ssh.sh script fornito da HyperPod per semplificare il processo di connessione

Per trasformare il processo precedente in un comando a riga singola, il HyperPod team fornisce easy-ssh.sh lo script che recupera le informazioni sul cluster, le aggrega nel comando SSM e si connette al nodo di calcolo. Non è necessario cercare manualmente le informazioni richieste sul HyperPod cluster poiché questo script viene eseguito, list-cluster-nodes comanda describe-cluster e analizza le informazioni necessarie per completare il comando SSM. I comandi di esempio seguenti mostrano come eseguire lo script easy-ssh.sh. Se lo script viene eseguito correttamente, viene stabilita una connessione al cluster come utente root. Inoltre, stampa un frammento di codice per configurare SSH aggiungendo il HyperPod cluster come host remoto tramite un proxy SSM. Configurando SSH, puoi connettere il tuo ambiente di sviluppo locale come Visual Studio Code con il cluster. HyperPod

$ chmod +x easy-ssh.sh $ ./easy-ssh.sh -c <node-group> <cluster-name> Cluster id: <cluster_id> Instance id: <instance_id> Node Group: <node-group> Add the following to your ~/.ssh/config to easily connect: $ cat <<EOF >> ~/.ssh/config Host <cluster-name> User ubuntu ProxyCommand sh -c "aws ssm start-session --target sagemaker-cluster:<cluster_id>_<node-group>-<instance_id> --document-name AWS-StartSSHSession --parameters 'portNumber=%p'" EOF Add your ssh keypair and then you can do: $ ssh <cluster-name> aws ssm start-session --target sagemaker-cluster:<cluster_id>_<node-group>-<instance_id> Starting session with SessionId: s0011223344aabbccdd root@ip-111-22-333-444:/usr/bin#

Tieni presente che questa operazione esegue una connessione iniziale come utente root. Prima di eseguire i processi, passa all’utente ubuntu con il comando seguente.

root@ip-111-22-333-444:/usr/bin# sudo su - ubuntu ubuntu@ip-111-22-333-444:/usr/bin#

Configura per un facile accesso con SSH utilizzando il nodo di HyperPod calcolo come host remoto

Per semplificare ulteriormente l'accesso al nodo di calcolo tramite SSH da una macchina locale, lo easy-ssh.sh script emette un frammento di codice per configurare il HyperPod cluster come host remoto, come mostrato nella sezione precedente. Lo snippet di codice viene generato automaticamente per aiutarti ad aggiungere direttamente lo script al file ~/.ssh/config sul tuo dispositivo locale. La procedura seguente mostra come configurare un accesso semplificato tramite SSH tramite il proxy SSM, in modo che tu o gli utenti del tuo cluster possiate eseguire ssh <cluster-name> direttamente la connessione al nodo del cluster. HyperPod

  1. Sul dispositivo locale, aggiungete al HyperPod file il nodo di calcolo con un nome utente come host remoto. ~/.ssh/config Il comando seguente mostra come aggiungere il frammento di codice generato automaticamente dallo script easy-ssh.sh al file ~/.ssh/config. Assicurati di copiarlo dall’output generato automaticamente dello script easy-ssh.sh che contiene le informazioni corrette sul cluster.

    $ cat <<EOF >> ~/.ssh/config Host <cluster-name> User ubuntu ProxyCommand sh -c "aws ssm start-session --target sagemaker-cluster:<cluster_id>_<node-group>-<instance_id> --document-name AWS-StartSSHSession --parameters 'portNumber=%p'" EOF
  2. Sul nodo del HyperPod cluster, aggiungi la chiave pubblica sul tuo dispositivo locale al ~/.ssh/authorized_keys file sul nodo del HyperPod cluster.

    1. Stampa il file della chiave pubblica sul computer locale.

      $ cat ~/.ssh/id_rsa.pub

      Questa operazione dovrebbe restituire la tua chiave. Copia l’output di questo comando.

      (Facoltativo) Se non disponi di una chiave pubblica, creane una con il comando seguente.

      $ ssh-keygen -t rsa -q -f "$HOME/.ssh/id_rsa" -N ""
    2. Connettiti al nodo del cluster e passa all’utente per aggiungere la chiave. Il comando seguente è un esempio di accesso come utente ubuntu. Sostituisci ubuntu con il nome utente per il quale impostare l’accesso semplificato con SSH.

      $ ./easy-ssh.sh -c <node-group> <cluster-name> $ sudo su - ubuntu ubuntu@ip-111-22-333-444:/usr/bin#
    3. Apri il file ~/.ssh/authorized_keys e aggiungi la chiave pubblica alla fine del file.

      ubuntu@ip-111-22-333-444:/usr/bin# vim ~/.ssh/authorized_keys

Al termine della configurazione, è possibile connettersi al nodo del HyperPod cluster come utente eseguendo un comando SSH semplificato come segue.

$ ssh <cluster-name> ubuntu@ip-111-22-333-444:/usr/bin#

Inoltre, puoi utilizzare l’host per lo sviluppo remoto da un IDE sul tuo dispositivo locale, ad esempio Visual Studio Code Remote - SSH.

Configurazione di un ambiente multiutente

Per creare e gestire gli utenti per un ambiente multiutente (inclusa la mappatura degli utenti ai principali IAM e l'integrazione con Active Directory), consulta. Gestione degli utenti su un cluster SageMaker HyperPod Slurm