翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SageMaker HyperPod クラスターノードへのアクセス
( AWS Systems Manager SSM) を使用して InService クラスターにアクセスするには、 形式の SageMaker HyperPod クラスターホスト名aws ssm start-sessionを使用して AWS CLI コマンドを実行しますsagemaker-cluster:[cluster-id]_[instance-group-name]-[instance-id]。クラスター ID、インスタンス ID、インスタンスグループ名は、SageMaker HyperPod コンソールから、または describe-cluster と list-cluster-nodes を実行して SageMaker HyperPod のAWS CLI コマンドから取得できます。例えば、クラスター ID が aa11bbbbb222、クラスターノード名が controller-group、クラスターノード ID が i-111222333444555aa の場合、SSM start-session コマンドは次のようになります。
注記
HyperPod クラスターノードへのアクセス権をユーザーに付与すると、ユーザーが管理するソフトウェアをノードにインストールして操作できます。ユーザーの最小権限のアクセス許可の原則を維持します。
をセットアップしていない場合は AWS Systems Manager、「」に記載されている手順に従ってくださいクラスターユーザーアクセスコントロールの設定 AWS Systems Manager と Run As。
$aws ssm start-session \ --target sagemaker-cluster:aa11bbbbb222_controller-group-i-111222333444555aa\ --regionus-west-2Starting session with SessionId: s0011223344aabbccddroot@ip-111-22-333-444:/usr/bin#
これは、最初にユーザーをルートユーザーとして接続する点に注意してください。ジョブを実行する前に、次のコマンドを実行して ubuntu ユーザーに切り替えます。
root@ip-111-22-333-444:/usr/bin#sudo su - ubuntuubuntu@ip-111-22-333-444:/usr/bin#
HyperPod クラスターを実際に使用するための詳細設定については、以下のトピックを参照してください。
SageMaker HyperPod クラスターノードにアクセスするためのその他のヒント
HyperPod が提供する easy-ssh.sh スクリプトを使用して接続プロセスを簡素化する
前のプロセスを 1 行のコマンドにするため、HyperPod チームは、クラスター情報を取得してそれを SSM コマンドに集約し、コンピューティングノードに接続する easy-ssh.shdescribe-cluster コマンドと list-cluster-nodes コマンドを実行し、SSM コマンドの完了に必要な情報を解析するため、必要な HyperPod クラスター情報を手動で探す必要はありません。次のコマンド例は、easy-ssh.sh
$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: s0011223344aabbccddroot@ip-111-22-333-444:/usr/bin#
これは、最初にユーザーをルートユーザーとして接続する点に注意してください。ジョブを実行する前に、次のコマンドを実行して ubuntu ユーザーに切り替えます。
root@ip-111-22-333-444:/usr/bin#sudo su - ubuntuubuntu@ip-111-22-333-444:/usr/bin#
HyperPod コンピューティングノードをリモートホストとして使用して SSH で簡単にアクセスできるように設定する
ローカルマシンから SSH を使用してコンピューティングノードにアクセスする操作をさらに簡素化するため、easy-ssh.sh スクリプトは、前のセクションに示したように、HyperPod クラスターをリモートホストとして設定するコードスニペットを出力します。コードスニペットは、ローカルデバイス上の ~/.ssh/config ファイルに直接追加できるよう自動生成されます。次の手順は、SSM プロキシ経由で SSH を使用して簡単にアクセスできるよう設定する方法を示しています。これにより、お客様またはクラスターユーザー直接 ssh を実行してが HyperPod クラスターノードに接続可能になります。<cluster-name>
-
ローカルデバイスで、リモートホストとしてユーザー名を使用する HyperPod コンピューティングノードを
~/.ssh/configファイルに追加します。次のコマンドは、easy-ssh.shスクリプトから~/.ssh/configファイルに自動生成されたコードスニペットを追加する方法を示しています。正しいクラスター情報を持つeasy-ssh.shスクリプトの自動生成出力からコピーしてください。$cat <<EOF >> ~/.ssh/config Host<cluster-name>UserubuntuProxyCommand sh -c "aws ssm start-session --target sagemaker-cluster:<cluster_id>_<node-group>-<instance_id>--document-name AWS-StartSSHSession --parameters 'portNumber=%p'" EOF -
HyperPod クラスターノードで、ローカルデバイス上のパブリックキーを HyperPod クラスターノード上の
~/.ssh/authorized_keysファイルに追加します。-
ローカルマシンにパブリックキーファイルを出力します。
$cat ~/.ssh/id_rsa.pubこれにより、キーが返されます。このコマンドの出力をコピーします。
(オプション) パブリックキーがない場合、次のコマンドを実行して作成します。
$ssh-keygen -t rsa -q -f "$HOME/.ssh/id_rsa" -N "" -
クラスターノードに接続し、ユーザーに切り替えてキーを追加します。次のコマンドは、
ubuntuユーザーとしてアクセスする例です。ubuntuを、SSH で簡単アクセスを設定するユーザー名に置き換えます。$./easy-ssh.sh -c<node-group> <cluster-name>$sudo su -ubuntuubuntu@ip-111-22-333-444:/usr/bin# -
~/.ssh/authorized_keysファイルを開き、ファイルの最後にパブリックキーを追加します。ubuntu@ip-111-22-333-444:/usr/bin#vim ~/.ssh/authorized_keys
-
設定が完了したら、次のように簡略化された SSH コマンドを実行することにより、ユーザーとして HyperPod クラスターノードに接続できます。
$ssh<cluster-name>ubuntu@ip-111-22-333-444:/usr/bin#
さらに、Visual Studio Code Remote - SSH
マルチユーザー環境のセットアップ
マルチユーザー環境 (IAM プリンシパルへのユーザーのマッピングと Active Directory との統合を含む) のユーザーを作成および管理するには、「」を参照してくださいSageMaker HyperPod Slurm クラスターでのユーザー管理。