View a markdown version of this page

Accès aux nœuds SageMaker HyperPod de votre cluster - Amazon SageMaker AI

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

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 desagemaker-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 ou en exécutant describe-cluster et list-cluster-nodes à partir des AWS CLI commandes pour SageMaker HyperPod. 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'adresseConfiguration AWS Systems Manager et Exécuter en tant que pour le contrôle d'accès des utilisateurs au 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#

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.

Conseils supplémentaires pour accéder aux nœuds de votre SageMaker HyperPod cluster

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 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. 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
  2. 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 ""
    2. 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#
    3. 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.

Configuration d'un environnement multi-utilisateurs

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