Slurm REST API pertanyaan yang sering diajukan di PCS AWS - AWS PCS

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

Slurm REST API pertanyaan yang sering diajukan di PCS AWS

Bagian ini menjawab pertanyaan umum tentang Slurm REST API di AWS PCS.

Apa itu Slurm REST API?

Slurm REST API adalah antarmuka HTTP yang memungkinkan Anda berinteraksi dengan manajer beban kerja Slurm secara terprogram. Anda dapat menggunakan metode HTTP standar seperti GET, POST, dan DELETE untuk mengirimkan pekerjaan, memantau status klaster, dan mengelola sumber daya tanpa memerlukan akses baris perintah ke cluster.

Dapatkah saya menggunakan token yang dihasilkan olehscontrol token?

Tidak, scontrol token output standar tidak kompatibel dengan AWS PCS. PCS Slurm REST API memerlukan token JWT yang diperkaya yang berisi klaim identitas spesifik yang mencakup username (sun), POSIX user ID (), dan group (uid). IDs gids Token Slurm standar tidak memiliki klaim yang diperlukan ini dan akan ditolak oleh API.

Dapatkah saya mengakses API dari luar VPC saya?

Tidak, titik akhir REST API hanya dapat diakses dari dalam VPC Anda menggunakan alamat IP pribadi pengontrol Slurm. Untuk mengaktifkan akses eksternal, terapkan AWS layanan seperti Application Load Balancer dengan VPC Link, API Gateway, atau buat koneksi VPC peering atau VPN untuk konektivitas yang aman.

Mengapa API menggunakan HTTP alih-alih HTTPS?

Slurm REST API dimaksudkan untuk menjadi endpoint internal dalam jaringan pribadi cluster Anda. Untuk penerapan produksi yang memerlukan enkripsi, Anda dapat menerapkan SSL/TLS penghentian pada tingkat yang lebih tinggi dalam arsitektur Anda, seperti melalui gateway API, penyeimbang beban, atau proxy terbalik.

Bagaimana cara mengontrol akses ke REST API?

Konfigurasikan aturan grup keamanan klaster Anda untuk membatasi akses ke port 6820 pada pengontrol Slurm. Tetapkan aturan masuk untuk mengizinkan koneksi hanya dari rentang IP tepercaya atau sumber tertentu dalam VPC Anda, memblokir akses tidak sah ke titik akhir API.

Bagaimana cara memutar kunci penandatanganan JWT?

Letakkan klaster Anda dalam mode pemeliharaan tanpa instance aktif, lalu mulai rotasi kunci melalui AWS Secrets Manager. Setelah rotasi selesai, aktifkan kembali antrian. Semua token JWT yang ada akan menjadi tidak valid dan harus dibuat ulang menggunakan kunci penandatanganan baru dari Secrets Manager.

Apakah saya perlu mengaktifkan akuntansi Slurm untuk menggunakan REST API?

Tidak, akuntansi Slurm tidak diperlukan untuk operasi REST API dasar seperti pengajuan dan pemantauan pekerjaan. Namun, seluruh /slurmdb titik akhir membutuhkan akuntansi untuk aktif.

Alat pihak ketiga apa yang bekerja dengan AWS PCS REST API?

Banyak klien Slurm REST API yang ada harus bekerja dengan AWS PCS, termasuk Slurm Exporter untuk Prometheus,, dan aplikasi khusus yang mengikuti format API Slurm REST SlurmWeb standar. Namun, alat yang diandalkan scontrol token untuk otentikasi akan memerlukan modifikasi untuk bekerja dengan persyaratan AWS PCS JWT.

Apakah ada biaya tambahan untuk menggunakan REST API?

Tidak, tidak ada biaya tambahan untuk mengaktifkan atau menggunakan fitur Slurm REST API. Anda hanya membayar sumber daya cluster yang mendasarinya seperti biasa.

Bagaimana saya bisa memecahkan masalah REST API?
  • Masalah konektivitas jaringan

    Jika Anda tidak dapat mencapai titik akhir API, Anda akan melihat batas waktu koneksi atau kesalahan “koneksi ditolak” saat membuat permintaan HTTP ke pengontrol cluster.

    Apa yang harus dilakukan: Verifikasi klien Anda berada di VPC yang sama atau memiliki perutean jaringan yang tepat, dan konfirmasikan grup keamanan Anda mengizinkan lalu lintas HTTP pada port 6820 dari IP sumber atau subnet Anda.

  • Masalah otentikasi Slurm REST

    Jika token JWT Anda tidak valid, kedaluwarsa, atau ditandatangani dengan tidak benar, permintaan API akan mengembalikan “Kesalahan otentikasi protokol” di bidang kesalahan respons.

    Contoh pesan kesalahan:

    { "errors": [ { "description": "Batch job submission failed", "error_number": 1007, "error": "Protocol authentication error", "source": "slurm_submit_batch_job()" } ] }

    Apa yang harus dilakukan: Periksa apakah token JWT Anda diformat dengan benar, tidak kedaluwarsa, dan ditandatangani dengan kunci yang benar dari Secrets Manager. Verifikasi bahwa token telah dibentuk dengan benar dan menyertakan klaim yang diperlukan dan bahwa Anda menggunakan format header otentikasi yang benar.

  • Job gagal berjalan setelah pengajuan

    Jika token JWT Anda valid tetapi berisi struktur atau konten internal yang salah, pekerjaan mungkin telah memasukkan status jeda (PD) dengan kode alasan. JobAdminHead Gunakan scontrol show job <job-id> untuk memeriksa pekerjaan — Anda akan melihatJobState=PENDING, Reason=JobHeldAdmin, danSystemComment=slurm_cred_create failure, holding job.

    Apa yang harus dilakukan: Akar penyebabnya mungkin nilai yang salah di JWT. Verifikasi bahwa token terstruktur dengan benar dan menyertakan klaim yang diperlukan sesuai dokumentasi PCS.

  • Masalah izin direktori kerja

    Jika identitas pengguna yang ditentukan dalam JWT Anda tidak memiliki izin menulis ke direktori kerja pekerjaan, pekerjaan akan gagal dengan kesalahan izin, mirip dengan menggunakan sbatch --chdir dengan direktori yang tidak dapat diakses.

    Apa yang harus dilakukan: Pastikan pengguna yang ditentukan dalam token JWT Anda memiliki izin yang sesuai untuk direktori kerja pekerjaan.

  • Masih mengalami masalah?

    1. Periksa dokumentasi SchedMD tentang spesifikasi REST API.

    2. Periksa log pengontrol Slurm untuk informasi lebih rinci tentang kesalahan (lihat Log penjadwal di AWS PCS untuk lebih jelasnya).