

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

# Menggunakan instance mandiri sebagai node login AWS PCS
<a name="working-with_login-nodes_standalone"></a>

Anda dapat mengatur instans EC2 independen untuk berinteraksi dengan penjadwal Slurm klaster AWS PCS. Ini berguna untuk membuat node login, workstation, atau host manajemen alur kerja khusus yang bekerja dengan cluster AWS PCS tetapi beroperasi di luar manajemen PCS. AWS Untuk melakukan ini, setiap instance mandiri harus:

1. Memiliki versi perangkat lunak Slurm yang kompatibel diinstal.

1. Dapat terhubung ke titik akhir Slurmctld cluster AWS PCS.

1. Minta Slurm Auth dan Cred Kiosk Daemon (`sackd`) dikonfigurasi dengan benar dengan titik akhir dan rahasia cluster PCS. AWS Untuk informasi selengkapnya, lihat [sackd di dokumentasi](https://slurm.schedmd.com/sackd.html) Slurm.

 Tutorial ini membantu Anda mengonfigurasi instance independen yang terhubung ke cluster AWS PCS. 

**Contents**
+ [Langkah 1 - Ambil alamat dan rahasia untuk cluster AWS PCS target](working-with_login-nodes_standalone_get-addr.md)
+ [Langkah 2 - Luncurkan instans EC2](working-with_login-nodes_standalone_launch.md)
+ [Langkah 3 - Instal Slurm pada instance](working-with_login-nodes_standalone_install-slurm.md)
+ [Langkah 4 - Ambil dan simpan rahasia cluster](working-with_login-nodes_standalone_get-secret.md)
+ [Langkah 5 - Konfigurasikan koneksi ke cluster AWS PCS](working-with_login-nodes_standalone_configure-connection.md)
+ [Langkah 6 - (Opsional) Uji koneksi](working-with_login-nodes_standalone_test.md)

# Langkah 1 - Ambil alamat dan rahasia untuk cluster AWS PCS target
<a name="working-with_login-nodes_standalone_get-addr"></a>

Mengambil rincian tentang target AWS PCS cluster menggunakan AWS CLI dengan perintah yang berikut. Sebelum menjalankan perintah, buat penggantian berikut:
+ Ganti *region-code* dengan Wilayah AWS tempat cluster target berjalan.
+ Ganti *cluster-ident* dengan nama atau pengenal untuk cluster target

```
aws pcs get-cluster --region region-code --cluster-identifier cluster-ident
```

Perintah akan mengembalikan output yang mirip dengan contoh ini.

```
{
    "cluster": {
        "name": "get-started",
        "id": "pcs_123456abcd",
        "arn": "arn:aws:pcs:us-east-1:111122223333:cluster/pcs_123456abcd",
        "status": "ACTIVE",
        "createdAt": "2024-12-17T21:03:52+00:00",
        "modifiedAt": "2024-12-17T21:03:52+00:00",
        "scheduler": {
            "type": "SLURM",
            "version": "25.05"
        },
        "size": "SMALL",
        "slurmConfiguration": {
            "authKey": {
                "secretArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:pcs!slurm-secret-pcs_123456abcd-a12ABC",
                "secretVersion": "ef232370-d3e7-434c-9a87-ec35c1987f75"
            }
        },
        "networking": {
            "subnetIds": [
                "subnet-0123456789abcdef0"
            ],
            "securityGroupIds": [
                "sg-0123456789abcdef0"
            ]
        },
        "endpoints": [
            {
                "type": "SLURMCTLD",
                "privateIpAddress": "10.3.149.220",
                "port": "6817"
            }
        ]
    }
}
```

Dalam contoh ini, titik akhir pengontrol Slurm cluster memiliki alamat IP `10.3.149.220` dan berjalan di port. `6817` Ini `secretArn` akan digunakan dalam langkah-langkah selanjutnya untuk mengambil rahasia cluster. Alamat IP dan port akan digunakan pada langkah-langkah selanjutnya untuk mengkonfigurasi `sackd` layanan. 

# Langkah 2 - Luncurkan instans EC2
<a name="working-with_login-nodes_standalone_launch"></a>

**Cara meluncurkan instans EC2**

1. Buka [konsol Amazon EC2](https://console.aws.amazon.com/ec2).

1. Di panel navigasi, pilih **Instans**, lalu pilih **Luncurkan Instans** untuk membuka wizard peluncuran instans baru.

1. (Opsional) Di bagian **Nama dan tag**, berikan nama untuk contoh, seperti`PCS-LoginNode`. Nama ditetapkan ke instans sebagai tanda sumber daya (`Name=PCS-LoginNode`).

1. Di bagian **Aplikasi dan Gambar OS**, pilih AMI untuk salah satu sistem operasi yang didukung oleh AWS PCS. Untuk informasi selengkapnya, lihat [Sistem operasi yang didukung](working-with_ami_installers.md#working-with_ami_installers_os).

1. Di bagian **Jenis instans**, pilih jenis instans yang didukung. Untuk informasi selengkapnya, lihat [Tipe instans yang didukung](working-with_ami_installers.md#working-wth_ami_installers_instance-types).

1. Di bagian **Key pair**, pilih key pair SSH yang akan digunakan untuk instance.

1. Di bagian **Pengaturan jaringan**:

   1. Pilih **Edit**.

     1. Pilih VPC cluster AWS PCS Anda.

     1. Untuk **Firewall (grup keamanan)**, pilih **Pilih grup keamanan yang ada**.

        1. Pilih grup keamanan yang mengizinkan lalu lintas antara instance dan pengontrol Slurm cluster AWS PCS target. Untuk informasi selengkapnya, lihat [Persyaratan dan pertimbangan kelompok keamanan](working-with_networking_sg.md#working-with_networking_sg-requirements).

        1. (Opsional) Pilih grup keamanan yang memungkinkan akses SSH masuk ke instans Anda.

1. Di bagian **Penyimpanan**, konfigurasikan volume penyimpanan sesuai kebutuhan. Pastikan untuk mengonfigurasi ruang yang cukup untuk menginstal aplikasi dan pustaka untuk mengaktifkan kasus penggunaan Anda.

1.  Di bagian **Advanced**, pilih peran IAM yang memungkinkan akses ke rahasia cluster. Untuk informasi selengkapnya, lihat [Dapatkan rahasia cluster Slurm](working-with_clusters_secrets_get.md). 

1.  Di panel **Ringkasan**, pilih **Launch instance**. 

# Langkah 3 - Instal Slurm pada instance
<a name="working-with_login-nodes_standalone_install-slurm"></a>

Ketika instans telah diluncurkan dan menjadi aktif, sambungkan ke instans menggunakan mekanisme pilihan Anda. Gunakan installer Slurm yang disediakan oleh AWS untuk menginstal Slurm ke instance. Untuk informasi selengkapnya, lihat [Pemasang slurm](working-with_ami_installers.md#working-with_ami_installers_slurm).

Unduh penginstal Slurm, buka kompres, dan gunakan `installer.sh` skrip untuk menginstal Slurm. Untuk informasi selengkapnya, lihat [Langkah 3 - Instal Slurm](working-with_ami_custom_install-slurm.md).

# Langkah 4 - Ambil dan simpan rahasia cluster
<a name="working-with_login-nodes_standalone_get-secret"></a>

Instruksi ini membutuhkan AWS CLI. Untuk informasi selengkapnya, lihat [Menginstal atau memperbarui ke versi terbaru dari](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Panduan AWS Command Line Interface Pengguna untuk Versi 2*. AWS CLI

Simpan rahasia cluster dengan perintah berikut.
+ Buat direktori konfigurasi untuk Slurm.

  ```
  sudo mkdir -p /etc/slurm
  ```
+ Mengambil, memecahkan kode, dan menyimpan rahasia cluster. Sebelum menjalankan perintah ini, ganti *region-code* dengan Region tempat cluster target berjalan, dan ganti *secret-arn* dengan nilai untuk `secretArn` diambil di [Langkah 1](working-with_login-nodes_standalone_get-addr.md).

  ```
  aws secretsmanager get-secret-value \
   --region region-code \
   --secret-id 'secret-arn' \
   --version-stage AWSCURRENT \
   --query 'SecretString' \
   --output text | base64 -d | sudo tee /etc/slurm/slurm.key
  ```
**Awas**  
Dalam lingkungan multiuser, setiap pengguna dengan akses ke instance mungkin dapat mengambil rahasia cluster jika mereka dapat mengakses layanan metadata instance (IMDS). Ini, pada gilirannya, dapat memungkinkan mereka untuk meniru pengguna lain. Pertimbangkan untuk membatasi akses ke IMDS hanya untuk pengguna root atau administratif. Atau, pertimbangkan untuk menggunakan mekanisme berbeda yang tidak bergantung pada profil instance untuk mengambil dan mengonfigurasi rahasia.
+ Tetapkan kepemilikan dan izin pada file kunci Slurm.

  ```
  sudo chmod 0600 /etc/slurm/slurm.key
  sudo chown slurm:slurm /etc/slurm/slurm.key
  ```
**catatan**  
Kunci Slurm harus dimiliki oleh pengguna dan grup tempat `sackd` layanan berjalan. 

# Langkah 5 - Konfigurasikan koneksi ke cluster AWS PCS
<a name="working-with_login-nodes_standalone_configure-connection"></a>

Untuk membuat koneksi ke cluster AWS PCS, luncurkan `sackd` sebagai layanan sistem dengan mengikuti langkah-langkah ini.

**catatan**  
 Jika Anda menggunakan Slurm 25.05 atau yang lebih baru, Anda dapat menggunakan skrip untuk mengatur node login Anda untuk terhubung ke beberapa cluster sebagai gantinya. Untuk informasi selengkapnya, lihat [Menghubungkan node login mandiri ke beberapa cluster di PCS AWS](multi-cluster-login-script.md). 

1. Siapkan file lingkungan untuk `sackd` layanan dengan perintah berikut. Sebelum menjalankan perintah, ganti *ip-address* dan *port* dengan nilai yang diambil dari titik akhir di [Langkah](working-with_login-nodes_standalone_get-addr.md) 1.

   ```
   sudo echo "SACKD_OPTIONS='--conf-server=ip-address:port'" > /etc/sysconfig/sackd
   ```

1. Buat file `systemd` layanan untuk mengelola `sackd` proses.

   ```
   sudo cat << EOF > /etc/systemd/system/sackd.service
   [Unit]
   Description=Slurm auth and cred kiosk daemon
   After=network-online.target remote-fs.target
   Wants=network-online.target
   ConditionPathExists=/etc/sysconfig/sackd
   
   [Service]
   Type=notify
   EnvironmentFile=/etc/sysconfig/sackd
   User=slurm
   Group=slurm
   RuntimeDirectory=slurm
   RuntimeDirectoryMode=0755
   ExecStart=/opt/aws/pcs/scheduler/slurm-25.05/sbin/sackd --systemd \$SACKD_OPTIONS
   ExecReload=/bin/kill -HUP \$MAINPID
   KillMode=process
   LimitNOFILE=131072
   LimitMEMLOCK=infinity
   LimitSTACK=infinity
   
   [Install]
   WantedBy=multi-user.target
   EOF
   ```

1. Tetapkan kepemilikan file `sackd` layanan.

   ```
   sudo chown root:root /etc/systemd/system/sackd.service && \
       sudo chmod 0644 /etc/systemd/system/sackd.service
   ```

1. Aktifkan `sackd` layanan.

   ```
   sudo systemctl daemon-reload && sudo systemctl enable sackd
   ```

1. Mulai layanan `sackd`.

   ```
   sudo systemctl start sackd
   ```

# Langkah 6 - (Opsional) Uji koneksi
<a name="working-with_login-nodes_standalone_test"></a>

Konfirmasikan bahwa `sackd` layanan sedang berjalan. Berikut adalah contoh output. Jika ada kesalahan, biasanya akan muncul di sini.

```
[root@ip-10-3-27-112 ~]# systemctl status sackd
[x] sackd.service - Slurm auth and cred kiosk daemon
   Loaded: loaded (/etc/systemd/system/sackd.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2024-12-17 16:34:55 UTC; 8s ago
 Main PID: 9985 (sackd)
   CGroup: /system.slice/sackd.service
           └─9985 /opt/aws/pcs/scheduler/slurm-25.05/sbin/sackd --systemd --conf-server=10.3.149.220:6817

Dec 17 16:34:55 ip-10-3-27-112.ec2.internal systemd[1]: Starting Slurm auth and cred kiosk daemon...
Dec 17 16:34:55 ip-10-3-27-112.ec2.internal systemd[1]: Started Slurm auth and cred kiosk daemon.
Dec 17 16:34:55 ip-10-3-27-112.ec2.internal sackd[9985]: sackd: running
```

Konfirmasikan koneksi ke cluster bekerja menggunakan perintah klien Slurm seperti `sinfo` dan. `squeue` Berikut adalah contoh output dari`sinfo`.

```
[root@ip-10-3-27-112 ~]# /opt/aws/pcs/scheduler/slurm-25.05/bin/sinfo
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST
all up infinite 4 idle~ compute-[1-4]
```

Anda juga harus dapat mengirimkan pekerjaan. Misalnya, perintah yang mirip dengan contoh ini akan meluncurkan pekerjaan interaktif pada 1 node di cluster. 

```
/opt/aws/pcs/scheduler/slurm-25.05/bin/srun --nodes=1 -p all --pty bash -i
```