View a markdown version of this page

Zugreifen auf Ihre SageMaker HyperPod Clusterknoten - Amazon SageMaker KI

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Zugreifen auf Ihre SageMaker HyperPod Clusterknoten

Sie können über AWS Systems Manager (SSM) auf Ihren InService Cluster zugreifen, indem Sie den AWS CLI Befehl aws ssm start-session mit dem SageMaker HyperPod Cluster-Hostnamen im Format von sagemaker-cluster:[cluster-id]_[instance-group-name]-[instance-id] ausführen. Sie können die Cluster-ID, die Instanz-ID und den Instanzgruppennamen von der SageMaker HyperPod Konsole abrufen oder indem Sie describe-cluster und list-cluster-nodes über die AWS CLI Befehle für SageMaker HyperPod ausführen. Wenn Ihre Cluster-ID beispielsweise aa11bbbbb222, der Clusterknotenname controller-group und die Clusterknoten-ID i-111222333444555aa lautet, sollte der SSM-Befehl start-session wie folgt lauten.

Anmerkung

Wenn Sie Benutzern Zugriff auf HyperPod Clusterknoten gewähren, können sie benutzerverwaltete Software auf den Knoten installieren und ausführen. Stellen Sie sicher, dass Sie das Prinzip der geringsten Berechtigung für Benutzer beibehalten.

Wenn Sie das System noch nicht eingerichtet haben AWS Systems Manager, folgen Sie den Anweisungen unterEinrichtung AWS Systems Manager und Run As für die Cluster-Benutzerzugriffskontrolle.

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

Beachten Sie, dass Sie dadurch zunächst als Root-Benutzer verbunden werden. Bevor Sie Aufträge ausführen, wechseln Sie zum ubuntu-Benutzer, indem Sie den folgenden Befehl ausführen.

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

Erweiterte Einstellungen für die praktische Verwendung von HyperPod Clustern finden Sie in den folgenden Themen.

Zusätzliche Tipps für den Zugriff auf Ihre SageMaker HyperPod Clusterknoten

Verwenden Sie das von bereitgestellte easy-ssh.sh Skript, HyperPod um den Verbindungsvorgang zu vereinfachen

Um den vorherigen Vorgang in einen einzeiligen Befehl umzuwandeln, stellt das HyperPod Team das easy-ssh.sh Skript bereit, das Ihre Cluster-Informationen abruft, sie im SSM-Befehl zusammenfasst und eine Verbindung zum Rechenknoten herstellt. Sie müssen nicht manuell nach den erforderlichen HyperPod Cluster-Informationen suchen, da dieses Skript ausgeführt wird describe-cluster und die für die Ausführung des list-cluster-nodes SSM-Befehls erforderlichen Informationen kommandiert und analysiert. Die folgenden Beispielbefehle veranschaulichen die Ausführung des easy-ssh.sh-Skripts. Wenn es erfolgreich ausgeführt wird, werden Sie als Root-Benutzer mit dem Cluster verbunden. Es druckt auch einen Codeausschnitt zur Einrichtung von SSH, indem der HyperPod Cluster über einen SSM-Proxy als Remote-Host hinzugefügt wird. Durch die Einrichtung von SSH können Sie Ihre lokale Entwicklungsumgebung wie Visual Studio Code mit dem Cluster verbinden. 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#

Beachten Sie, dass Sie dadurch zunächst als Root-Benutzer verbunden werden. Bevor Sie Aufträge ausführen, wechseln Sie zum ubuntu-Benutzer, indem Sie den folgenden Befehl ausführen.

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

Richten Sie den einfachen Zugriff mit SSH ein, indem Sie den HyperPod Rechenknoten als Remote-Host verwenden

Um den Zugriff auf den Rechenknoten mithilfe von SSH von einem lokalen Computer aus weiter zu vereinfachen, gibt das easy-ssh.sh Skript einen Codeausschnitt zur Einrichtung des HyperPod Clusters als Remote-Host aus, wie im vorherigen Abschnitt gezeigt. Das Code-Snippet wird automatisch generiert, damit Sie es direkt zur ~/.ssh/config-Datei auf Ihrem lokalen Gerät hinzufügen können. Das folgende Verfahren zeigt, wie Sie den einfachen Zugriff mithilfe von SSH über den SSM-Proxy einrichten, sodass Sie oder Ihre Cluster-Benutzer direkt ausführen können, ssh <cluster-name> um eine Verbindung zum HyperPod Clusterknoten herzustellen.

  1. Fügen Sie auf Ihrem lokalen Gerät den HyperPod Rechenknoten mit einem Benutzernamen als Remote-Host zur ~/.ssh/config Datei hinzu. Der folgende Befehl zeigt, wie der automatisch generierte Codeausschnitt aus dem easy-ssh.sh-Skript an die ~/.ssh/config-Datei angefügt wird. Stellen Sie sicher, dass Sie es aus der automatisch generierten Ausgabe des easy-ssh.sh-Skripts kopieren, das die richtigen Clusterinformationen enthält.

    $ 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. Fügen Sie auf dem HyperPod Clusterknoten den öffentlichen Schlüssel auf Ihrem lokalen Gerät zur ~/.ssh/authorized_keys Datei auf dem HyperPod Clusterknoten hinzu.

    1. Drucken Sie den öffentlichen Schlüsseldatei auf Ihrem lokalen Computer.

      $ cat ~/.ssh/id_rsa.pub

      Dies sollte Ihren Schlüssel zurückgeben. Kopieren Sie die Ausgabe dieses Befehls.

      (Optional) Wenn Sie keinen öffentlichen Schlüssel haben, erstellen Sie einen, indem Sie den folgenden Befehl ausführen.

      $ ssh-keygen -t rsa -q -f "$HOME/.ssh/id_rsa" -N ""
    2. Stellen Sie eine Verbindung zum Clusterknoten her und wechseln Sie zum Benutzer, um den Schlüssel hinzuzufügen. Der folgende Befehl ist ein Beispiel für den Zugriff als ubuntu-Benutzer. Ersetzen Sie ubuntu durch den Benutzernamen, für den Sie den einfachen Zugriff mit SSH einrichten möchten.

      $ ./easy-ssh.sh -c <node-group> <cluster-name> $ sudo su - ubuntu ubuntu@ip-111-22-333-444:/usr/bin#
    3. Öffnen Sie die ~/.ssh/authorized_keys-Datei und fügen Sie den öffentlichen Schlüssel am Ende der Datei hinzu.

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

Nachdem Sie die Einrichtung abgeschlossen haben, können Sie als Benutzer eine Verbindung zum HyperPod Clusterknoten herstellen, indem Sie einen vereinfachten SSH-Befehl wie folgt ausführen.

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

Sie können den Host auch für die Remote-Entwicklung von einer IDE auf Ihrem lokalen Gerät aus verwenden, z. B. Visual Studio Code Remote – SSH.

Einrichtung einer Mehrbenutzerumgebung

Informationen zum Erstellen und Verwalten von Benutzern für eine Mehrbenutzerumgebung (einschließlich der Zuordnung von Benutzern zu IAM-Prinzipalen und der Integration in Active Directory) finden Sie unter. Benutzerverwaltung auf einem SageMaker HyperPod Slurm-Cluster