

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

# Membuat definisi tugas Amazon ECS menggunakan konsol
<a name="create-task-definition"></a>

Anda membuat definisi tugas sehingga Anda dapat menentukan aplikasi yang Anda jalankan sebagai tugas atau layanan.

Saat Anda membuat definisi tugas untuk jenis peluncuran eksternal, Anda perlu membuat definisi tugas menggunakan editor JSON dan mengatur `requireCapabilities` parameternya. `EXTERNAL`

Anda dapat membuat definisi tugas dengan menggunakan pengalaman konsol, atau dengan menentukan file JSON. Anda dapat meminta Amazon Q memberikan rekomendasi saat Anda menggunakan editor JSON. Untuk informasi selengkapnya, lihat [Menggunakan Amazon Q Developer untuk memberikan rekomendasi definisi tugas di konsol Amazon ECS](using-amazon-q.md)

## Validasi JSON
<a name="json-validate-for-create"></a>

Editor JSON konsol Amazon ECS memvalidasi hal berikut dalam file JSON:
+ File tersebut adalah file JSON yang valid.
+ File tidak berisi kunci asing.
+ File berisi `familyName` parameter.
+ Setidaknya ada satu entri di bawah`containerDefinitions`.

## CloudFormation tumpukan
<a name="cloudformation-stack"></a>

Perilaku berikut berlaku untuk definisi tugas yang dibuat di konsol Amazon ECS baru sebelum 12 Januari 2023.

Saat Anda membuat definisi tugas, konsol Amazon ECS secara otomatis membuat CloudFormation tumpukan yang memiliki nama yang dimulai`ECS-Console-V2-TaskDefinition-`. Jika Anda menggunakan AWS CLI atau AWS SDK untuk membatalkan pendaftaran definisi tugas, Anda harus menghapus tumpukan definisi tugas secara manual. Untuk informasi selengkapnya, lihat [Menghapus tumpukan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html) di *Panduan CloudFormation Pengguna*.

Definisi tugas yang dibuat setelah 12 Januari 2023, tidak memiliki CloudFormation tumpukan yang dibuat secara otomatis untuk mereka.

## Prosedur
<a name="create-task-procedure"></a>

------
#### [ Amazon ECS console ]

1. Buka konsol di [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

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

1. Pada menu **Create new task definition**, pilih **Create new task definition**.

1. Untuk **Keluarga penetapan tugas**, tentukan nama unik untuk penetapan tugas tersebut.

1. Untuk **jenis Peluncuran**, pilih lingkungan aplikasi. Default konsol adalah **AWS Fargate**(yang tanpa server). Amazon ECS menggunakan nilai ini untuk melakukan validasi guna memastikan bahwa parameter definisi tugas valid untuk jenis infrastruktur.

1. Untuk **Sistem Operasi/Arsitektur**, pilih sistem operasi dan arsitektur CPU untuk tugas tersebut. 

   Untuk menjalankan tugas Anda pada arsitektur ARM 64-bit, pilih **ARM64Linux/**. Untuk informasi selengkapnya, lihat [Platform runtime](task_definition_parameters.md#runtime-platform).

   Untuk menjalankan **AWS Fargate**tugas Anda di wadah Windows, pilih sistem operasi Windows yang didukung. Untuk informasi selengkapnya, lihat [Sistem Operasi dan Arsitektur](fargate-tasks-services.md#fargate-task-os).

1. Untuk **ukuran Tugas**, pilih nilai CPU dan memori yang akan dicadangkan untuk tugas tersebut. Nilai CPU ditentukan sebagai v CPUs dan memori ditentukan sebagai GB.

   Untuk tugas yang dihosting di Fargate, tabel berikut menunjukkan kombinasi CPU dan memori yang valid.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonECS/latest/developerguide/create-task-definition.html)

   Untuk tugas yang menggunakan instans EC2, atau instance eksternal, nilai CPU tugas yang didukung adalah antara 128 unit CPU (0,125 vCPUs) dan unit CPU 196608 (192 v). CPUs

   Untuk menentukan nilai memori dalam GB, masukkan **GB** setelah nilainya. Misalnya, untuk mengatur **Nilai memori** ke 3 GB, masukkan **3 GB**.
**catatan**  
Tingkat tugas CPU dan memori parameter diabaikan untuk Windows kontainer.

1. Untuk **mode Jaringan**, pilih mode jaringan yang akan digunakan. Defaultnya adalah **mode awsvpc**. Untuk informasi selengkapnya, lihat [jaringan tugas Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html).

   Jika Anda memilih **jembatan**, di bawah **pemetaan Port**, untuk **port Host**, masukkan nomor port pada instance kontainer untuk memesan kontainer Anda.

1. (Opsional) Perluas bagian **Peran tugas** untuk mengonfigurasi peran AWS Identity and Access Management (IAM) untuk tugas:

   1. Untuk **peran Tugas**, pilih peran IAM yang akan ditetapkan ke tugas. Peran IAM tugas memberikan izin untuk kontainer dalam tugas untuk memanggil operasi AWS API.

   1. Untuk **peran eksekusi tugas**, pilih peran.

      Untuk informasi tentang kapan menggunakan peran eksekusi tugas, lihat[Peran IAM pelaksanaan tugas Amazon ECS](task_execution_IAM_role.md). Jika Anda tidak membutuhkan peran tersebut, pilih **Tidak Ada**.

1. (Opsional) Perluas bagian **Penempatan tugas** untuk menambahkan batasan penempatan. Batasan penempatan tugas memungkinkan Anda memfilter instance kontainer yang digunakan untuk penempatan tugas menggunakan atribut bawaan atau kustom.

1. (Opsional) Perluas bagian **injeksi Kesalahan** untuk mengaktifkan injeksi kesalahan. Injeksi kesalahan memungkinkan Anda menguji bagaimana aplikasi Anda merespons skenario gangguan tertentu.

1. Untuk setiap kontainer untuk menentukan definisi tugas Anda, selesaikan langkah-langkah berikut.

   1. Untuk **Nama**, masukkan nama untuk wadah.

   1. Untuk **URI Gambar**, masukkan gambar yang akan digunakan untuk memulai wadah. Gambar dalam registri Galeri Publik Amazon ECR dapat ditentukan dengan menggunakan nama registri Publik Amazon ECR saja. Misalnya, jika `public.ecr.aws/ecs/amazon-ecs-agent:latest` ditentukan, wadah Amazon Linux yang dihosting di Galeri Publik Amazon ECR digunakan. Untuk semua repositori lainnya, tentukan repositori dengan menggunakan format atau. `repository-url/image:tag` `repository-url/image@digest`

   1. Jika gambar Anda berada di registri pribadi di luar Amazon ECR, di bawah **Registri pribadi**, aktifkan **otentikasi registri pribadi**. Kemudian, di **Secrets Manager ARN atau nama**, masukkan Amazon Resource Name (ARN) rahasia.

   1. Untuk **wadah Essential**, jika definisi tugas Anda memiliki dua atau lebih kontainer yang ditentukan, Anda dapat menentukan apakah penampung harus dianggap penting. Ketika sebuah wadah ditandai sebagai **Essential**, jika kontainer itu berhenti, maka tugas dihentikan. Setiap definisi tugas harus berisi setidaknya satu wadah penting.

   1. Pemetaan port memungkinkan kontainer untuk mengakses port pada host untuk mengirim atau menerima lalu lintas. Di bawah **pemetaan Port**, lakukan salah satu hal berikut: 
      + Saat Anda menggunakan mode jaringan **awsvpc**, untuk **port Container** dan **Protocol**, pilih pemetaan port yang akan digunakan untuk wadah.
      + Saat Anda menggunakan mode jaringan **jembatan**, untuk **port Container** dan **Protocol**, pilih pemetaan port yang akan digunakan untuk wadah.

      Pilih **Tambahkan lebih banyak pemetaan port untuk menentukan pemetaan** port kontainer tambahan.

   1. Untuk memberikan akses read-only container ke sistem file root, untuk **Read only root file system**, pilih **Read** only.

   1. (Opsional) Untuk menentukan batas CPU, GPU, dan memori tingkat kontainer yang berbeda dari nilai tingkat tugas, di bawah batas **alokasi sumber daya**, lakukan hal berikut:
      + Untuk **CPU**, masukkan jumlah unit CPU yang dicadangkan agen kontainer Amazon ECS untuk kontainer.
      + Untuk **GPU**, masukkan jumlah unit GPU untuk instance kontainer. 

        Instans Amazon EC2 dengan dukungan GPU memiliki 1 unit GPU untuk setiap GPU. Untuk informasi selengkapnya, lihat [Definisi tugas Amazon ECS untuk beban kerja GPU](ecs-gpu.md).
      + Untuk **batas keras Memori**, masukkan jumlah memori, dalam GB, untuk disajikan ke wadah. Jika kontainer mencoba melebihi batas keras, kontainer tersebut akan berhenti.
      + Daemon Docker 20.10.0 atau yang lebih baru menyimpan minimal 6 mebibytes (MiB) memori untuk wadah, jadi jangan tentukan kurang dari 6 MiB memori untuk wadah Anda.

        Daemon Docker 19.03.13-ce atau sebelumnya menyimpan minimal 4 MiB memori untuk wadah, jadi jangan tentukan kurang dari 4 MiB memori untuk wadah Anda.
      + Untuk **batas lunak Memori**, masukkan batas lunak (dalam GB) memori untuk cadangan wadah. 

        Ketika memori sistem sedang diperdebatkan, Docker upaya untuk menjaga memori kontainer ke batas lunak ini. Jika Anda tidak menentukan memori di tingkat tugas, Anda harus menentukan bilangan bulat bukan nol untuk **Batas keras memori** atau **Batas lunak memori** atau keduanya. Jika Anda menentukan keduanya, **Batas keras memori** harus lebih besar daripada **Batas lunak memori**. 

        Fitur ini tidak didukung pada wadah Windows.

   1. (Opsional) Perluas bagian **variabel Lingkungan** untuk menentukan variabel lingkungan untuk disuntikkan ke dalam wadah. Anda dapat menentukan variabel lingkungan baik secara individual dengan menggunakan pasangan nilai kunci atau secara massal dengan menentukan file variabel lingkungan yang dihosting di bucket Amazon S3. Untuk informasi tentang cara memformat file variabel lingkungan, lihat[Meneruskan variabel lingkungan individual ke wadah Amazon ECS](taskdef-envfiles.md).

      Saat Anda menentukan variabel lingkungan untuk penyimpanan rahasia, untuk **Key**, masukkan nama rahasia. Kemudian untuk **ValueFrom**, masukkan ARN lengkap dari rahasia Systems Manager Parameter Store atau rahasia Secrets Manager 

   1. (Opsional) Pilih opsi **Gunakan koleksi log** untuk menentukan konfigurasi log. Untuk setiap driver log yang tersedia, ada opsi driver log untuk ditentukan. Opsi default mengirimkan log kontainer ke Amazon CloudWatch Logs. Opsi driver log lainnya dikonfigurasi dengan menggunakan AWS FireLens. Untuk informasi selengkapnya, lihat [Kirim log Amazon ECS ke AWS layanan atau AWS Partner](using_firelens.md).

      Berikut ini menjelaskan setiap tujuan log kontainer secara lebih rinci.
      + **Amazon CloudWatch** — Konfigurasikan tugas untuk mengirim log kontainer ke CloudWatch Log. Opsi driver log default disediakan, yang membuat grup CloudWatch log atas nama Anda. Untuk menentukan nama grup log yang berbeda, ubah nilai opsi driver.
      + **Ekspor log ke Splunk** — Konfigurasikan tugas untuk mengirim log kontainer ke Splunk driver yang mengirim log ke layanan jarak jauh. Anda harus memasukkan URL ke layanan Splunk web Anda. SplunkToken ditetapkan sebagai opsi rahasia karena dapat diperlakukan sebagai data sensitif.
      + **Ekspor log ke Amazon Data Firehose** — Konfigurasikan tugas untuk mengirim log kontainer ke Firehose. Opsi driver log default disediakan, yang mengirimkan log ke aliran pengiriman Firehose. Untuk menentukan nama aliran pengiriman yang berbeda, ubah nilai opsi driver.
      + **Ekspor log ke Amazon Kinesis Data** Streams — Konfigurasikan tugas untuk mengirim log kontainer ke Kinesis Data Streams. Opsi driver log default disediakan, yang mengirim log ke aliran Kinesis Data Streams. Untuk menentukan nama aliran yang berbeda, ubah nilai opsi driver.
      + **Ekspor log ke Amazon OpenSearch Service** — Konfigurasikan tugas untuk mengirim log kontainer ke domain OpenSearch Layanan. Opsi driver log harus disediakan.
      + **Ekspor log ke Amazon S3** — Konfigurasikan tugas untuk mengirim log kontainer ke bucket Amazon S3. Opsi driver log default disediakan, tetapi Anda harus menentukan nama bucket Amazon S3 yang valid.

   1. (Opsional) Konfigurasikan parameter wadah tambahan.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonECS/latest/developerguide/create-task-definition.html)

   1. (Opsional) Pilih **Tambahkan lebih banyak wadah** untuk menambahkan wadah tambahan ke definisi tugas. 

1. (Opsional) Bagian **Penyimpanan** digunakan untuk memperluas jumlah penyimpanan sementara untuk tugas yang dihosting di Fargate. Anda juga dapat menggunakan bagian ini untuk menambahkan konfigurasi volume data untuk tugas tersebut.

   1. Untuk memperluas penyimpanan sementara yang tersedia di luar nilai default 20 gibibytes (GiB) untuk tugas Fargate Anda, untuk **Jumlah**, masukkan nilai hingga. 200 GiB

1. (Opsional) Untuk menambahkan konfigurasi volume data untuk definisi tugas, pilih **Tambahkan volume**, lalu ikuti langkah-langkah ini.

   1. Untuk **nama Volume**, masukkan nama untuk volume data. Nama volume data digunakan saat membuat titik pemasangan kontainer.

   1. Untuk **konfigurasi Volume**, pilih apakah Anda ingin mengonfigurasi volume saat membuat definisi tugas atau selama penerapan.
**catatan**  
Volume yang dapat dikonfigurasi saat membuat definisi tugas termasuk Bind mountDocker, Amazon EFS, dan Amazon FSx untuk Windows File Server. Volume yang dapat dikonfigurasi saat penerapan saat menjalankan tugas, atau saat membuat atau memperbarui layanan menyertakan Amazon EBS.

   1. Untuk **tipe Volume**, pilih tipe volume yang kompatibel dengan tipe konfigurasi yang Anda pilih, lalu konfigurasikan jenis volume.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonECS/latest/developerguide/create-task-definition.html)

1. Untuk menambahkan volume dari wadah lain, pilih **Tambahkan volume dari**, lalu konfigurasikan yang berikut ini:
   + Untuk **Kontainer**, pilih wadahnya.
   + Untuk **Sumber**, pilih wadah yang memiliki volume yang ingin Anda pasang.
   + Untuk **Read only**, pilih apakah container memiliki akses read-only ke volume.

1. (Opsional) Untuk mengonfigurasi pengaturan penelusuran aplikasi dan pengumpulan metrik dengan menggunakan AWS Distro for OpenTelemetry integrasi, perluas **Pemantauan**, lalu pilih **Gunakan koleksi metrik** untuk mengumpulkan dan mengirim metrik tugas Anda ke Amazon CloudWatch atau Amazon Managed Service for Prometheus. Saat opsi ini dipilih, Amazon ECS membuat sespan AWS Distro for OpenTelemetry kontainer yang telah dikonfigurasi sebelumnya untuk mengirim metrik aplikasi. Untuk informasi selengkapnya, lihat [Korelasikan kinerja aplikasi Amazon ECS menggunakan metrik aplikasi](metrics-data.md).

   1. Saat **Amazon CloudWatch** dipilih, metrik aplikasi kustom Anda dirutekan ke CloudWatch metrik khusus. Untuk informasi selengkapnya, lihat [Mengekspor metrik aplikasi ke Amazon CloudWatch](application-metrics-cloudwatch.md).
**penting**  
Saat mengekspor metrik aplikasi ke Amazon CloudWatch, definisi tugas Anda memerlukan peran IAM tugas dengan izin yang diperlukan. Untuk informasi selengkapnya, lihat [Izin IAM yang diperlukan untuk AWS Distro untuk OpenTelemetry integrasi dengan Amazon CloudWatch](application-metrics-cloudwatch.md#application-metrics-cloudwatch-iam). 

   1. Saat Anda memilih **Amazon Managed Service for Prometheus (instrumentasi pustaka Prometheus), CPU tingkat tugas, memori, jaringan, dan metrik penyimpanan serta metrik aplikasi kustom Anda dirutekan ke Amazon Managed Service untuk Prometheus**. Untuk **titik akhir penulisan jarak jauh Workspace, masukkan URL titik** akhir penulisan jarak jauh untuk ruang kerja Anda. Prometheus Untuk **target Scraping**, masukkan host dan port yang dapat digunakan AWS Distro for OpenTelemetry kolektor untuk mengikis data metrik. Untuk informasi selengkapnya, lihat [Mengekspor metrik aplikasi ke Amazon Managed Service untuk Prometheus](application-metrics-prometheus.md).
**penting**  
Saat mengekspor metrik aplikasi ke Amazon Managed Service untuk Prometheus, definisi tugas Anda memerlukan peran IAM tugas dengan izin yang diperlukan. Untuk informasi selengkapnya, lihat [Izin IAM yang diperlukan untuk AWS Distro untuk integrasi OpenTelemetry dengan Amazon Managed Service untuk Prometheus](application-metrics-prometheus.md#application-metrics-prometheus-iam). 

   1. Saat Anda memilih **Amazon Managed Service for Prometheus OpenTelemetry (instrumentasi**), CPU tingkat tugas, memori, jaringan, dan metrik penyimpanan serta metrik aplikasi kustom Anda dirutekan ke Amazon Managed Service for Prometheus. Untuk **titik akhir penulisan jarak jauh Workspace, masukkan URL titik** akhir penulisan jarak jauh untuk ruang kerja Anda. Prometheus Untuk informasi selengkapnya, lihat [Mengekspor metrik aplikasi ke Amazon Managed Service untuk Prometheus](application-metrics-prometheus.md).
**penting**  
Saat mengekspor metrik aplikasi ke Amazon Managed Service untuk Prometheus, definisi tugas Anda memerlukan peran IAM tugas dengan izin yang diperlukan. Untuk informasi selengkapnya, lihat [Izin IAM yang diperlukan untuk AWS Distro untuk integrasi OpenTelemetry dengan Amazon Managed Service untuk Prometheus](application-metrics-prometheus.md#application-metrics-prometheus-iam). 

1. (Opsional) Perluas bagian **Tag** untuk menambahkan tag, sebagai pasangan nilai kunci, ke definisi tugas.
   + [Tambahkan tag] Pilih **Tambah tag**, lalu lakukan hal berikut:
     + Untuk **Kunci**, masukkan nama kunci.
     + Untuk **Nilai**, masukkan nilai kunci.
   + [Menghapus tanda] Di samping tanda, pilih **Hapus tanda**.

1. Pilih **Buat** untuk mendaftarkan definisi tugas.

------
#### [ Amazon ECS console JSON editor ]

1. Buka konsol di [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

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

1. Pada menu **Create new task definition**, pilih **Create new task definition with JSON**.

1. Di kotak editor JSON, edit file JSON Anda,

   JSON harus lulus pemeriksaan validasi yang ditentukan dalam. [Validasi JSON](#json-validate-for-create)

1. Pilih **Buat**.

------