

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengakses node SageMaker HyperPod cluster Anda
<a name="sagemaker-hyperpod-run-jobs-slurm-access-nodes"></a>

Anda dapat mengakses **InService**cluster Anda melalui AWS Systems Manager (SSM) dengan menjalankan AWS CLI perintah `aws ssm start-session` dengan nama host SageMaker HyperPod cluster dalam format. `sagemaker-cluster:[cluster-id]_[instance-group-name]-[instance-id]` Anda dapat mengambil ID cluster, ID instance, dan nama grup instance dari [SageMaker HyperPod konsol](sagemaker-hyperpod-operate-slurm-console-ui.md#sagemaker-hyperpod-operate-slurm-console-ui-view-details-of-clusters) atau dengan menjalankan `describe-cluster` dan `list-cluster-nodes` dari [AWS CLI perintah untuk SageMaker HyperPod](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-list-cluster-nodes). Misalnya, jika ID cluster Anda`aa11bbbbb222`, nama node cluster adalah`controller-group`, dan ID node cluster adalah`i-111222333444555aa`, `start-session` perintah SSM harus sebagai berikut.

**catatan**  
Memberikan pengguna akses ke node HyperPod cluster memungkinkan mereka untuk menginstal dan mengoperasikan perangkat lunak yang dikelola pengguna pada node. Pastikan Anda mempertahankan prinsip izin hak istimewa paling sedikit bagi pengguna.  
Jika Anda belum menyiapkan AWS Systems Manager, ikuti instruksi yang diberikan di[Penyiapan AWS Systems Manager dan Run As untuk kontrol akses pengguna 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#
```

Perhatikan bahwa ini awalnya menghubungkan Anda sebagai pengguna root. Sebelum menjalankan pekerjaan, beralih ke `ubuntu` pengguna dengan menjalankan perintah berikut.

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

Untuk pengaturan lanjutan untuk penggunaan HyperPod klaster secara praktis, lihat topik berikut.

**Topics**
+ [Kiat tambahan untuk mengakses node SageMaker HyperPod cluster Anda](#sagemaker-hyperpod-run-jobs-slurm-access-nodes-tips)
+ [Menyiapkan lingkungan multi-pengguna](#sagemaker-hyperpod-run-jobs-slurm-access-nodes-multi-user)

## Kiat tambahan untuk mengakses node SageMaker HyperPod cluster Anda
<a name="sagemaker-hyperpod-run-jobs-slurm-access-nodes-tips"></a>

**Gunakan `easy-ssh.sh` skrip yang disediakan oleh HyperPod untuk menyederhanakan proses koneksi**

Untuk membuat proses sebelumnya menjadi perintah satu baris, HyperPod tim menyediakan [`easy-ssh.sh`](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/easy-ssh.sh)skrip yang mengambil informasi cluster Anda, menggabungkannya ke dalam perintah SSM, dan menghubungkan ke node komputasi. Anda tidak perlu secara manual mencari informasi HyperPod cluster yang diperlukan karena skrip ini berjalan `describe-cluster` dan `list-cluster-nodes` memerintahkan dan mem-parsing informasi yang diperlukan untuk menyelesaikan perintah SSM. Contoh perintah berikut menunjukkan bagaimana menjalankan [`easy-ssh.sh`](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/easy-ssh.sh)script. Jika berhasil berjalan, Anda akan terhubung ke cluster sebagai pengguna root. Ini juga mencetak cuplikan kode untuk mengatur SSH dengan menambahkan HyperPod cluster sebagai host jarak jauh melalui proxy SSM. Dengan menyiapkan SSH, Anda dapat menghubungkan lingkungan pengembangan lokal Anda seperti Visual Studio Code dengan 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#
```

Perhatikan bahwa ini awalnya menghubungkan Anda sebagai pengguna root. Sebelum menjalankan pekerjaan, beralih ke `ubuntu` pengguna dengan menjalankan perintah berikut.

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

**Siapkan akses mudah dengan SSH dengan menggunakan node HyperPod komputasi sebagai host jarak jauh**

Untuk lebih menyederhanakan akses ke node komputasi menggunakan SSH dari mesin lokal, `easy-ssh.sh` skrip mengeluarkan potongan kode pengaturan HyperPod cluster sebagai host jarak jauh seperti yang ditunjukkan pada bagian sebelumnya. Cuplikan kode dibuat secara otomatis untuk membantu Anda menambahkan secara langsung ke `~/.ssh/config` file di perangkat lokal Anda. Prosedur berikut menunjukkan cara mengatur untuk akses mudah menggunakan SSH melalui proxy SSM, sehingga Anda atau pengguna cluster Anda dapat langsung menjalankan `ssh {{<cluster-name>}}` untuk terhubung ke node HyperPod cluster.

1. Di perangkat lokal Anda, tambahkan node HyperPod komputasi dengan nama pengguna sebagai host jarak jauh ke `~/.ssh/config` file. Perintah berikut menunjukkan cara menambahkan cuplikan kode yang dibuat secara otomatis dari `easy-ssh.sh` skrip ke file. `~/.ssh/config` Pastikan Anda menyalinnya dari output `easy-ssh.sh` skrip yang dihasilkan secara otomatis yang memiliki informasi cluster yang benar.

   ```
   $ 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. Pada node HyperPod cluster, tambahkan kunci publik pada perangkat lokal Anda ke `~/.ssh/authorized_keys` file di node HyperPod cluster.

   1. Cetak file kunci publik di mesin lokal Anda.

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

      Ini harus mengembalikan kunci Anda. Salin output dari perintah ini. 

      (Opsional) Jika Anda tidak memiliki kunci publik, buat satu dengan menjalankan perintah berikut.

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

   1. Connect ke node cluster dan beralih ke pengguna untuk menambahkan kunci. Perintah berikut adalah contoh mengakses sebagai `ubuntu` pengguna. Ganti `ubuntu` ke nama pengguna yang ingin Anda atur akses mudah dengan SSH.

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

   1. Buka `~/.ssh/authorized_keys` file dan tambahkan kunci publik di akhir file.

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

Setelah Anda selesai menyiapkan, Anda dapat terhubung ke node HyperPod cluster sebagai pengguna dengan menjalankan perintah SSH yang disederhanakan sebagai berikut.

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

Selain itu, Anda dapat menggunakan host untuk pengembangan jarak jauh dari IDE di perangkat lokal Anda, seperti [Visual Studio Code Remote - SSH](https://code.visualstudio.com/docs/remote/ssh).

## Menyiapkan lingkungan multi-pengguna
<a name="sagemaker-hyperpod-run-jobs-slurm-access-nodes-multi-user"></a>

Untuk membuat dan mengelola pengguna untuk lingkungan multi-pengguna (termasuk memetakan pengguna ke prinsipal IAM dan mengintegrasikan dengan Active Directory), lihat. [Manajemen pengguna pada cluster SageMaker HyperPod Slurm](sagemaker-hyperpod-slurm-user-management.md)