

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

# Tutorial: Membuat definisi pekerjaan paralel multi-node pada sumber daya Amazon EC2
<a name="multi-node-job-def-ec2"></a>

Untuk membuat definisi pekerjaan paralel multi-node di sumber daya Amazon Elastic Compute Cloud (Amazon EC2).

**catatan**  
Untuk membuat definisi pekerjaan *simpul tunggal*, lihat[Buat definisi pekerjaan simpul tunggal di sumber daya Amazon EC2](create-job-definition-EC2.md).

**Untuk membuat definisi pekerjaan paralel multi-node di sumber daya Amazon EC2:**

1. Buka AWS Batch konsol di [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Dari bilah navigasi, pilih yang AWS Region akan digunakan.

1. Di panel navigasi, pilih **Definisi Job**.

1. Pilih **Buat**.

1. Untuk **jenis Orkestrasi, pilih** Amazon **Elastic Compute Cloud (Amazon** EC2).

1. Untuk **Aktifkan paralel multi-node**, nyalakan paralel multi-node.

1. Untuk **Name** (Name), masukkan nama yang unik untuk ketentuan tugas Anda. Namanya bisa mencapai 128 karakter, dan dapat berisi huruf besar dan kecil, angka, tanda hubung (-), dan garis bawah (\_).

1. (Opsional) Untuk **batas waktu Eksekusi**, tentukan jumlah maksimum detik yang Anda inginkan untuk menjalankan upaya pekerjaan. Jika upaya melebihi durasi batas waktu, upaya dihentikan dan dipindahkan ke `FAILED` status. Untuk informasi selengkapnya, lihat [Batas waktu Job](job_timeouts.md).

1. (Opsional) Aktifkan **Prioritas penjadwalan**. Masukkan nilai prioritas penjadwalan antara 0 dan 100. Nilai yang lebih tinggi diberikan prioritas yang lebih tinggi daripada nilai yang lebih rendah.

1. (Opsional) Untuk **upaya Job**, masukkan berapa kali AWS Batch upaya untuk memindahkan pekerjaan ke `RUNNABLE` status. Masukkan angka antara 1 dan 10.

1. (Opsional) Untuk **kondisi strategi Coba lagi**, pilih **Tambahkan evaluasi saat keluar**. Masukkan setidaknya satu nilai parameter dan kemudian pilih **Action**. Untuk setiap set kondisi, **Tindakan** harus diatur ke **Coba Ulang** atau **Keluar**. Tindakan ini berarti sebagai berikut: 
   + **Coba lagi — AWS Batch coba** lagi sampai jumlah upaya pekerjaan yang Anda tentukan tercapai.
   + **Keluar** — AWS Batch berhenti mencoba kembali pekerjaan.
**penting**  
Jika Anda memilih **Tambahkan evaluasi saat keluar**, Anda harus mengonfigurasi setidaknya satu parameter dan memilih **Tindakan** atau memilih **Hapus evaluasi saat keluar**.

1. (Opsional) Perluas **Tag** dan kemudian pilih **Tambahkan tag** untuk menambahkan tag ke sumber daya. Masukkan kunci dan nilai opsional, lalu pilih **Tambah tag**. Anda juga dapat mengaktifkan **Menyebarkan tag** untuk menyebarkan tag dari definisi pekerjaan dan pekerjaan ke tugas Amazon ECS.

1. Pilih **Halaman berikutnya**.

1. Untuk **Number of nodes** (Jumlah simpul), masukkan jumlah total simpul yang akan digunakan untuk tugas Anda.

1. Untuk **Main node** (Simpul utama), masukkan indeks simpul yang akan digunakan untuk simpul utama. Indeks simpul utama default adalah `0`.

1. Untuk **tipe Instance**, pilih jenis instance.
**catatan**  
Jenis instance yang Anda pilih berlaku untuk semua node.

1. **Untuk **Parameter**, pilih **Tambahkan parameter** untuk menambahkan placeholder substitusi parameter sebagai pasangan **Kunci dan Nilai** opsional.**

1. Di bagian **rentang Node**:

   1. Pilih **Add node range** (Tambahkan rentang simpul). Ini akan membuat bagian **Node range** (Rentang simpul).

   1. Untuk **Target nodes** (Simpul target), tentukan rentang untuk grup simpul Anda, menggunakan notasi `{{range_start}}:{{range_end}}`.

      Anda dapat membuat hingga lima rentang node untuk node yang Anda tentukan untuk pekerjaan Anda. Rentang simpul menggunakan nilai indeks untuk simpul, dan indeks simpul dimulai dari 0. Pastikan bahwa nilai indeks akhir rentang grup node akhir Anda adalah satu kurang dari jumlah node yang Anda tentukan. Misalnya, anggaplah Anda menentukan 10 node, dan Anda ingin menggunakan grup node tunggal. Kemudian, rentang akhir Anda adalah 9.

   1. Untuk **Gambar**, pilih Docker gambar yang akan digunakan untuk pekerjaan Anda. Secara default, gambar dalam Docker Hub registri tersedia. Anda juga dapat menentukan repositori lainnya dengan `{{repository-url}}/{{image}}:{{tag}}`. Namanya bisa mencapai 225 karakter. Ini dapat berisi huruf besar dan kecil, angka, tanda hubung (-), garis bawah (\_), titik dua (:), garis miring maju (/), dan tanda angka (\#). Parameter ini sesuai dengan `Image` di bagian [Buat kontainer](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) di [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) dan `IMAGE` parameter [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/).
**catatan**  
Arsitektur gambar Docker harus sesuai dengan arsitektur prosesor sumber daya komputasi tempatnya dijadwalkan. Sebagai contoh, gambar Docker berbasis ARM hanya dapat berjalan pada sumber daya komputasi berbasis ARM.
      + Gambar di Amazon ECR Repositori Publik menggunakan konvensi lengkap `registry/repository[:tag]` atau `registry/repository[@digest]` penamaan (misalnya,). `public.ecr.aws/{{registry_alias}}/{{my-web-app}}:{{latest}}`
      + Gambar di repositori Amazon ECR menggunakan konvensi penamaan `registry/repository[:tag]` lengkap. Misalnya, `{{aws_account_id}}.dkr.ecr.{{region}}.amazonaws.com``/{{my-web-app}}:{{latest}}`
      + Gambar di repositori resmi Docker Hub menggunakan satu nama (misalnya, `ubuntu` atau`mongo`).
      + Gambar di repositori lain di Docker Hub memenuhi syarat dengan nama organisasi (misalnya,`amazon/amazon-ecs-agent`).
      + Gambar di repositori online lainnya memenuhi syarat lebih lanjut berdasarkan nama domain (misalnya, `quay.io/assemblyline/ubuntu`).

   1. Untuk **Command**, masukkan perintah ke dalam bidang sebagai setara dengan array string **JSON** mereka.

      Parameter ini sesuai dengan `Cmd` di bagian [Buat kontainer](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) di [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) dan parameter `COMMAND` untuk [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/). Untuk informasi selengkapnya tentang Docker `CMD` parameter, lihat [https://docs.docker.com/engine/referensi/builder/ \#cmd](https://docs.docker.com/engine/reference/builder/#cmd).
**catatan**  
Anda dapat menggunakan nilai dan placeholder default untuk substitusi parameter dalam perintah Anda. Untuk informasi selengkapnya, lihat [Parameter](job_definition_parameters.md#parameters).

   1. Untuk **v CPUs**, tentukan jumlah v yang CPUs akan dicadangkan untuk wadah. Parameter ini sesuai dengan `CpuShares` di bagian [Buat kontainer](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) di [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) dan opsi `--cpu-shares` untuk [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/). Setiap vCPU setara dengan 1.024 bagian CPU. Anda harus menentukan setidaknya satu vCPU.

   1. Untuk **Memory** (Memori), tentukan batas keras (dalam MiB) memori yang akan diberikan ke kontainer tugas. Jika kontainer Anda mencoba untuk melebihi memori yang ditentukan di sini, kontainer akan dihentikan. Parameter ini sesuai dengan `Memory` di bagian [Buat kontainer](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) di [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) dan opsi `--memory` untuk [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/). Anda harus menentukan sedikitnya 4 MiB memori untuk sebuah tugas.
**catatan**  
Untuk memaksimalkan pemanfaatan sumber daya Anda, Anda dapat memberikan pekerjaan Anda sebanyak mungkin memori untuk jenis instance tertentu. Untuk informasi selengkapnya, lihat [Menghitung manajemen memori sumber daya](memory-management.md).

   1. (Opsional) Untuk **Jumlah GPUs**, tentukan jumlah pekerjaan yang GPUs Anda gunakan. Pekerjaan berjalan pada wadah dengan jumlah tertentu GPUs yang disematkan ke wadah itu.

   1. (Opsional) Untuk **peran Job**, Anda dapat menentukan peran IAM yang menyediakan kontainer dalam pekerjaan Anda dengan izin untuk menggunakan. AWS APIs Fitur ini menggunakan IAM role Amazon ECS untuk fungsionalitas tugas. Untuk informasi selengkapnya termasuk prasyarat konfigurasi, lihat [Peran IAM untuk Tugas di](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) Panduan Pengembang Layanan Kontainer *Elastis Amazon*.
**catatan**  
Untuk pekerjaan yang berjalan pada sumber daya Fargate, diperlukan peran pekerjaan.
**catatan**  
Hanya peran yang memiliki hubungan kepercayaan **Amazon Elastic Container Service Task Role** (Peran Tugas Amazon Elastic Container Service) yang ditampilkan di sini. Untuk informasi selengkapnya tentang membuat peran IAM untuk AWS Batch pekerjaan Anda, lihat [Membuat Peran dan Kebijakan IAM untuk Tugas Anda](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#create_task_iam_policy_and_role) di Panduan *Pengembang Layanan Kontainer Elastis Amazon*.

   1. (Opsional) Untuk **peran Eksekusi**, tentukan peran IAM yang memberikan izin kepada agen penampung Amazon ECS untuk melakukan panggilan AWS API atas nama Anda. Fitur ini menggunakan IAM role Amazon ECS untuk fungsionalitas tugas. Untuk informasi selengkapnya, lihat [peran IAM eksekusi tugas Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) di Panduan *Pengembang Layanan Kontainer Elastis Amazon*. 

1. (Opsional) Perluas **konfigurasi tambahan**:

   1. Untuk **variabel Lingkungan**, pilih **Tambahkan variabel lingkungan** untuk menambahkan variabel lingkungan sebagai pasangan nama-nilai. Variabel-variabel ini diteruskan ke wadah.

   1. Untuk **konfigurasi peran Job**, Anda dapat menentukan peran IAM yang menyediakan kontainer dalam pekerjaan Anda dengan izin untuk menggunakan. AWS APIs Fitur ini menggunakan IAM role Amazon ECS untuk fungsionalitas tugas. Untuk informasi selengkapnya termasuk prasyarat konfigurasi, lihat [Peran IAM untuk Tugas di](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) Panduan Pengembang Layanan Kontainer *Elastis Amazon*.
**catatan**  
Untuk pekerjaan yang berjalan pada sumber daya Fargate, diperlukan peran pekerjaan.
**catatan**  
Hanya peran yang memiliki hubungan kepercayaan **Amazon Elastic Container Service Task Role** (Peran Tugas Amazon Elastic Container Service) yang ditampilkan di sini. Untuk informasi selengkapnya tentang cara membuat peran IAM untuk AWS Batch pekerjaan Anda, lihat [Membuat Peran dan Kebijakan IAM untuk Tugas Anda](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#create_task_iam_policy_and_role) di Panduan *Pengembang Layanan Amazon Elastic Container*.

   1. Untuk **peran Eksekusi**, tentukan peran IAM yang memberikan izin kepada agen penampung Amazon ECS untuk melakukan panggilan AWS API atas nama Anda. Fitur ini menggunakan IAM role Amazon ECS untuk fungsionalitas tugas. Untuk informasi selengkapnya, lihat [peran IAM eksekusi tugas Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) di Panduan *Pengembang Layanan Kontainer Elastis Amazon*.

1. Di bagian **Konfigurasi Keamanan**:

   1. (Opsional) Untuk memberikan hak istimewa yang lebih tinggi pada container pekerjaan Anda pada instance host (mirip dengan `root` pengguna), aktifkan **Privileged**. Parameter ini memetakan ke `Privileged` di bagian [Membuat kontainer](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) dari [API Jarak Jauh Docker](https://docs.docker.com/engine/api/v1.38/) dan pilihan `--privileged` untuk [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/).

   1. (Opsional) Untuk **Pengguna**, masukkan nama pengguna untuk digunakan di dalam wadah. Parameter ini memetakan ke `User` di bagian [Membuat kontainer](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) dari [API Jarak Jauh Docker](https://docs.docker.com/engine/api/v1.38/) dan pilihan `--user` untuk [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/).

   1. (Opsional) Untuk **Rahasia**, pilih **Tambahkan rahasia** untuk menambahkan rahasia sebagai pasangan nama-nilai. Rahasia-rahasia ini terungkap dalam wadah. [Untuk informasi lebih lanjut, lihat:SecretOptionsLogConfiguration.](https://docs.aws.amazon.com/batch/latest/APIReference/API_LogConfiguration.html#Batch-Type-LogConfiguration-secretOptions)

1. Di bagian **konfigurasi Linux**:

   1. **Aktifkan Aktifkan sistem file baca saja** untuk menghapus akses tulis ke volume.

   1. (Opsional) **Aktifkan init proses Aktifkan** untuk menjalankan `init` proses di dalam wadah. Proses ini meneruskan sinyal dan menuai proses.

   1. Untuk **ukuran memori bersama**, masukkan ukuran (dalam MiB) volume. `/dev/shm`

   1. Untuk **ukuran swap Max**, masukkan jumlah total memori swap (dalam MiB) yang dapat digunakan wadah.

   1. Untuk **Swappiness** masukkan nilai antara 0 dan 100 untuk menunjukkan perilaku swappiness wadah. Jika Anda tidak menentukan nilai dan pertukaran diaktifkan, nilai default ke 60. [Untuk informasi lebih lanjut, lihat:swappinessLinuxParameters.](https://docs.aws.amazon.com/batch/latest/APIReference/API_LinuxParameters.html#Batch-Type-LinuxParameters-swappiness)

   1. (Opsional) Untuk **Perangkat**, pilih **Tambah perangkat** untuk menambahkan perangkat:

      1. Untuk **Container path** (Jalur kontainer), tentukan jalur dalam instans kontainer untuk mengungkap perangkat yang dipetakan ke instans host. Jika Anda mengosongkan ini, jalur host digunakan dalam wadah.

      1. Untuk **Host path** (Jalur host), tentukan jalur perangkat dalam instans host.

      1. Untuk **Izin**, pilih satu atau beberapa izin untuk diterapkan ke perangkat. Izin yang tersedia adalah **BACA**, **TULIS**, dan **MKNOD**.

1. (Opsional) Untuk **titik Mount**, pilih **konfigurasi Tambahkan titik** pemasangan untuk menambahkan titik pemasangan untuk volume data. Anda harus menentukan volume sumber dan jalur kontainer. Titik pemasangan ini diteruskan ke Docker daemon pada instance kontainer. Anda juga dapat memilih untuk membuat volume **Baca saja**.

1. (Opsional) Untuk **konfigurasi Ulimits**, pilih **Tambahkan ulimit** untuk menambahkan `ulimits` nilai untuk wadah. Masukkan nilai **Name**, **Soft limit**, dan **Hard limit**, lalu pilih **Add ulimit**.

1. (Opsional) Untuk **konfigurasi Volume**, pilih **Tambahkan volume** untuk membuat daftar volume yang akan diteruskan ke wadah. Masukkan **Nama** dan **jalur Sumber** untuk volume dan kemudian pilih **Tambahkan volume**. Anda juga dapat memilih untuk **mengaktifkan Aktifkan EFS**.

1. (Opsional) Untuk **Tmpfs**, pilih **Tambahkan tmpfs** untuk menambahkan mount. `tmpfs`

1. Di bagian **Properti tugas**:

   1. Untuk **peran Eksekusi - bersyarat**, pilih peran yang memungkinkan agen Amazon ECS melakukan panggilan AWS API atas nama Anda. Untuk informasi selengkapnya tentang membuat **peran Eksekusi**, lihat[Tutorial: Buat peran eksekusi IAM](create-execution-role.md).

   1. 
**penting**  
Untuk menggunakan **perintah eksekusi ECS**, lingkungan komputasi Anda harus memenuhi [pertimbangan lingkungan komputasi untuk pekerjaan paralel multi node](mnp-ce.md).

      Pilih **Aktifkan perintah eksekusi ECS**, untuk mengaktifkan akses ke shell kontainer Amazon ECS secara langsung dan melewati OS host. Anda harus memilih **peran Tugas**.
**penting**  
Perintah **eksekusi ECS** mengharuskan sistem file dapat ditulis. 

   1. Untuk **peran Task**, pilih peran Amazon ECS Identity and Access Management (IAM) untuk mengizinkan container melakukan panggilan AWS API atas nama Anda. Untuk informasi selengkapnya, lihat [peran IAM tugas Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) dalam Panduan *Pengembang Layanan Kontainer Elastis Amazon*.

1. (Opsional) Di bagian **konfigurasi Logging**:

   1. Untuk **driver Log**, pilih driver log yang akan digunakan. [Untuk informasi lebih lanjut tentang driver log yang tersedia, LogConfiguration lihat:LogDriver.](https://docs.aws.amazon.com/batch/latest/APIReference/API_LogConfiguration.html#Batch-Type-LogConfiguration-logDriver)
**catatan**  
Secara default, driver log `awslogs` akan digunakan.

   1. Untuk **Opsi**, pilih **Tambahkan opsi** untuk menambahkan opsi. Masukkan pasangan nama-nilai, lalu pilih **Tambah** opsi.

   1. Untuk **Rahasia**, pilih **Tambahkan rahasia**. Masukkan pasangan nama-nilai dan kemudian pilih **Tambahkan rahasia** untuk menambahkan rahasia.
**Tip**  
[Untuk informasi lebih lanjut, lihat:SecretOptionsLogConfiguration.](https://docs.aws.amazon.com/batch/latest/APIReference/API_LogConfiguration.html#Batch-Type-LogConfiguration-secretOptions)

1. Pilih **Halaman berikutnya**.

1. Untuk **tinjauan definisi Job**, tinjau langkah-langkah konfigurasi. Jika Anda perlu melakukan perubahan, pilih **Edit**. Setelah selesai, pilih **Buat definisi pekerjaan**.