

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Accès aux nœuds SageMaker HyperPod de votre cluster
<a name="sagemaker-hyperpod-run-jobs-slurm-access-nodes"></a>

Vous pouvez accéder à votre ** InService ** cluster via AWS Systems Manager (SSM) en exécutant la AWS CLI commande `aws ssm start-session` avec le nom d'hôte du SageMaker HyperPod cluster au format de`sagemaker-cluster:[cluster-id]_[instance-group-name]-[instance-id]`. Vous pouvez récupérer l'ID de cluster, l'ID d'instance et le nom du groupe d'instances depuis la [ SageMaker HyperPod console ](sagemaker-hyperpod-operate-slurm-console-ui.md#sagemaker-hyperpod-operate-slurm-console-ui-view-details-of-clusters) ou en exécutant `describe-cluster` et `list-cluster-nodes` à partir des [AWS CLI commandes pour SageMaker HyperPod](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-list-cluster-nodes). Par exemple, si votre ID de cluster est `aa11bbbbb222`, le nom du nœud de cluster `controller-group` et l’ID du nœud de cluster `i-111222333444555aa`, la commande SSM `start-session` doit être la suivante.

**Note**  
Le fait d'accorder aux utilisateurs l'accès aux nœuds du HyperPod cluster leur permet d'installer et d'utiliser des logiciels gérés par les utilisateurs sur les nœuds. Assurez-vous de respecter le principe des autorisations de moindre privilège pour les utilisateurs.  
Si vous ne l'avez pas encore configuré AWS Systems Manager, suivez les instructions fournies à l'adresse[Configuration AWS Systems Manager et Exécuter en tant que pour le contrôle d'accès des utilisateurs au cluster](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-ssm).

```
$ 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#
```

Notez que cela vous connecte initialement en tant qu’utilisateur racine. Avant d’exécuter des tâches, basculez vers l’utilisateur `ubuntu` en exécutant la commande suivante.

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

Pour les paramètres avancés permettant une utilisation pratique des HyperPod clusters, consultez les rubriques suivantes.

**Topics**
+ [Conseils supplémentaires pour accéder aux nœuds de votre SageMaker HyperPod cluster](#sagemaker-hyperpod-run-jobs-slurm-access-nodes-tips)
+ [Configuration d'un environnement multi-utilisateurs](#sagemaker-hyperpod-run-jobs-slurm-access-nodes-multi-user)

## Conseils supplémentaires pour accéder aux nœuds de votre SageMaker HyperPod cluster
<a name="sagemaker-hyperpod-run-jobs-slurm-access-nodes-tips"></a>

**Utilisez le `easy-ssh.sh` script fourni par HyperPod pour simplifier le processus de connexion **

Pour transformer le processus précédent en une commande sur une seule ligne, l' HyperPod équipe fournit le [`easy-ssh.sh`](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/easy-ssh.sh) script qui récupère les informations de votre cluster, les regroupe dans la commande SSM et se connecte au nœud de calcul. Il n'est pas nécessaire de rechercher manuellement les informations de HyperPod cluster requises car ce script s'exécute `describe-cluster` et `list-cluster-nodes` commande et analyse les informations nécessaires à l'exécution de la commande SSM. Les exemples de commandes suivants montrent comment exécuter le script [`easy-ssh.sh`](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/easy-ssh.sh). S’il s’exécute correctement, vous serez connecté au cluster en tant qu’utilisateur racine. Il imprime également un extrait de code pour configurer SSH en ajoutant le HyperPod cluster en tant qu'hôte distant via un proxy SSM. En configurant SSH, vous pouvez connecter votre environnement de développement local, tel que Visual Studio Code, au HyperPod cluster.

```
$ 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#
```

Notez que cela vous connecte initialement en tant qu’utilisateur racine. Avant d’exécuter des tâches, basculez vers l’utilisateur `ubuntu` en exécutant la commande suivante.

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

**Configuration pour un accès facile avec SSH en utilisant le nœud de HyperPod calcul comme hôte distant **

Pour simplifier davantage l'accès au nœud de calcul via SSH à partir d'une machine locale, le `easy-ssh.sh` script génère un extrait de code permettant de configurer le HyperPod cluster en tant qu'hôte distant, comme indiqué dans la section précédente. L’extrait de code est généré automatiquement pour vous aider à l’ajouter directement au fichier `~/.ssh/config` sur votre appareil local. La procédure suivante montre comment configurer un accès facile via SSH via le proxy SSM, afin que vous ou les utilisateurs de votre cluster puissiez directement vous `ssh {{<cluster-name>}}` connecter au nœud du HyperPod cluster.

1. Sur votre appareil local, ajoutez au `~/.ssh/config` fichier le nœud de HyperPod calcul avec un nom d'utilisateur en tant qu'hôte distant. La commande suivante indique comment ajouter au fichier `~/.ssh/config` l’extrait de code généré automatiquement à partir du script `easy-ssh.sh`. Assurez-vous de le copier à partir de la sortie générée automatiquement du script `easy-ssh.sh` contenant les informations de cluster correctes.

   ```
   $ 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
   ```

1. Sur le nœud du HyperPod cluster, ajoutez la clé publique de votre appareil local au `~/.ssh/authorized_keys` fichier du nœud du HyperPod cluster.

   1. Imprimez le fichier de clé publique sur votre ordinateur local.

      ```
      $ cat ~/.ssh/id_rsa.pub
      ```

      Cela devrait renvoyer votre clé. Copiez la sortie de cette commande. 

      (Facultatif) Si vous n’avez pas de clé publique, créez-en une en exécutant la commande suivante.

      ```
      $ ssh-keygen -t rsa -q -f "$HOME/.ssh/id_rsa" -N ""
      ```

   1. Connectez-vous au nœud du cluster et basculez vers l’utilisateur pour ajouter la clé. La commande suivante est un exemple d’accès en tant qu’utilisateur `ubuntu`. Remplacez `ubuntu` par le nom de l’utilisateur pour lequel vous souhaitez configurer l’accès facile avec SSH.

      ```
      $ ./easy-ssh.sh -c {{<node-group> <cluster-name>}}
      $ sudo su - {{ubuntu}}
      ubuntu@ip-111-22-333-444:/usr/bin#
      ```

   1. Ouvrez le fichier `~/.ssh/authorized_keys` et ajoutez la clé publique à la fin du fichier.

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

Une fois la configuration terminée, vous pouvez vous connecter au nœud du HyperPod cluster en tant qu'utilisateur en exécutant une commande SSH simplifiée comme suit.

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

Vous pouvez également utiliser l’hôte pour le développement à distance à partir d’un environnement IDE sur votre appareil local, tel que [Visual Studio Code Remote - SSH](https://code.visualstudio.com/docs/remote/ssh).

## Configuration d'un environnement multi-utilisateurs
<a name="sagemaker-hyperpod-run-jobs-slurm-access-nodes-multi-user"></a>

Pour créer et gérer des utilisateurs pour un environnement multi-utilisateurs (y compris pour mapper les utilisateurs aux principaux IAM et les intégrer à Active Directory), consultez. [Gestion des utilisateurs sur un cluster SageMaker HyperPod Slurm](sagemaker-hyperpod-slurm-user-management.md)