

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

# Parameter definisi tugas Amazon ECS untuk Instans Terkelola Amazon ECS
<a name="task_definition_parameters-managed-instances"></a>

Definisi tugas dibagi menjadi beberapa bagian terpisah: keluarga tugas, peran tugas AWS Identity and Access Management (IAM), mode jaringan, definisi wadah, volume, dan kapasitas. Definisi keluarga dan wadah diperlukan dalam definisi tugas. Sebaliknya, peran tugas, mode jaringan, volume, dan kapasitas adalah opsional.

Anda dapat menggunakan parameter ini dalam file JSON untuk mengonfigurasi definisi tugas Anda.

Berikut ini adalah deskripsi yang lebih rinci untuk setiap parameter definisi tugas untuk Instans Terkelola Amazon ECS.

## Rangkaian
<a name="family-managed-instances"></a>

`family`  
Tipe: String  
Diperlukan: Ya  
Ketika Anda mendaftarkan ketentuan tugas, Anda memberikan sebuah famili, yang mirip dengan nama untuk beberapa versi ketentuan tugas, yang ditentukan dengan nomor revisi. Definisi tugas pertama yang terdaftar ke dalam keluarga tertentu diberikan revisi 1, dan definisi tugas apa pun yang terdaftar setelah itu diberi nomor revisi berurutan.

## Kapasitas
<a name="requires_compatibilities-managed-instances"></a>

Saat mendaftarkan definisi tugas, Anda dapat menentukan kapasitas yang harus divalidasi oleh Amazon ECS terhadap definisi tugas. Jika definisi tugas tidak memvalidasi terhadap kompatibilitas yang ditentukan, pengecualian klien dikembalikan. Untuk informasi selengkapnya, lihat [jenis peluncuran Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html).

Parameter berikut diperbolehkan dalam definisi tugas.

`requiresCompatibilities`  
Tipe: Array string  
Wajib: Tidak  
Nilai yang Valid: `MANAGED_INSTANCES`  
Kapasitas untuk memvalidasi definisi tugas terhadap. Ini memulai pemeriksaan untuk memastikan bahwa semua parameter yang digunakan dalam definisi tugas memenuhi persyaratan untuk Instans Terkelola Amazon ECS.

## Peran tugas
<a name="task_role_arn-managed-instances"></a>

`taskRoleArn`  
Tipe: String  
Wajib: Tidak  
Saat mendaftarkan definisi tugas, Anda dapat memberikan peran tugas untuk peran IAM yang memungkinkan kontainer dalam izin tugas memanggil AWS APIs yang ditentukan dalam kebijakan terkait atas nama Anda. Untuk informasi selengkapnya, lihat [Peran IAM tugas Amazon ECS](task-iam-roles.md).

## Peran eksekusi tugas
<a name="execution_role_arn-managed-instances"></a>

`executionRoleArn`  
Tipe: String  
Wajib: Bersyarat  
Nama Sumber Daya Amazon (ARN) dari peran eksekusi tugas yang memberikan izin agen penampung Amazon ECS untuk melakukan panggilan AWS API atas nama Anda. Untuk informasi selengkapnya, lihat [Peran IAM pelaksanaan tugas Amazon ECS](task_execution_IAM_role.md).  
IAM role eksekusi tugas diperlukan sesuai dengan persyaratan tugas Anda. Peran ini diperlukan untuk menarik gambar ECR pribadi dan menggunakan driver `awslogs` log.

## Mode jaringan
<a name="network_mode-managed-instances"></a>

`networkMode`  
Tipe: String  
Wajib: Tidak  
Default: `awsvpc`  
Mode jaringan yang digunakan untuk wadah dalam tugas. Untuk tugas Amazon ECS yang di-host di Instans Terkelola Amazon ECS, nilai yang valid adalah dan. `awsvpc` `host` Jika tidak ada mode jaringan yang ditentukan, mode jaringan default adalah`awsvpc`.  
Jika mode jaringan`host`, tugas melewati isolasi jaringan dan kontainer menggunakan tumpukan jaringan host secara langsung.  
Saat menjalankan tugas yang menggunakan mode `host` jaringan, jangan jalankan kontainer menggunakan pengguna root (UID 0) untuk keamanan yang lebih baik. Sebagai praktik terbaik keamanan, selalu gunakan pengguna non-root.
Jika mode jaringan adalah `awsvpc`, tugas dialokasikan sebagai antarmuka jaringan elastis, dan Anda harus menentukan `NetworkConfiguration` ketika Anda membuat layanan atau menjalankan tugas dengan ketentuan tugas. Untuk informasi selengkapnya, lihat [Jaringan tugas Amazon ECS untuk Instans Terkelola Amazon ECS](managed-instance-networking.md).  
Mode `host` dan `awsvpc` jaringan menawarkan kinerja jaringan tertinggi untuk kontainer karena mereka menggunakan tumpukan jaringan Amazon EC2. Dengan mode `host` dan `awsvpc` jaringan, port kontainer yang terbuka dipetakan langsung ke port host yang sesuai (untuk mode `host` jaringan) atau port antarmuka elastis network yang terpasang (untuk mode `awsvpc` jaringan). Karena itu, Anda tidak dapat menggunakan pemetaan port host dinamis.

## Platform runtime
<a name="runtime-platform-managed-instances"></a>

`operatingSystemFamily`  
Tipe: String  
Wajib: Tidak  
Standar: LINUX  
Saat Anda mendaftarkan definisi tugas, Anda menentukan keluarga sistem operasi.   
Nilai yang valid untuk bidang ini adalah`LINUX`.  
Semua definisi tugas yang digunakan dalam layanan harus memiliki nilai yang sama untuk parameter ini.  
Ketika definisi tugas adalah bagian dari layanan, nilai ini harus sesuai dengan `platformFamily` nilai layanan.

`cpuArchitecture`  
Tipe: String  
Wajib: Bersyarat  
Saat Anda mendaftarkan definisi tugas, Anda menentukan arsitektur CPU. Nilai yang valid adalah `X86_64` dan `ARM64`.  
Jika Anda tidak menentukan nilai, Amazon ECS mencoba menempatkan tugas pada arsitektur CPU yang tersedia berdasarkan konfigurasi penyedia kapasitas. Untuk memastikan bahwa tugas ditempatkan pada arsitektur CPU tertentu, tentukan nilai untuk `cpuArchitecture` dalam definisi tugas.  
Semua definisi tugas yang digunakan dalam layanan harus memiliki nilai yang sama untuk parameter ini.  
Untuk informasi selengkapnya tentang `ARM64`, lihat [Definisi tugas Amazon ECS untuk beban kerja ARM 64-bit](ecs-arm64.md).

## Ukuran tugas
<a name="task_size-managed-instances"></a>

Saat Anda mendaftarkan definisi tugas, Anda dapat menentukan total CPU dan memori yang digunakan untuk tugas tersebut. Hal ini terpisah dari nilai `cpu` dan `memory` pada tingkat ketentuan kontainer. Untuk tugas yang di-host di instans Amazon EC2, bidang ini bersifat opsional.

**catatan**  
Tingkat tugas CPU dan memori parameter diabaikan untuk Windows kontainer. Kami merekomendasikan penentuan sumber daya tingkat kontainer untuk Windows kontainer.

`cpu`  
Tipe: String  
Wajib: Bersyarat  
Batas tegas unit CPU untuk hadir untuk tugas tersebut. Anda dapat menentukan nilai CPU dalam file JSON sebagai string dalam unit CPU atau virtual CPUs (vCPUs). Misalnya, Anda dapat menentukan nilai CPU baik seperti `1024` dalam unit CPU atau `1 vCPU` di vCPUs. Ketika definisi tugas terdaftar, nilai vCPU dikonversi ke bilangan bulat yang menunjukkan unit CPU.  
Bidang ini bersifat opsional. Jika klaster Anda tidak memiliki instans kontainer yang terdaftar dengan unit CPU yang diminta, tugas akan gagal. Nilai yang didukung adalah antara `0.125` v CPUs dan `10` vCPUs.

`memory`  
Tipe: String  
Wajib: Bersyarat  
Batas memori yang sulit untuk disajikan pada tugas. Anda dapat menentukan nilai memori dalam definisi tugas sebagai string dalam mebibytes (MiB) atau gigabyte (GB). Misalnya, Anda dapat menentukan nilai memori baik seperti `3072` di MiB atau `3 GB` GB. Ketika ketentuan tugas terdaftar, nilai GB dikonversi ke integer menunjukkan MiB.  
Bidang ini bersifat opsional dan nilai apapun dapat digunakan. Jika nilai memori tingkat tugas ditentukan, maka nilai memori tingkat kontainer adalah opsional. Jika klaster Anda tidak memiliki instance kontainer terdaftar dengan memori yang diminta tersedia, tugas gagal. Anda dapat memaksimalkan pemanfaatan sumber daya Anda dengan menyediakan tugas Anda sebanyak mungkin memori untuk jenis instans tertentu. Untuk informasi selengkapnya, lihat [Memesan memori instans wadah Amazon ECS Linux](memory-management.md).

## Parameter ketentuan tugas lainnya
<a name="other_task_definition_params-managed-instances"></a>

Parameter definisi tugas berikut dapat digunakan saat mendaftarkan definisi tugas di konsol Amazon ECS dengan menggunakan opsi **Configure via JSON**. Untuk informasi selengkapnya, lihat [Membuat definisi tugas Amazon ECS menggunakan konsol](create-task-definition.md).

**Topics**
+ [

### Penyimpanan sementara
](#task_definition_ephemeralStorage-managed-instances)
+ [

### Mode IPC
](#task_definition_ipcmode-managed-instances)
+ [

### Mode PID
](#task_definition_pidmode-managed-instances)
+ [

### Konfigurasi proxy
](#proxyConfiguration-managed-instances)
+ [

### Tag
](#tags-managed-instances)
+ [

### Akselerator Elastic Inference (usang)
](#elastic-Inference-accelerator-managed-instances)
+ [

### Kendala penempatan
](#constraints-managed-instances)
+ [

### volume
](#volumes-managed-instances)

### Penyimpanan sementara
<a name="task_definition_ephemeralStorage-managed-instances"></a>

`ephemeralStorage`  
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Objek [EphemeralStorage](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_EphemeralStorage.html)  
Wajib: Tidak  
Jumlah penyimpanan sementara (dalam GB) untuk dialokasikan untuk tugas tersebut. Parameter ini digunakan untuk memperluas jumlah total penyimpanan sementara yang tersedia, di luar jumlah default, untuk tugas yang di-host. AWS Fargate Untuk informasi selengkapnya, lihat [Gunakan bind mount dengan Amazon ECS](bind-mounts.md).

### Mode IPC
<a name="task_definition_ipcmode-managed-instances"></a>

`ipcMode`  
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: String  
Wajib: Tidak  
Namespace sumber daya IPC yang digunakan untuk kontainer dalam tugas. Nilai yang valid adalah `host`, `task`, atau `none`. Jika `host` ditentukan, maka semua kontainer yang berada dalam tugas yang menentukan mode `host` IPC pada instance kontainer yang sama berbagi sumber daya IPC yang sama dengan instans Amazon EC2 host. Jika `task` ditentukan, semua kontainer yang berada dalam tugas yang ditentukan berbagi sumber daya IPC yang sama. Jika `none` ditentukan, maka sumber daya IPC dalam kontainer tugas bersifat privat dan tidak dibagi dengan kontainer lain dalam tugas atau pada instans kontainer. Jika tidak ada nilai yang ditentukan, maka berbagi namespace sumber daya IPC bergantung pada konfigurasi runtime container.

### Mode PID
<a name="task_definition_pidmode-managed-instances"></a>

`pidMode`  
Tipe: String  
Wajib: Tidak  
Namspace proses yang akan digunakan untuk kontainer dalam tugas. Nilai yang valid adalah `host` atau `task`. Jika `host` ditentukan, maka semua container yang berada dalam tugas yang menentukan mode `host` PID pada instance container yang sama berbagi namespace proses yang sama dengan instans Amazon EC2 host. Jika `task` ditentukan, semua kontainer yang berada dalam tugas yang ditentukan berbagi namespace proses yang sama. Jika tidak ada nilai yang ditentukan, defaultnya adalah namespace privat.  
Jika mode `host` PID digunakan, ada risiko tinggi eksposur namespace proses yang tidak diinginkan.

### Konfigurasi proxy
<a name="proxyConfiguration-managed-instances"></a>

`proxyConfiguration`  
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Objek [ProxyConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ProxyConfiguration.html)  
Wajib: Tidak  
Detail konfigurasi untuk proxy App Mesh.

### Tag
<a name="tags-managed-instances"></a>

Metadata yang Anda terapkan pada definisi tugas untuk membantu Anda mengkategorikan dan mengaturnya. Setiap tanda terdiri dari kunci dan nilai opsional. Anda mendefinisikan keduanya.

Batasan dasar berikut berlaku untuk tanda:
+ Jumlah maksimum tanda per sumber daya – 50
+ Untuk setiap sumber daya, setiap kunci tanda harus unik, dan setiap kunci tanda hanya dapat memiliki satu nilai.
+ Panjang kunci maksimum - 128 karakter Unicode dalam UTF-8
+ Panjang nilai maksimum - 256 karakter Unicode dalam UTF-8
+ Jika skema penandaan Anda digunakan di beberapa layanan dan sumber daya, ingatlah bahwa layanan lain mungkin memiliki pembatasan pada karakter yang diizinkan. Karakter-karakter yang diizinkan secara umum adalah: huruf, angka, dan spasi yang dapat diwakili dalam UTF-8, beserta karakter-karakter berikut: \$1 - = . \$1 : / @.
+ Kunci dan nilai tag peka terhadap huruf besar dan kecil.
+ Jangan gunakan`aws:`,`AWS:`, atau kombinasi huruf besar atau kecil seperti awalan untuk kunci atau nilai seperti yang dicadangkan untuk digunakan. AWS Anda tidak dapat mengedit atau menghapus kunci atau nilai tanda dengan prefiks ini. Tanda dengan prefiks ini tidak dihitung, berlawanan dengan tanda milik Anda per batas sumber daya.

`key`  
Tipe: String  
Wajib: Tidak  
Satu bagian dari pasangan nilai kunci yang membentuk tanda. Kunci adalah label umum yang bertindak seperti kategori untuk nilai tanda yang lebih spesifik.

`value`  
Tipe: String  
Wajib: Tidak  
Bagian opsional pasangan nilai kunci yang membentuk tanda. Nilai bertindak sebagai deskriptor dalam kategori tanda (kunci).

### Akselerator Elastic Inference (usang)
<a name="elastic-Inference-accelerator-managed-instances"></a>

**catatan**  
Amazon Elastic Inference (EI) sudah tidak tersedia bagi pelanggan.

`inferenceAccelerator`  
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Objek [InferenceAccelerator](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_InferenceAccelerator.html)  
Wajib: Tidak  
Akselerator Elastic Inference digunakan untuk kontainer dalam tugas.

### Kendala penempatan
<a name="constraints-managed-instances"></a>

`placementConstraints`  
Tipe: Array objek [TaskDefinitionPlacementConstraint](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TaskDefinitionPlacementConstraint.html)  
Wajib: Tidak  
Array objek kendala penempatan untuk digunakan untuk tugas. Anda dapat menentukan maksimal 10 batasan per tugas (batas ini termasuk batasan dalam ketentuan tugas dan yang ditentukan pada waktu aktif).  
Amazon ECS mendukung batasan `distinctInstace` dan `memberOf` penempatan untuk tugas yang berjalan di Instans Terkelola Amazon ECS. Atribut berikut didukung untuk tugas yang menggunakan batasan `memberOf` penempatan:  
+ `ecs.subnet-id`
+ `ecs.availability-zone`
+ `ecs.cpu-architecture`
+ `ecs.instance-type`
Untuk informasi selengkapnya tentang batasan penempatan, lihat. [Menentukan Instans Kontainer Mana yang Digunakan Amazon ECS untuk Tugas](task-placement-constraints.md)

### volume
<a name="volumes-managed-instances"></a>

Saat Anda mendaftarkan definisi tugas, Anda dapat menentukan daftar volume untuk tugas Anda secara opsional. Ini memungkinkan Anda untuk menggunakan volume data dalam tugas Anda.

Untuk informasi selengkapnya tentang jenis volume dan parameter lainnya, lihat[Opsi penyimpanan untuk tugas Amazon ECS](using_data_volumes.md).

`name`  
Tipe: String  
Diperlukan: Ya  
Nama volume. Hingga 255 huruf (huruf besar dan kecil), angka, dan tanda hubung diperbolehkan. Nama ini direferensikan di parameter `sourceVolume` dari `mountPoints` ketentuan kontainer.

`host`  
Tipe: Objek [HostVolumeProperties](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HostVolumeProperties.html)  
Wajib: Tidak  
Parameter ini ditentukan saat Anda menggunakan volume host bind mount. Isi `host` parameter menentukan apakah volume host mount bind Anda tetap ada pada instance container host dan tempat penyimpanannya. Jika `host` parameter kosong, maka sistem menetapkan jalur host untuk volume data Anda. Namun, data tidak dijamin akan bertahan setelah kontainer yang terkait dengannya berhenti berjalan.    
`sourcePath`  
Tipe: String  
Wajib: Tidak  
Ketika `host` parameter digunakan, tentukan a `sourcePath` untuk mendeklarasikan jalur pada instance host yang disajikan ke wadah. Jika parameter ini kosong, maka sistem menetapkan jalur host untuk Anda. Jika `host` parameter berisi lokasi `sourcePath` file, maka volume data tetap ada di lokasi yang ditentukan pada instance host sampai Anda menghapusnya secara manual. Jika `sourcePath` nilai tidak ada pada instance host, sistem membuatnya. Jika lokasinya memang ada, konten dari folder jalur sumber diekspor.  
Di Instans Terkelola Amazon ECS, bagian dari sistem file host bersifat hanya-baca. `sourcePath`Harus menunjuk ke direktori yang dapat ditulis seperti `/var` atau`/tmp`. Untuk informasi selengkapnya, lihat [Gunakan bind mount dengan Amazon ECS](bind-mounts.md).

`dockerVolumeConfiguration`  
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Objek [DockerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DockerVolumeConfiguration.html)  
Wajib: Tidak  
Parameter ini ditentukan saat Anda menggunakan volume Docker.

`efsVolumeConfiguration`  
Jenis: Objek [EFSVolumekonfigurasi](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_EFSVolumeConfiguration.html)  
Wajib: Tidak  
Parameter ini ditentukan saat Anda menggunakan sistem file Amazon EFS untuk penyimpanan tugas.

`fsxWindowsFileServerVolumeConfiguration`  
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Objek [FSxWindowsFileServerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html)  
Wajib: Tidak  
Parameter ini ditentukan saat Anda menggunakan sistem file Amazon FSx untuk Windows File Server untuk penyimpanan tugas.

`configuredAtLaunch`  
Tipe: Boolean  
Wajib: Tidak  
Menunjukkan apakah volume harus dikonfigurasi pada waktu peluncuran. Ini digunakan untuk membuat volume Amazon EBS untuk tugas mandiri atau tugas yang dibuat sebagai bagian dari layanan. Setiap revisi definisi tugas mungkin hanya memiliki satu volume yang dikonfigurasi saat peluncuran dalam konfigurasi volume.

## Definisi kontainer
<a name="container_definitions-managed-instances"></a>

Saat Anda mendaftarkan definisi tugas, Anda harus menentukan daftar definisi kontainer yang diteruskan ke Docker daemon pada instance container. Parameter berikut diizinkan dalam ketentuan kontainer.

**Topics**
+ [

### Nama
](#container_definition_name-managed-instances)
+ [

### Citra
](#container_definition_image-managed-instances)
+ [

### Memori
](#container_definition_memory-managed-instances)
+ [

### CPU
](#container_definition_cpu-managed-instances)
+ [

### Pemetaan port
](#container_definition_portmappings-managed-instances)
+ [

### Kredensyal Repositori Pribadi
](#container_definition_repositoryCredentials-managed-instances)
+ [

### Esensi
](#container_definition_essential-managed-instances)
+ [

### Titik masuk
](#container_definition_entrypoint-managed-instances)
+ [

### Perintah
](#container_definition_command-managed-instances)
+ [

### Direktori kerja
](#container_definition_workingdirectory-managed-instances)
+ [

### Parameter definisi kontainer tingkat lanjut
](#advanced_container_definition_params-managed-instances)
+ [

### Parameter Linux
](#container_definition_linuxparameters-managed-instances)

### Nama
<a name="container_definition_name-managed-instances"></a>

`name`  
Tipe: String  
Diperlukan: Ya  
Nama kontainer. Mengizinkan hingga 255 huruf (huruf besar dan huruf kecil), angka, tanda hubung, dan garis bawah. Jika Anda menautkan beberapa kontainer dalam definisi tugas, `name` satu kontainer dapat dimasukkan ke dalam `links` wadah lain. Ini untuk menghubungkan wadah.

### Citra
<a name="container_definition_image-managed-instances"></a>

`image`  
Tipe: String  
Diperlukan: Ya  
Citra yang digunakan untuk memulai kontainer. String ini diteruskan langsung ke Docker daemon. Secara default, gambar dalam Docker Hub registri tersedia. Anda juga dapat menentukan repositori lain dengan salah satu atau`repository-url/image:tag`. `repository-url/image@digest` Maksimal 255 huruf (huruf besar dan kecil), angka, tanda hubung, garis bawah, titik dua, titik, garis miring, dan tanda angka diizinkan. Parameter ini memetakan ke `Image` dalam perintah docker create-container dan parameter `IMAGE` dari perintah docker run.  
+ Ketika tugas baru dimulai, agen kontainer Amazon ECS menarik versi terbaru dari citra yang ditentukan dan tanda untuk kontainer yang akan digunakan. Namun, pembaruan berikutnya ke gambar repositori tidak disebarkan ke tugas yang sudah berjalan.
+ Jika Anda tidak menentukan tag atau intisari di jalur gambar dalam definisi tugas, agen penampung Amazon ECS menggunakan `latest` tag untuk menarik gambar yang ditentukan. 
+  Pembaruan selanjutnya ke gambar repositori tidak disebarkan ke tugas yang sudah berjalan.
+ Citra di registri privat didukung. Untuk informasi selengkapnya, lihat [Menggunakan gambar AWS non-kontainer di Amazon ECS](private-auth.md).
+ Gambar di repositori Amazon ECR dapat ditentukan dengan menggunakan konvensi lengkap `registry/repository:tag` atau `registry/repository@digest` penamaan (misalnya, `aws_account_id.dkr.ecr.region.amazonaws.com` `/my-web-app:latest` atau). `aws_account_id.dkr.ecr.region.amazonaws.com` `/my-web-app@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE`
+ 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 dengan nama domain (misalnya, `quay.io/assemblyline/ubuntu`).

`versionConsistency`  
Tipe: String  
Nilai yang valid: `enabled` \$1 `disabled`  
Wajib: Tidak  
Menentukan apakah Amazon ECS akan menyelesaikan tag image container yang disediakan dalam definisi container ke image digest. Secara default, perilaku ini adalah`enabled`. Jika Anda menetapkan nilai untuk container sebagai`disabled`, Amazon ECS tidak akan menyelesaikan tag image container ke intisari dan akan menggunakan URI gambar asli yang ditentukan dalam definisi container untuk penerapan. Untuk informasi selengkapnya tentang resolusi gambar kontainer, lihat[Penerjemahan image kontainer](deployment-type-ecs.md#deployment-container-image-stability).

### Memori
<a name="container_definition_memory-managed-instances"></a>

`memory`  
Tipe: Integer  
Wajib: Tidak  
Jumlah (dalam MiB) memori yang akan ditampilkan ke kontainer. Jika kontainer Anda mencoba untuk melebihi memori yang ditentukan di sini, kontainer akan dimatikan. Jumlah total memori yang disimpan untuk semua kontainer dalam tugas harus lebih rendah dari nilai `memory` tugas, jika ada yang ditentukan. Parameter ini memetakan ke `Memory` dalam perintah docker create-container dan opsi `--memory` untuk docker run.  
Daemon Docker 20.10.0 atau yang lebih baru menyimpan minimal 6 MiB memori untuk sebuah wadah. Jadi, jangan tentukan kurang dari 6 MiB memori untuk wadah Anda.  
Docker 19.03.13-ce atau daemon sebelumnya menyimpan minimal 4 MiB memori untuk sebuah wadah. Jadi, jangan tentukan kurang dari 4 MiB memori untuk wadah Anda.  
Jika Anda mencoba memaksimalkan pemanfaatan sumber daya Anda dengan menyediakan memori sebanyak mungkin untuk jenis instans tertentu, lihat[Memesan memori instans wadah Amazon ECS Linux](memory-management.md).

`memoryReservation`  
Tipe: Integer  
Wajib: Tidak  
Batas lunak (di MiB) memori untuk menyimpan kontainer. Ketika memori sistem sedang diperdebatkan, Docker upaya untuk menjaga memori kontainer ke batas lunak ini. Namun, wadah Anda dapat menggunakan lebih banyak memori saat dibutuhkan. Wadah dapat menggunakan hingga batas keras yang ditentukan dengan `memory` parameter (jika ada) atau semua memori yang tersedia pada instance kontainer, mana yang lebih dulu. Parameter ini memetakan ke `MemoryReservation` dalam perintah docker create-container dan opsi `--memory-reservation` untuk docker run.  
Jika nilai memori tingkat tugas tidak ditentukan, Anda harus menentukan bilangan bulat bukan nol untuk salah satu atau keduanya `memory` atau `memoryReservation` dalam definisi wadah. Jika Anda menentukan keduanya, `memory` harus lebih besar dari `memoryReservation`. Jika Anda menentukan`memoryReservation`, maka nilai tersebut dikurangi dari sumber daya memori yang tersedia untuk instance wadah tempat penampung ditempatkan. Jika tidak, nilai `memory` digunakan.  
Misalnya, kontainer Anda biasanya menggunakan memori 128 MiB, tetapi kadang-kadang meledak hingga 256 MiB memori untuk waktu yang singkat. Anda dapat mengatur 128 MiB, dan batas `memory` keras 300 MiB. `memoryReservation` Konfigurasi ini memungkinkan penampung untuk hanya menyimpan 128 MiB memori dari sumber daya yang tersisa pada instance container. Pada saat yang sama, konfigurasi ini juga memungkinkan wadah untuk menggunakan lebih banyak sumber daya memori bila diperlukan.  
Daemon Docker 20.10.0 atau yang lebih baru menyimpan minimal 6 MiB memori untuk sebuah wadah. Jadi, jangan tentukan kurang dari 6 MiB memori untuk wadah Anda.  
Docker 19.03.13-ce atau daemon sebelumnya menyimpan minimal 4 MiB memori untuk sebuah wadah. Jadi, jangan tentukan kurang dari 4 MiB memori untuk wadah Anda.  
Jika Anda mencoba memaksimalkan pemanfaatan sumber daya Anda dengan menyediakan memori sebanyak mungkin untuk jenis instans tertentu, lihat[Memesan memori instans wadah Amazon ECS Linux](memory-management.md).

### CPU
<a name="container_definition_cpu-managed-instances"></a>

`cpu`  
Tipe: Integer  
Wajib: Tidak  
Jumlah unit `cpu` disimpan untuk kontainer. Parameter ini memetakan ke `CpuShares` dalam perintah docker create-container dan opsi `--cpu-shares` untuk docker run.  
Bidang ini opsional untuk tugas yang menggunakan penyedia kapasitas EC2, dan satu-satunya persyaratan adalah bahwa jumlah total CPU yang dicadangkan untuk semua kontainer dalam tugas lebih rendah dari nilai tingkat tugas`cpu`.  
Anda dapat menentukan jumlah unit CPU yang tersedia per jenis instans EC2 dengan mengalikan v yang CPUs terdaftar untuk jenis instans tersebut di halaman detail [Instans Amazon EC2](https://aws.amazon.com/ec2/instance-types/) dengan 1.024.
Kontainer Linux pebagian unit CPU yang tidak dialokasikan dengan kontainer lain pada instans kontainer dengan rasio yang sama dengan jumlahnya yang dialokasikan. Misalnya, jika Anda menjalankan tugas kontainer tunggal pada tipe instans inti tunggal dengan 512 unit CPU yang ditentukan untuk kontainer itu, dan itulah satu-satunya tugas yang berjalan pada instance kontainer, kontainer tersebut dapat menggunakan 1.024 unit CPU penuh pada waktu tertentu. Namun, jika Anda meluncurkan salinan lain dari tugas yang sama pada instance container tersebut, setiap tugas dijamin minimal 512 unit CPU bila diperlukan. Selain itu, setiap kontainer dapat mengambang ke penggunaan CPU yang lebih tinggi jika wadah lain tidak menggunakannya. Jika kedua tugas tersebut 100% aktif sepanjang waktu, mereka akan dibatasi hingga 512 unit CPU.  
Pada instans kontainer Linux, daemon Docker pada instans kontainer menggunakan nilai CPU untuk menghitung rasio pembagian CPU relatif untuk menjalankan kontainer. Untuk informasi selengkapnya, lihat [batasan pembagian CPU](https://docs.docker.com/engine/reference/run/#cpu-share-constraint) dalam dokumentasi Docker. Nilai pembagian CPU minimum yang valid yang diizinkan kernel Linux adalah 2. Namun, parameter CPU tidak diperlukan, dan Anda dapat menggunakan nilai CPU di bawah 2 dalam definisi container Anda. Untuk nilai CPU di bawah 2 (termasuk null), perilakunya bervariasi berdasarkan versi agen kontainer Amazon ECS Anda:  
+ **Versi agen kurang dari atau sama dengan 1.1.0:** Nilai CPU null dan nol diteruskan ke Docker sebagai 0, yang kemudian dikonversi Docker menjadi 1.024 pembagian CPU. Nilai CPU 1 diteruskan ke Docker sebagai 1, yang dikonversi oleh kernel Linux menjadi dua pembagian CPU.
+ **Versi agen lebih dari atau sama dengan 1.2.0:** Nilai null, nol, dan CPU 1 diteruskan ke Docker sebagai 2.
Pada instans kontainer Windows, batas CPU diberlakukan sebagai batas absolut, atau kuota. Kontainer Windows hanya memiliki akses ke jumlah CPU yang ditentukan yang dijelaskan dalam definisi tugas. Nilai CPU null atau nol diteruskan ke Docker sebagai `0`, yang ditafsirkan Windows sebagai 1% dari satu CPU.

### Pemetaan port
<a name="container_definition_portmappings-managed-instances"></a>

`portMappings`  
Tipe: Array objek  
Wajib: Tidak  
Pemetaan port mengekspos port jaringan kontainer Anda ke dunia luar. ini memungkinkan klien untuk mengakses aplikasi Anda. Ini juga digunakan untuk komunikasi antar kontainer dalam tugas yang sama.  
Untuk definisi tugas yang menggunakan mode `awsvpc` jaringan, hanya tentukan`containerPort`. `hostPort`Itu selalu diabaikan, dan port kontainer secara otomatis dipetakan ke port acak bernomor tinggi pada host.  
Sebagian besar bidang parameter ini (termasuk`containerPort`,`hostPort`,`protocol`) dipetakan ke `PortBindings` dalam perintah create-container docker dan opsi `--publish` untuk docker run. Jika mode jaringan dari definisi tugas diatur ke`host`, port host harus tidak terdefinisi atau cocok dengan port kontainer dalam pemetaan port.  
Setelah tugas mencapai status `RUNNING` , tugas port kontainer dan host manual dan otomatis akan terlihat di lokasi-lokasi berikut:  
+ Konsol: bagian **Pengikatan jaringan** dari deskripsi kontainer untuk tugas yang dipilih.
+ AWS CLI: Bagian `networkBindings` dari output perintah **describe-tasks** .
+ API: Respons `DescribeTasks` .
+ Metadata: Titik akhir metadata tugas.  
`appProtocol`  
Tipe: String  
Wajib: Tidak  
Protokol aplikasi yang digunakan untuk pemetaan port. Parameter ini hanya berlaku untuk Service Connect. Kami menyarankan Anda mengatur parameter ini agar konsisten dengan protokol yang digunakan aplikasi Anda. Jika Anda menyetel parameter ini, Amazon ECS akan menambahkan penanganan koneksi khusus protokol ke proxy service connect. Jika Anda menyetel parameter ini, Amazon ECS menambahkan telemetri khusus protokol di konsol Amazon ECS dan. CloudWatch  
Jika Anda tidak menetapkan nilai untuk parameter ini, maka TCP digunakan. Namun, Amazon ECS tidak menambahkan telemetri khusus protokol untuk TCP.  
Untuk informasi selengkapnya, lihat [Menggunakan Service Connect untuk menghubungkan layanan Amazon ECS dengan nama pendek](service-connect.md).  
Nilai protokol yang valid: `"HTTP" | "HTTP2" | "GRPC" `  
`containerPort`  
Jenis: Integer  
Diperlukan: Ya, kapan `portMappings` digunakan  
Nomor port pada kontainer yang terikat ke port host yang ditentukan pengguna atau secara otomatis ditetapkan.  
Untuk tugas yang menggunakan mode `awsvpc` jaringan, Anda gunakan `containerPort` untuk menentukan port yang terbuka.  
`containerPortRange`  
Tipe: String  
Wajib: Tidak  
Rentang nomor port pada kontainer yang terikat pada rentang port host yang dipetakan secara dinamis.   
Anda hanya dapat mengatur parameter ini dengan menggunakan `register-task-definition` API. Opsi ini tersedia dalam `portMappings` parameter. Untuk informasi selengkapnya, lihat [register-task-definition](https://docs.aws.amazon.com/cli/latest/reference/ecs/register-task-definition.html) dalam *Referensi AWS Command Line Interface *.   
Aturan berikut berlaku saat Anda menentukan`containerPortRange`:  
+ Anda harus menggunakan mode `awsvpc` jaringan.
+ Instance container harus memiliki setidaknya versi 1.67.0 dari agen kontainer dan setidaknya versi 1.67.0-1 dari paket. `ecs-init`
+ Anda dapat menentukan maksimum 100 rentang port untuk setiap kontainer.
+ Anda tidak menentukan`hostPortRange`. Nilai `hostPortRange` ditetapkan sebagai berikut:
  + Untuk kontainer dalam tugas dengan mode `awsvpc` jaringan, `hostPort` diatur ke nilai yang sama dengan`containerPort`. Ini adalah strategi pemetaan statis.
+ Nilai yang `containerPortRange` valid adalah antara 1 dan 65535.
+ Sebuah port hanya dapat dimasukkan dalam satu pemetaan port untuk setiap kontainer.
+ Anda tidak dapat menentukan rentang port yang tumpang tindih.
+ Port pertama dalam kisaran harus kurang dari port terakhir dalam kisaran.
+ Dockermerekomendasikan agar Anda mematikan docker-proxy di file konfigurasi Docker daemon ketika Anda memiliki banyak port.

  Untuk informasi selengkapnya, lihat [Masalah \$111185](https://github.com/moby/moby/issues/11185) di GitHub.

  [https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html#bootstrap_docker_daemon](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html#bootstrap_docker_daemon)
Anda dapat menelepon [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html)untuk melihat`hostPortRange`, yang merupakan port host yang terikat ke port kontainer.  
Rentang port tidak disertakan dalam peristiwa tugas Amazon ECS, yang dikirim ke EventBridge. Untuk informasi selengkapnya, lihat [Otomatiskan tanggapan terhadap kesalahan Amazon ECS menggunakan EventBridge](cloudwatch_event_stream.md).  
`hostPortRange`  
Tipe: String  
Wajib: Tidak  
Rentang nomor port pada host yang digunakan dengan pengikatan jaringan. Ini ditugaskan oleh Docker dan dikirim oleh agen Amazon ECS.  
`hostPort`  
Tipe: Integer  
Wajib: Tidak  
Nomor port pada instans kontainer untuk menyimpan kontainer Anda.  
`hostPort`Dapat tetap kosong atau nilainya sama dengan`containerPort`.  
Rentang port fana default Docker versi 1.6.0 dan yang lebih baru tercantum pada instance di bawah. `/proc/sys/net/ipv4/ip_local_port_range` Jika parameter kernel ini tidak tersedia, port sementara default berkisar sejak `49153–65535` digunakan. Jangan mencoba menentukan port host dalam rentang port sementara. Ini karena ini dicadangkan untuk penugasan otomatis. Secara umum, port di bawah `32768` berada di luar jangkauan port fana.   
Port cadangan default adalah `22` untuk SSH, Docker port `2375` dan`2376`, dan port agen kontainer Amazon ECS. `51678-51680` Port host apa pun yang sebelumnya ditentukan pengguna untuk tugas yang sedang berjalan juga dicadangkan saat tugas sedang berjalan. Setelah tugas berhenti, port host dilepaskan. Port cadangan saat ini ditampilkan di `remainingResources` **describe-container-instances** output. Instance kontainer mungkin memiliki hingga 100 port cadangan sekaligus, termasuk port cadangan default. Port yang ditetapkan secara otomatis tidak dihitung terhadap kuota 100 port cadangan.  
`name`  
Tipe: String  
Wajib: Tidak, diperlukan agar Service Connect dan VPC Lattice dikonfigurasi dalam layanan  
Nama yang digunakan untuk pemetaan port. Parameter ini hanya berlaku untuk Service Connect dan VPC Lattice. Parameter ini adalah nama yang Anda gunakan dalam konfigurasi Service Connect dan VPC Lattice suatu layanan.  
Untuk informasi selengkapnya, lihat [Menggunakan Service Connect untuk menghubungkan layanan Amazon ECS dengan nama pendek](service-connect.md).  
Dalam contoh berikut, kedua bidang wajib untuk Service Connect dan VPC Lattice digunakan.  

```
"portMappings": [
    {
        "name": string,
        "containerPort": integer
    }
]
```  
`protocol`  
Tipe: String  
Wajib: Tidak  
Protokol yang digunakan untuk pemetaan port. Nilai yang valid adalah `tcp` dan `udp`. Default adalah `tcp`.  
Hanya `tcp` didukung untuk Service Connect. Ingat itu `tcp` tersirat jika bidang ini tidak disetel. 
Jika Anda menentukan port host, gunakan sintaks berikut.  

```
"portMappings": [
    {
        "containerPort": integer,
        "hostPort": integer
    }
    ...
]
```
Jika Anda menginginkan port host yang ditetapkan secara otomatis, gunakan sintaks berikut.  

```
"portMappings": [
    {
        "containerPort": integer
    }
    ...
]
```

### Kredensyal Repositori Pribadi
<a name="container_definition_repositoryCredentials-managed-instances"></a>

`repositoryCredentials`  
Tipe: Objek [RepositoryCredentials](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RepositoryCredentials.html)  
Wajib: Tidak  
Kredensyal repositori untuk otentikasi registri pribadi.  
Untuk informasi selengkapnya, lihat [Menggunakan gambar AWS non-kontainer di Amazon ECS](private-auth.md).    
 `credentialsParameter`  
Tipe: String  
Diperlukan: Ya, kapan `repositoryCredentials` digunakan  
Amazon Resource Name (ARN) dari rahasia yang berisi kredensial repositori privat.  
Untuk informasi selengkapnya, lihat [Menggunakan gambar AWS non-kontainer di Amazon ECS](private-auth.md).  
Saat Anda menggunakan Amazon ECS API, AWS CLI, atau AWS SDKs, jika rahasia ada di Wilayah yang sama dengan tugas yang Anda luncurkan, maka Anda dapat menggunakan ARN lengkap atau nama rahasianya. Bila Anda menggunakan Konsol Manajemen AWS, Anda harus menentukan ARN penuh rahasia.
Berikut ini adalah cuplikan definisi tugas yang menunjukkan parameter yang diperlukan:  

```
"containerDefinitions": [
    {
        "image": "private-repo/private-image",
        "repositoryCredentials": {
            "credentialsParameter": "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name"
        }
    }
]
```

### Esensi
<a name="container_definition_essential-managed-instances"></a>

`essential`  
Tipe: Boolean  
Wajib: Tidak  
Jika parameter `essential` kontainer ditandai sebagai `true`, dan kontainer itu gagal atau berhenti karena alasan apa pun, semua kontainer lain yang merupakan bagian dari tugas dihentikan. Jika `essential` parameter kontainer ditandai sebagai`false`, kegagalannya tidak mempengaruhi sisa kontainer dalam suatu tugas. Jika parameter ini dihilangkan, kontainer diasumsikan menjadi penting.  
Semua tugas harus memiliki setidaknya satu kontainer penting. Jika Anda memiliki aplikasi yang terdiri dari beberapa kontainer, kelompokkan kontainer yang digunakan untuk tujuan bersama menjadi komponen, dan pisahkan komponen yang berbeda menjadi beberapa definisi tugas. Untuk informasi selengkapnya, lihat [Merancang Aplikasi Anda untuk Amazon ECS](application_architecture.md).

### Titik masuk
<a name="container_definition_entrypoint-managed-instances"></a>

`entryPoint`  
Tipe: Array string  
Wajib: Tidak  
Titik masuk yang diteruskan ke wadah. Parameter ini memetakan ke `Entrypoint` dalam perintah docker create-container dan opsi `--entrypoint` untuk docker run.  

```
"entryPoint": ["string", ...]
```

### Perintah
<a name="container_definition_command-managed-instances"></a>

`command`  
Tipe: Array string  
Wajib: Tidak  
Perintah yang diteruskan ke kontainer. Parameter ini memetakan ke `Cmd` dalam perintah docker create-container dan parameter `COMMAND` ke docker run. Jika ada beberapa argumen, setiap argumen adalah string terpisah dalam array.  

```
"command": ["string", ...]
```

### Direktori kerja
<a name="container_definition_workingdirectory-managed-instances"></a>

`workingDirectory`  
Tipe: String  
Wajib: Tidak  
Direktori kerja untuk menjalankan perintah di dalam wadah di. Parameter ini memetakan ke `WorkingDir` dalam perintah docker create-container dan opsi `--workdir` untuk docker run.

### Parameter definisi kontainer tingkat lanjut
<a name="advanced_container_definition_params-managed-instances"></a>

Parameter definisi kontainer lanjutan berikut memberikan kemampuan yang diperluas ke perintah docker run yang digunakan untuk meluncurkan container di instance container Amazon ECS Anda.

**Topics**
+ [

#### Kebijakan Mulai Ulang
](#container_definition_restart_policy-managed-instances)
+ [

#### Pemeriksaan kondisi
](#container_definition_healthcheck-managed-instances)
+ [

#### Lingkungan
](#container_definition_environment-managed-instances)
+ [

#### Keamanan
](#container_definition_security-managed-instances)
+ [

#### Pengaturan jaringan
](#container_definition_network-managed-instances)
+ [

#### Penyimpanan dan pencatatan log
](#container_definition_storage-managed-instances)
+ [

#### Persyaratan sumber daya
](#container_definition_resourcerequirements-managed-instances)
+ [

#### Waktu habis kontainer
](#container_definition_timeout-managed-instances)
+ [

#### Dependensi kontainer
](#container_definition_dependency-managed-instances)
+ [

#### Kontrol sistem
](#container_definition_systemcontrols-managed-instances)
+ [

#### Interaktif
](#container_definition_interactive-managed-instances)
+ [

#### Terminal semu
](#container_definition_pseudoterminal-managed-instances)

#### Kebijakan Mulai Ulang
<a name="container_definition_restart_policy-managed-instances"></a>

`restartPolicy`  
Kebijakan restart kontainer dan parameter konfigurasi terkait. Saat Anda menyiapkan kebijakan restart untuk penampung, Amazon ECS dapat memulai ulang penampung tanpa perlu mengganti tugas. Untuk informasi selengkapnya, lihat [Mulai ulang kontainer individual dalam tugas Amazon ECS dengan kebijakan restart kontainer](container-restart-policy.md).    
`enabled`  
Jenis: Boolean  
Wajib: Ya  
Menentukan apakah kebijakan restart diaktifkan untuk wadah.  
`ignoredExitCodes`  
Jenis: himpunan integer  
Wajib: Tidak  
Daftar kode keluar yang akan diabaikan Amazon ECS dan tidak mencoba memulai ulang. Anda dapat menentukan maksimum 50 kode keluar kontainer. Secara default, Amazon ECS tidak mengabaikan kode keluar apa pun.  
`restartAttemptPeriod`  
Tipe: Integer  
Wajib: Tidak  
Periode waktu (dalam detik) wadah harus dijalankan sebelum restart dapat dicoba. Sebuah wadah dapat dimulai ulang hanya sekali setiap `restartAttemptPeriod` detik. Jika kontainer tidak dapat berjalan untuk periode waktu ini dan keluar lebih awal, itu tidak akan dimulai ulang. Anda dapat mengatur minimal `restartAttemptPeriod` 60 detik dan maksimum `restartAttemptPeriod` 1800 detik. Secara default, kontainer harus berjalan selama 300 detik sebelum dapat dimulai ulang.

#### Pemeriksaan kondisi
<a name="container_definition_healthcheck-managed-instances"></a>

`healthCheck`  
Perintah pemeriksaan kesehatan kontainer dan parameter konfigurasi terkait untuk wadah. Untuk informasi selengkapnya, lihat [Menentukan Kondisi Tugas Amazon ECS Menggunakan Pemeriksaan Kondisi Kontainer](healthcheck.md).    
`command`  
Array string yang mewakili perintah yang dijalankan kontainer untuk menentukan apakah itu sehat. Array string dapat dimulai dengan `CMD` untuk menjalankan argumen perintah secara langsung, atau `CMD-SHELL` untuk menjalankan perintah dengan shell default container. Jika tidak ada yang `CMD` ditentukan, digunakan.  
Saat mendaftarkan definisi tugas di Konsol Manajemen AWS, gunakan daftar perintah yang dipisahkan koma. Perintah ini dikonversi ke string setelah definisi tugas dibuat. Contoh masukan untuk pemeriksaan kesehatan adalah sebagai berikut.  

```
CMD-SHELL, curl -f http://localhost/ || exit 1
```
Saat mendaftarkan definisi tugas menggunakan panel Konsol Manajemen AWS JSON,, atau AWS CLI APIs, lampirkan daftar perintah dalam tanda kurung. Contoh masukan untuk pemeriksaan kesehatan adalah sebagai berikut.  

```
[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]
```
Kode keluar 0, tanpa `stderr` output, menunjukkan keberhasilan, dan kode keluar bukan nol menunjukkan kegagalan.   
`interval`  
Periode waktu (dalam detik) antara setiap pemeriksaan kesehatan. Anda dapat menentukan antara 5 dan 300 detik. Nilai default-nya adalah 30 detik.  
`timeout`  
Periode waktu (dalam hitungan detik) untuk menunggu pemeriksaan kesehatan berhasil sebelum dianggap gagal. Anda dapat menentukan antara 2 dan 60 detik. Nilai defaultnya adalah 5 detik.  
`retries`  
Jumlah raktu untuk mencoba kembali pemeriksaan kondisi yang gagal sebelum kontainer dianggap tidak sehat. Anda dapat menentukan antara 1 dan 10 percobaan ulang. Nilai default-nya adalah tiga kali percobaan ulang.  
`startPeriod`  
Masa tenggang opsional untuk menyediakan waktu kontainer untuk bootstrap sebelum pemeriksaan kesehatan yang gagal dihitung terhadap jumlah maksimum percobaan ulang. Anda dapat menentukan nilai antara 0 dan 300 detik. Secara default, `startPeriod` dinonaktifkan.  
Jika pemeriksaan kondisi berhasil dalam `startPeriod`, maka kontainer dianggap sehat dan kegagalan berikutnya dihitung terhadap jumlah maksimum percobaan kembali.

#### Lingkungan
<a name="container_definition_environment-managed-instances"></a>

`cpu`  
Tipe: Integer  
Wajib: Tidak  
Jumlah `cpu` unit cadangan agen kontainer Amazon ECS untuk kontainer. Di Linux, parameter ini dipetakan `CpuShares` di bagian [Create a container](https://docs.docker.com/reference/api/engine/version/v1.38/#operation/ContainerCreate).  
Bidang ini bersifat opsional untuk tugas yang berjalan di Instans Terkelola Amazon ECS. Jumlah total CPU yang dicadangkan untuk semua kontainer yang berada dalam tugas harus lebih rendah dari nilai tingkat tugas`cpu`.  
Linuxkontainer berbagi unit CPU yang tidak terisi dengan kontainer lain pada instance kontainer dengan rasio yang sama dengan jumlah yang dialokasikan. Misalnya, asumsikan bahwa Anda menjalankan tugas kontainer tunggal pada tipe instans inti tunggal dengan 512 unit CPU yang ditentukan untuk kontainer tersebut. Selain itu, tugas itu adalah satu-satunya tugas yang berjalan pada instance container. Dalam contoh ini, wadah dapat menggunakan 1.024 pangsa unit CPU penuh pada waktu tertentu. Namun, asumsikan bahwa Anda meluncurkan salinan lain dari tugas yang sama pada instance kontainer itu. Setiap tugas dijamin minimal 512 unit CPU bila diperlukan. Demikian pula, jika wadah lain tidak menggunakan CPU yang tersisa, setiap kontainer dapat mengambang ke penggunaan CPU yang lebih tinggi. Namun, jika kedua tugas tersebut 100% aktif sepanjang waktu, mereka terbatas pada 512 unit CPU.  
Pada instance Linux container, Docker daemon pada instance container menggunakan nilai CPU untuk menghitung rasio pangsa CPU relatif untuk menjalankan container. Nilai pangsa CPU minimum yang valid yang diizinkan oleh kernel Linux adalah 2, dan nilai pangsa CPU valid maksimum yang diizinkan oleh kernel Linux adalah 262144. Namun, parameter CPU tidak diperlukan, dan Anda dapat menggunakan nilai CPU di bawah dua dan di atas 262144 dalam definisi container Anda. Untuk nilai CPU di bawah dua (termasuk null) dan di atas 262144, perilaku bervariasi berdasarkan versi agen penampung Amazon ECS Anda:  
Untuk contoh selengkapnya, lihat [Cara Amazon ECS mengelola sumber daya CPU dan memori](https://aws.amazon.com/blogs/containers/how-amazon-ecs-manages-cpu-and-memory-resources/).

`gpu`  
Tipe: Objek [ResourceRequirement](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ResourceRequirement.html)  
Wajib: Tidak  
Jumlah fisik `GPUs` yang dicadangkan agen kontainer Amazon ECS untuk kontainer. Jumlah GPUs cadangan untuk semua kontainer dalam tugas tidak boleh melebihi jumlah yang tersedia GPUs pada instance kontainer tempat tugas diluncurkan. Untuk informasi selengkapnya, lihat [Definisi tugas Amazon ECS untuk beban kerja GPU](ecs-gpu.md).

`Elastic Inference accelerator`  
Parameter ini tidak didukung untuk container yang di-host di Instans Terkelola Amazon ECS.
Tipe: Objek [ResourceRequirement](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ResourceRequirement.html)  
Wajib: Tidak  
Untuk `InferenceAccelerator` jenisnya, `value` cocok dengan yang `deviceName` `InferenceAccelerator` ditentukan dalam definisi tugas. Untuk informasi selengkapnya, lihat [Nama akselerator Elastic Inference (usang)](task_definition_parameters.md#elastic-Inference-accelerator).

`essential`  
Tipe: Boolean  
Wajib: Tidak  
Misalkan `essential` parameter wadah ditandai sebagai`true`, dan wadah itu gagal atau berhenti karena alasan apa pun. Kemudian, semua wadah lain yang merupakan bagian dari tugas dihentikan. Jika `essential` parameter wadah ditandai sebagai`false`, maka kegagalannya tidak mempengaruhi sisa kontainer dalam suatu tugas. Jika parameter ini dihilangkan, kontainer diasumsikan menjadi penting.  
Semua tugas harus memiliki setidaknya satu kontainer penting. Misalkan Anda memiliki aplikasi yang terdiri dari beberapa kontainer. Kemudian, kelompokkan wadah yang digunakan untuk tujuan bersama menjadi komponen, dan pisahkan komponen yang berbeda menjadi beberapa definisi tugas. Untuk informasi selengkapnya, lihat [Merancang Aplikasi Anda untuk Amazon ECS](application_architecture.md).  

```
"essential": true|false
```

`entryPoint`  
Versi awal agen kontainer Amazon ECS tidak menangani `entryPoint` parameter dengan benar. Jika Anda memiliki masalah menggunakan `entryPoint`, perbarui agen kontainer Anda atau masukkan perintah dan argumen Anda sebagai item array `command` sebagai gantinya.
Tipe: Array string  
Wajib: Tidak  
Titik masuk yang diteruskan ke wadah.   

```
"entryPoint": ["string", ...]
```

`command`  
Tipe: Array string  
Wajib: Tidak  
Perintah yang diteruskan ke kontainer. Parameter ini memetakan ke `Cmd` dalam perintah create-container dan parameter `COMMAND` ke docker run. Jika ada beberapa argumen, pastikan bahwa setiap argumen adalah string terpisah dalam array.  

```
"command": ["string", ...]
```

`workingDirectory`  
Tipe: String  
Wajib: Tidak  
Direktori kerja untuk menjalankan perintah di dalam wadah di. Parameter ini sesuai dengan `WorkingDir` di bagian [Buat kontainer](https://docs.docker.com/reference/api/engine/version/v1.38/#operation/ContainerCreate) di [Docker Remote API](https://docs.docker.com/reference/api/engine/version/v1.38/) dan opsi `--workdir` untuk [https://docs.docker.com/reference/cli/docker/container/run/](https://docs.docker.com/reference/cli/docker/container/run/).  

```
"workingDirectory": "string"
```

`environmentFiles`  
Tipe: Array objek  
Wajib: Tidak  
Daftar file yang berisi variabel lingkungan untuk diteruskan ke kontainer. Parameter ini memetakan ke `--env-file` opsi ke perintah docker run.  
Anda dapat menentukan hingga 10 file lingkungan. File harus memiliki ekstensi file `.env`. Setiap baris dalam file lingkungan berisi variabel lingkungan dalam `VARIABLE=VALUE` format. Baris yang dimulai dengan `#` diperlakukan sebagai komentar dan diabaikan.   
Jika ada variabel lingkungan individu yang ditentukan dalam ketentuan kontainer, maka akan lebih diutamakan daripada variabel yang ada di dalam file lingkungan. Jika beberapa file lingkungan ditentukan yang berisi variabel yang sama, mereka diproses dari atas ke bawah. Kami merekomendasikan agar Anda menggunakan nama variabel yang unik. Untuk informasi selengkapnya, lihat [Meneruskan variabel lingkungan individual ke wadah Amazon ECS](taskdef-envfiles.md).    
`value`  
Tipe: String  
Wajib: Ya  
Amazon Resource Name (ARN) dari objek Amazon S3 yang berisi variabel lingkungan file.  
`type`  
Tipe: String  
Wajib: Ya  
Tipe file yang akan digunakan. Satu-satunya nilai yang didukung adalah `s3`.

`environment`  
Tipe: Array objek  
Wajib: Tidak  
Variabel lingkungan untuk disampaikan ke kontainer. Parameter ini memetakan ke `Env` dalam perintah docker create-container dan opsi `--env` ke perintah docker run.  
Kami tidak menyarankan menggunakan variabel lingkungan teks biasa untuk informasi sensitif, seperti data kredensial.  
`name`  
Tipe: String  
Diperlukan: Ya, saat `environment` digunakan  
Nama variabel lingkungan.  
`value`  
Tipe: String  
Diperlukan: Ya, saat `environment` digunakan  
Nilai dari variabel lingkungan.

```
"environment" : [
    { "name" : "string", "value" : "string" },
    { "name" : "string", "value" : "string" }
]
```

`secrets`  
Tipe: Object array  
Wajib: Tidak  
Objek yang mewakili rahasia untuk mengekspos ke wadah Anda. Untuk informasi selengkapnya, lihat [Meneruskan data sensitif ke wadah Amazon ECS](specifying-sensitive-data.md).    
`name`  
Tipe: String  
Wajib: Ya  
Nilai untuk ditetapkan sebagai variabel lingkungan pada kontainer.  
`valueFrom`  
Tipe: String  
Wajib: Ya  
Secret untuk mengekspos ke kontainer. Nilai yang didukung adalah Nama Sumber Daya Amazon (ARN) lengkap dari AWS Secrets Manager rahasia atau ARN lengkap parameter di Parameter Store. AWS Systems Manager   
Jika parameter Systems Manager Parameter Store atau parameter Secrets Manager Wilayah AWS sama dengan tugas yang Anda luncurkan, Anda dapat menggunakan ARN lengkap atau nama rahasia. Jika parameter ada di Wilayah yang berbeda, ARN lengkap harus disebutkan.

```
"secrets": [
    {
        "name": "environment_variable_name",
        "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name"
    }
]
```

#### Keamanan
<a name="container_definition_security-managed-instances"></a>

`privileged`  
Tipe: Boolean  
Wajib: Tidak  
Ketika parameter ini`true`, penampung diberikan hak istimewa yang ditinggikan pada instance wadah host (mirip dengan `root` pengguna). Parameter ini memetakan ke `Privileged` dalam perintah docker create-container dan opsi `--privileged` untuk docker run.

`user`  
Tipe: String  
Wajib: Tidak  
Pengguna yang akan digunakan di dalam kontainer. Parameter ini memetakan ke `User` dalam perintah docker create-container dan opsi `--user` untuk docker run.  
Saat menjalankan tugas menggunakan mode `host` jaringan, jangan jalankan kontainer menggunakan pengguna root (UID 0). Sebaiknya gunakan pengguna non-root untuk keamanan yang lebih baik.
Anda dapat menentukan `user` dengan menggunakan format berikut. Jika menentukan UID atau GID, Anda harus menentukannya sebagai bilangan bulat positif.  
+ `user`
+ `user:group`
+ `uid`
+ `uid:gid`
+ `user:gid`
+ `uid:group`

`readonlyRootFilesystem`  
Tipe: Boolean  
Wajib: Tidak  
Ketika parameter ini`true`, wadah diberi sistem file root read-only. Parameter ini memetakan ke `ReadonlyRootfs` dalam perintah docker create-container dan opsi `--read-only` untuk docker run.

`dockerSecurityOptions`  
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Array string  
Wajib: Tidak  
Daftar string untuk memberikan label khusus untuk SELinux dan sistem keamanan AppArmor multi-level. Bidang ini tidak valid untuk kontainer dalam tugas yang menggunakan Fargate.

`ulimits`  
Jenis: Array objek [Ulimit](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Ulimit.html)  
Wajib: Tidak  
Daftar `ulimits` untuk diatur dalam kontainer. Jika nilai ulimit ditentukan dalam definisi tugas, itu akan mengganti nilai default yang ditetapkan oleh Docker. Parameter ini memetakan ke `Ulimits` dalam perintah docker create-container dan opsi `--ulimit` untuk docker run. Nilai penamaan yang valid ditampilkan di tipe data [Ulimit](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Ulimit.html).  
Tugas Amazon ECS yang di-host di Fargate menggunakan nilai batas sumber daya default yang ditetapkan oleh sistem operasi dengan pengecualian parameter batas sumber daya `nofile` yang diganti Fargate. Batas `nofile` sumber daya menetapkan batasan pada jumlah file terbuka yang dapat digunakan wadah. Batas `nofile` lunak default adalah `1024` dan batas keras defaultnya adalah`65535`.  
Parameter ini memerlukan API Jarak Jauh Docker versi 1.18 atau yang lebih besar pada instans kontainer Anda. Untuk memeriksa versi API Jarak Jauh Docker pada instans kontainer Anda, masuk ke instans kontainer Anda dan jalankan perintah berikut: `sudo docker version --format '{{.Server.APIVersion}}'`

`dockerLabels`  
Tipe: Peta antar string  
Wajib: Tidak  
 key/value Peta label untuk ditambahkan ke wadah. Parameter ini memetakan ke `Labels` dalam perintah docker create-container dan opsi `--label` untuk docker run.   
Parameter ini memerlukan Docker Remote API versi 1.18 atau lebih besar pada instans kontainer Anda.  

```
"dockerLabels": {"string": "string"
      ...}
```

#### Pengaturan jaringan
<a name="container_definition_network-managed-instances"></a>

`disableNetworking`  
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Boolean  
Wajib: Tidak  
Ketika parameter ini benar, jaringan mati di dalam wadah.  
Nilai default-nya `false`.  

```
"disableNetworking": true|false
```

`links`  
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Array string  
Wajib: Tidak  
Parameter `link` mengizinkan kontainer untuk berkomunikasi satu sama lain tanpa perlu port pemetaan. Parameter ini hanya didukung jika mode jaringan dari definisi tugas diatur ke`bridge`. `name:internalName`Konstruk ini analog dengan dalam tautan. `name:alias` Docker Hingga 255 huruf (huruf besar dan kecil), angka, tanda hubung, dan garis bawah diperbolehkan..  
Kontainer yang ditempatkan pada instance kontainer yang sama dapat berkomunikasi satu sama lain tanpa memerlukan tautan atau pemetaan port host. Isolasi jaringan pada instans kontainer dikendalikan oleh grup keamanan dan pengaturan VPC.

```
"links": ["name:internalName", ...]
```

`hostname`  
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: String  
Wajib: Tidak  
Nama host yang digunakan untuk kontainer Anda. Parameter ini memetakan ke `Hostname` dalam docker create-container dan opsi `--hostname` untuk docker run.  

```
"hostname": "string"
```

`dnsServers`  
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Array string  
Wajib: Tidak  
Daftar server DNS yang disajikan untuk kontainer.  

```
"dnsServers": ["string", ...]
```

`extraHosts`  
Parameter ini tidak didukung untuk tugas yang menggunakan mode `awsvpc` jaringan.
Tipe: Array objek  
Wajib: Tidak  
Daftar nama host dan pemetaan alamat IP untuk ditambahkan ke file `/etc/hosts` di kontainer.   
Parameter ini memetakan ke `ExtraHosts` dalam perintah docker create-container dan opsi `--add-host` untuk docker run.  

```
"extraHosts": [
      {
        "hostname": "string",
        "ipAddress": "string"
      }
      ...
    ]
```  
`hostname`  
Tipe: String  
Diperlukan: Ya, kapan `extraHosts` digunakan  
Nama host yang akan digunakan dalam entri `/etc/hosts`.  
`ipAddress`  
Tipe: String  
Diperlukan: Ya, kapan `extraHosts` digunakan  
Alamat IP yang akan digunakan dalam `/etc/hosts` entri.

#### Penyimpanan dan pencatatan log
<a name="container_definition_storage-managed-instances"></a>

`readonlyRootFilesystem`  
Tipe: Boolean  
Wajib: Tidak  
Jika parameter ini betul, kontainer diberikan akses hanya-baca ke sistem file asalnya. Parameter ini memetakan ke `ReadonlyRootfs` dalam perintah docker create-container opsi `--read-only` untuk docker run.  
Nilai default-nya `false`.  

```
"readonlyRootFilesystem": true|false
```

`mountPoints`  
Tipe: Array objek  
Wajib: Tidak  
Titik pemasangan untuk volume data dalam penampung Anda. Parameter ini memetakan ke `Volumes` dalam create-container Docker API dan opsi `--volume` untuk docker run.  
Kontainer Windows dapat memasang seluruh direktori pada drive yang sama dengan `$env:ProgramData`. Kontainer Windows tidak dapat memasang direktori pada drive yang berbeda, dan titik pemasangan tidak dapat digunakan di seluruh drive. Anda harus menentukan titik pemasangan untuk melampirkan volume Amazon EBS langsung ke tugas Amazon ECS.    
`sourceVolume`  
Tipe: String  
Diperlukan: Ya, kapan `mountPoints` digunakan  
Nama volume yang akan dipasang.  
`containerPath`  
Tipe: String  
Diperlukan: Ya, kapan `mountPoints` digunakan  
Jalur dalam wadah tempat volume akan dipasang.  
`readOnly`  
Tipe: Boolean  
Wajib: Tidak  
Jika nilai ini adalah `true`, kontainer memiliki akses hanya-baca ke volume. Jika nilai ini adalah `false`, maka kontainer dapat menulis ke volume. Nilai default-nya adalah `false`.  
Untuk tugas yang berjalan pada instans EC2 yang menjalankan sistem operasi Windows, biarkan nilainya sebagai default. `false`

`volumesFrom`  
Tipe: Array objek  
Wajib: Tidak  
Volume data untuk memasang dari kontainer lain. Parameter ini memetakan ke `VolumesFrom` dalam perintah docker create-container dan opsi `--volumes-from` untuk docker run.    
`sourceContainer`  
Tipe: String  
Diperlukan: Ya, saat `volumesFrom` digunakan  
Nama kontainer untuk memasang volume.  
`readOnly`  
Tipe: Boolean  
Wajib: Tidak  
Jika nilai ini adalah `true`, kontainer memiliki akses hanya-baca ke volume. Jika nilai ini adalah `false`, maka kontainer dapat menulis ke volume. Nilai default-nya adalah `false`.

```
"volumesFrom": [
                {
                  "sourceContainer": "string",
                  "readOnly": true|false
                }
              ]
```

`logConfiguration`  
Jenis: [LogConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LogConfiguration.html)Objek  
Wajib: Tidak  
Spesifikasi konfigurasi log untuk kontainer.  
Misalnya definisi tugas yang menggunakan konfigurasi log, lihat[Contoh definisi tugas Amazon ECS](example_task_definitions.md).  
Parameter ini memetakan ke `LogConfig` dalam perintah docker create-container dan opsi `--log-driver` untuk docker run. Secara default, kontainer menggunakan driver logging yang sama dengan yang digunakan Docker daemon. Namun, penampung mungkin menggunakan driver logging yang berbeda dari Docker daemon dengan menentukan driver log dengan parameter ini dalam definisi container. Untuk menggunakan driver penlog yang berbeda untuk kontainer, sistem log harus dikonfigurasi dengan benar pada instans kontainer (atau pada server log yang berbeda untuk opsi penlog jarak jauh).   
Pertimbangkan hal berikut saat menentukan konfigurasi log untuk kontainer Anda:  
+ Amazon ECS mendukung subset driver logging yang tersedia untuk daemon. Docker
+ Parameter ini memerlukan Docker Remote API versi 1.18 atau yang lebih baru pada instance container Anda.

```
"logConfiguration": {
      "logDriver": "awslogs",""splunk", "awsfirelens",
      "options": {"string": "string"
        ...},
	"secretOptions": [{
		"name": "string",
		"valueFrom": "string"
	}]
}
```  
`logDriver`  
Tipe: String  
Nilai yang valid: `"awslogs","splunk","awsfirelens"`  
Diperlukan: Ya, saat `logConfiguration` digunakan  
Driver log yang digunakan untuk kontainer. Secara default, nilai valid yang tercantum sebelumnya adalah driver log yang dapat berkomunikasi dengan agen penampung Amazon ECS.  
Driver log yang didukung adalah`awslogs`,`splunk`, dan`awsfirelens`.  
Untuk informasi selengkapnya tentang cara menggunakan driver `awslogs` log dalam definisi tugas untuk mengirim log kontainer Anda ke CloudWatch Log, lihat[Kirim log Amazon ECS ke CloudWatch](using_awslogs.md).  
Untuk informasi selengkapnya tentang menggunakan driver `awsfirelens` log, lihat[Kirim log Amazon ECS ke AWS layanan atau AWS Partner](using_firelens.md).  
Jika Anda memiliki driver khusus yang tidak terdaftar, Anda dapat melakukan fork proyek agen penampung Amazon ECS yang [tersedia GitHub](https://github.com/aws/amazon-ecs-agent) dan menyesuaikannya agar berfungsi dengan driver itu. Kami mendorong Anda untuk mengirim permintaan tarik untuk perubahan yang ingin Anda sertakan. Namun, saat ini kami tidak mendukung menjalankan salinan yang dimodifikasi dari perangkat lunak ini.
Parameter ini memerlukan Docker Remote API versi 1.18 atau lebih besar pada instans kontainer Anda.  
`options`  
Tipe: Peta antar string  
Wajib: Tidak  
 key/value Peta opsi konfigurasi untuk dikirim ke driver log.  
Opsi yang dapat Anda tentukan tergantung pada driver log. Beberapa opsi yang dapat Anda tentukan saat Anda menggunakan `awslogs` router untuk merutekan log ke Amazon CloudWatch meliputi yang berikut:    
`awslogs-create-group`  
Wajib: Tidak  
Tentukan apakah Anda ingin grup log dibuat secara otomatis. Jika opsi ini tidak ditentukan, default-nya adalah `false`.  
Kebijakan IAM Anda harus menyertakan `logs:CreateLogGroup` izin sebelum Anda mencoba menggunakannya`awslogs-create-group`.  
`awslogs-region`  
Wajib: Ya  
Tentukan Wilayah AWS driver `awslogs` log untuk mengirim log Docker Anda. Anda dapat memilih untuk mengirim semua log Anda dari kluster di Wilayah yang berbeda ke satu wilayah di CloudWatch Log. Ini agar mereka semua terlihat di satu lokasi. Jika tidak, Anda dapat memisahkannya berdasarkan Wilayah untuk perincian lebih lanjut. Pastikan bahwa grup log yang ditentukan ada di Wilayah yang Anda tentukan dengan opsi ini.  
`awslogs-group`  
Wajib: Ya  
Pastikan untuk menentukan grup log tempat driver `awslogs` log mengirimkan aliran lognya.  
`awslogs-stream-prefix`  
Wajib: Ya  
Gunakan `awslogs-stream-prefix` opsi untuk mengaitkan aliran log dengan awalan yang ditentukan, nama penampung, dan ID tugas Amazon ECS tempat penampung tersebut berada. Jika Anda menentukan awalan dengan opsi ini, maka aliran log mengambil format berikut.  

```
prefix-name/container-name/ecs-task-id
```
Jika Anda tidak menentukan awalan dengan opsi ini, maka aliran log dinamai sesuai dengan ID penampung yang ditetapkan oleh daemon Docker pada instance container. Karena sulit untuk melacak log kembali ke wadah yang mengirimnya hanya dengan ID wadah Docker (yang hanya tersedia pada instance penampung), kami sarankan Anda menentukan awalan dengan opsi ini.  
Untuk layanan Amazon ECS, Anda dapat menggunakan nama layanan sebagai awalan. Dengan melakukannya, Anda dapat melacak aliran log ke layanan tempat penampung milik, nama penampung yang mengirimnya, dan ID tugas yang menjadi milik penampung tersebut.  
Anda harus menentukan awalan aliran agar log Anda muncul di panel Log saat menggunakan konsol Amazon ECS.  
`awslogs-datetime-format`  
Wajib: Tidak  
Opsi ini mendefinisikan pola mulai multiline di Python format `strftime`. Pesan log terdiri dari baris yang cocok dengan pola dan baris berikut yang tidak cocok dengan pola. Garis yang cocok adalah pembatas antara pesan log.  
Salah satu contoh kasus penggunaan format ini adalah untuk penguraian output seperti buangan tumpukan, yang mungkin bisa tercatat dalam beberapa entri. Pola yang benar akan memungkinkannya ditangkap dalam satu entri.  
Untuk informasi selengkapnya, lihat [awslogs-datetime-format](https://docs.docker.com/engine/logging/drivers/awslogs/#awslogs-datetime-format).  
Anda tidak dapat mengonfigurasi opsi `awslogs-datetime-format` dan `awslogs-multiline-pattern` opsi.  
Pencatatan multibaris melakukan penguraian dan pencocokan ekspresi reguler dari semua pesan log. Ini mungkin berdampak negatif pada performa pencatatan.  
`awslogs-multiline-pattern`  
Wajib: Tidak  
Opsi ini mendefinisikan pola mulai multiline yang menggunakan ekspresi reguler. Pesan log terdiri dari baris yang cocok dengan pola dan baris berikut yang tidak cocok dengan pola. Garis yang cocok adalah pembatas antara pesan log.  
Untuk informasi selengkapnya, lihat [awslogs-multiline-pattern](https://docs.docker.com/engine/logging/drivers/awslogs/#awslogs-multiline-pattern).  
Opsi ini diabaikan jika `awslogs-datetime-format` juga dikonfigurasi.  
Anda tidak dapat mengonfigurasi opsi `awslogs-datetime-format` dan `awslogs-multiline-pattern` opsi.  
Pencatatan multibaris melakukan penguraian dan pencocokan ekspresi reguler dari semua pesan log. Ini mungkin berdampak negatif pada performa pencatatan.  
`mode`  
Wajib: Tidak  
Nilai yang valid: `non-blocking` \$1 `blocking`  
Opsi ini mendefinisikan mode pengiriman pesan log dari wadah ke driver `awslogs` log. Mode pengiriman yang Anda pilih memengaruhi ketersediaan aplikasi saat aliran log dari kontainer terganggu.  
Jika Anda menggunakan `blocking` mode dan aliran log ke CloudWatch terganggu, panggilan dari kode kontainer untuk menulis ke `stdout` dan `stderr` aliran akan diblokir. Thread logging aplikasi akan diblokir sebagai hasilnya. Hal ini dapat menyebabkan aplikasi menjadi tidak responsif dan menyebabkan kegagalan pemeriksaan kesehatan kontainer.   
Jika Anda menggunakan `non-blocking` mode, log kontainer malah disimpan dalam buffer perantara dalam memori yang dikonfigurasi dengan opsi. `max-buffer-size` Ini mencegah aplikasi menjadi tidak responsif ketika log tidak dapat dikirim ke CloudWatch. Kami merekomendasikan menggunakan mode ini jika Anda ingin memastikan ketersediaan layanan dan baik-baik saja dengan beberapa kehilangan log. Untuk informasi selengkapnya, lihat [Mencegah kehilangan log dengan mode non-pemblokiran di driver log `awslogs` kontainer](https://aws.amazon.com/blogs/containers/preventing-log-loss-with-non-blocking-mode-in-the-awslogs-container-log-driver/).  
`max-buffer-size`  
Wajib: Tidak  
Nilai default: `1m`  
Saat `non-blocking` mode digunakan, opsi `max-buffer-size` log mengontrol ukuran buffer yang digunakan untuk penyimpanan pesan perantara. Pastikan untuk menentukan ukuran buffer yang memadai berdasarkan aplikasi Anda. Ketika buffer terisi, log lebih lanjut tidak dapat disimpan. Log yang tidak dapat disimpan hilang. 
Untuk merutekan `splunk` log menggunakan router log, Anda perlu menentukan a `splunk-token` dan a`splunk-url`.  
Saat Anda menggunakan router `awsfirelens` log untuk merutekan log ke AWS Partner Network tujuan Layanan AWS atau penyimpanan log dan analitik, Anda dapat mengatur `log-driver-buffer-limit` opsi untuk membatasi jumlah peristiwa yang di-buffer dalam memori, sebelum dikirim ke wadah router log. Ini dapat membantu menyelesaikan potensi masalah kehilangan log karena throughput yang tinggi dapat mengakibatkan memori habis untuk buffer di dalamnya. Docker Untuk informasi selengkapnya, lihat [Mengkonfigurasi log Amazon ECS untuk throughput tinggi](firelens-docker-buffer-limit.md).  
Opsi lain yang dapat Anda tentukan saat menggunakan `awsfirelens` untuk merutekan log tergantung pada tujuan. Saat Anda mengekspor log ke Amazon Data Firehose, Anda dapat menentukan Wilayah AWS dengan `region` dan nama untuk aliran log. `delivery_stream`  
Saat Anda mengekspor log ke Amazon Kinesis Data Streams, Anda dapat Wilayah AWS menentukan dengan dan `region` nama aliran data dengan. `stream`  
 Saat mengekspor log ke Amazon OpenSearch Service, Anda dapat menentukan opsi seperti`Name`, `Host` (Titik akhir OpenSearch layanan tanpa protokol),,,`Port`,`Index`,`Type`,`Aws_auth`, `Aws_region``Suppress_Type_Name`, dan`tls`.  
Saat mengekspor log ke Amazon S3, Anda dapat menentukan bucket menggunakan opsi. `bucket` Anda juga dapat menentukan`region`,`total_file_size`,`upload_timeout`, dan `use_put_object` sebagai opsi.  
Parameter ini memerlukan API Docker Remote versi 1.19 atau lebih besar pada instans kontainer Anda.  
`secretOptions`  
Tipe: Array objek  
Wajib: Tidak  
Objek yang mewakili rahasia untuk diteruskan ke konfigurasi log. Rahasia yang digunakan dalam konfigurasi log dapat mencakup token otentikasi, sertifikat, atau kunci enkripsi. Untuk informasi selengkapnya, lihat [Meneruskan data sensitif ke wadah Amazon ECS](specifying-sensitive-data.md).    
`name`  
Tipe: String  
Wajib: Ya  
Nilai untuk ditetapkan sebagai variabel lingkungan pada kontainer.  
`valueFrom`  
Tipe: String  
Wajib: Ya  
Secret untuk diekspos ke konfigurasi log kontainer.

```
"logConfiguration": {
	"logDriver": "splunk",
	"options": {
		"splunk-url": "https://cloud.splunk.com:8080",
		"splunk-token": "...",
		"tag": "...",
		...
	},
	"secretOptions": [{
		"name": "splunk-token",
		"valueFrom": "/ecs/logconfig/splunkcred"
	}]
}
```

`firelensConfiguration`  
Jenis: [FirelensConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FirelensConfiguration.html)Objek  
Wajib: Tidak  
 FireLens Konfigurasi untuk wadah. Digunakan untuk menentukan dan mengonfigurasi router log untuk log kontainer. Untuk informasi selengkapnya, lihat [Kirim log Amazon ECS ke AWS layanan atau AWS Partner](using_firelens.md).  

```
{
    "firelensConfiguration": {
        "type": "fluentd",
        "options": {
            "KeyName": ""
        }
    }
}
```  
`options`  
Tipe: Peta antar string  
Wajib: Tidak  
 key/value Peta opsi untuk digunakan saat mengkonfigurasi router log. Bidang ini opsional dan dapat digunakan untuk menentukan file konfigurasi kustom atau untuk menambahkan metadata tambahan, seperti tugas, ketentuan tugas, klaster, dan detail instans kontainer ke log acara. Jika ditentukan, sintaksis yang digunakan adalah `"options":{"enable-ecs-log-metadata":"true|false","config-file-type:"s3|file","config-file-value":"arn:aws:s3:::amzn-s3-demo-bucket/fluent.conf|filepath"}`. Untuk informasi selengkapnya, lihat [Contoh definisi tugas Amazon ECS: Rute log ke FireLens](firelens-taskdef.md).  
`type`  
Tipe: String  
Wajib: Ya  
Router log yang akan digunakan. Nilai yang valid adalah `fluentd` atau `fluentbit`.

#### Persyaratan sumber daya
<a name="container_definition_resourcerequirements-managed-instances"></a>

`resourceRequirements`  
Tipe: Array objek [ResourceRequirement](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ResourceRequirement.html)  
Wajib: Tidak  
Tipe dan jumlah sumber daya yang akan ditetapkan ke kontainer. Satu-satunya sumber daya yang didukung adalah GPU.    
`type`  
Tipe: String  
Diperlukan: Ya  
Jenis sumber daya yang akan ditetapkan ke kontainer. Nilai yang didukung adalah `GPU`.  
`value`  
Tipe: String  
Diperlukan: Ya  
Nilai untuk jenis sumber daya yang ditentukan.  
Jika `GPU` jenisnya digunakan, nilainya adalah jumlah fisik `GPUs` yang dicadangkan agen kontainer Amazon ECS untuk kontainer. Jumlah GPUs yang dicadangkan untuk semua kontainer dalam tugas tidak dapat melebihi jumlah yang tersedia GPUs pada instance kontainer tempat tugas diluncurkan.  
GPUs tidak tersedia untuk tugas yang berjalan di Fargate.

#### Waktu habis kontainer
<a name="container_definition_timeout-managed-instances"></a>

`startTimeout`  
Tipe: Integer  
Wajib: Tidak  
Nilai contoh: `120`  
Durasi waktu (dalam detik) untuk menunggu sebelum menyerah pada penyelesaian dependensi untuk kontainer.  
Misalnya, Anda menentukan dua kontainer dalam ketentuan tugas dengan `containerA` yang memiliki dependensi untuk `containerB` yang mencapai status `COMPLETE`, `SUCCESS`, atau `HEALTHY`. Jika `startTimeout` nilai ditentukan untuk `containerB` dan tidak mencapai status yang diinginkan dalam waktu itu, maka `containerA` tidak dimulai.  
Jika kontainer tidak memenuhi batasan ketergantungan atau waktu habis sebelum memenuhi batasan, Amazon ECS tidak memajukan kontainer dependen ke status berikutnya.
Nilai maksimumnya adalah 600 detik (10 menit).

`stopTimeout`  
Tipe: Integer  
Wajib: Tidak  
Nilai contoh: `120`  
Durasi waktu (dalam detik) untuk menunggu sebelum kontainer dimatikan secara paksa jika tidak keluar dengan sendirinya secara normal.  
Jika parameter tidak ditentukan, maka nilai default 30 detik digunakan. Nilai maksimumnya adalah 86400 detik (24 jam).

#### Dependensi kontainer
<a name="container_definition_dependency-managed-instances"></a>

`dependsOn`  
Tipe: Array objek [ContainerDependency](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDependency.html)  
Wajib: Tidak  
Dependensi yang ditentukan untuk pemulaian dan penonaktifan kontainer. Kontainer dapat berisi beberapa dependensi. Ketika dependensi ditentukan untuk memulai kontainer, maka akan dibalik jika ingin menonaktifkan kontainer. Misalnya, lihat [Dependensi kontainer](example_task_definitions.md#example_task_definition-containerdependency).  
Jika kontainer tidak memenuhi batasan ketergantungan atau waktu habis sebelum memenuhi batasan, Amazon ECS tidak memajukan kontainer dependen ke status berikutnya.
Parameter ini mengharuskan tugas atau layanan menggunakan versi platform `1.3.0` atau yang lebih baru (Linux) atau `1.0.0` (Windows).  

```
"dependsOn": [
    {
        "containerName": "string",
        "condition": "string"
    }
]
```  
`containerName`  
Tipe: String  
Wajib: Ya  
Nama kontainer yang harus memenuhi syarat yang ditentukan.  
`condition`  
Tipe: String  
Wajib: Ya  
Syarat dependensi kontainer. Berikut ini adalah syarat yang tersedia dan perilakunya:  
+ `START`Kondisi ini meniru perilaku link dan volume hari ini. Kondisi memvalidasi bahwa kontainer dependen dimulai sebelum mengizinkan kontainer lain untuk memulai.
+ `COMPLETE`— Kondisi ini memvalidasi bahwa kontainer dependen berjalan hingga selesai (keluar) sebelum mengizinkan kontainer lain untuk memulai. Ini dapat berguna untuk wadah non-esensial yang menjalankan skrip dan kemudian keluar. Kondisi ini tidak dapat diatur pada kontainer penting.
+ `SUCCESS`— Kondisi ini sama dengan`COMPLETE`, tetapi juga mengharuskan wadah keluar dengan `zero` status. Kondisi ini tidak dapat diatur pada kontainer penting.
+ `HEALTHY`- Kondisi ini memvalidasi bahwa wadah dependen melewati pemeriksaan kesehatan kontainer sebelum mengizinkan wadah lain untuk memulai. Ini mengharuskan wadah dependen memiliki pemeriksaan kesehatan yang dikonfigurasi dalam definisi tugas. Syarat ini dikonfirmasi hanya pada rintisan tugas.

#### Kontrol sistem
<a name="container_definition_systemcontrols-managed-instances"></a>

`systemControls`  
Tipe: Objek [SystemControl](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_SystemControl.html)  
Wajib: Tidak  
Daftar parameter kernel namespace untuk diatur dalam wadah. Parameter ini memetakan ke `Sysctls` dalam perintah docker create-container dan opsi untuk docker run. `--sysctl` Misalnya, Anda dapat mengonfigurasi `net.ipv4.tcp_keepalive_time` pengaturan untuk mempertahankan koneksi yang lebih lama.  
Kami tidak menyarankan Anda menentukan `systemControls` parameter terkait jaringan untuk beberapa kontainer dalam satu tugas yang juga menggunakan mode `awsvpc` atau `host` jaringan. Melakukan hal ini memiliki kelemahan sebagai berikut:  
+ Jika Anda mengatur `systemControls` untuk wadah apa pun, itu berlaku untuk semua kontainer dalam tugas. Jika Anda menyetel berbeda `systemControls` untuk beberapa kontainer dalam satu tugas, penampung yang dimulai terakhir menentukan mana yang `systemControls` berlaku.
Jika Anda menyetel namespace sumber daya IPC untuk digunakan untuk kontainer dalam tugas, kondisi berikut berlaku untuk kontrol sistem Anda. Untuk informasi selengkapnya, lihat [Mode IPC](task_definition_parameters.md#task_definition_ipcmode).  
+ Untuk tugas yang menggunakan mode `host` IPC, namespace `systemControls` IPC tidak didukung.
+ Untuk tugas yang menggunakan mode `task` IPC, `systemControls` nilai namespace IPC berlaku untuk semua kontainer dalam tugas.

```
"systemControls": [
    {
         "namespace":"string",
         "value":"string"
    }
]
```  
`namespace`  
Tipe: String  
Wajib: Tidak  
Parameter kernel namespace untuk menetapkan untuk. `value`  
Nilai namespace IPC yang valid:`"kernel.msgmax" | "kernel.msgmnb" | "kernel.msgmni" | "kernel.sem" | "kernel.shmall" | "kernel.shmmax" | "kernel.shmmni" | "kernel.shm_rmid_forced"`, dan `Sysctls` itu dimulai dengan `"fs.mqueue.*"`  
Nilai namespace jaringan yang valid: `Sysctls` yang dimulai dengan. `"net.*"` Di Fargate, hanya namespace yang ada di dalam `Sysctls` container yang diterima.  
Semua nilai ini didukung oleh Fargate.  
`value`  
Tipe: String  
Wajib: Tidak  
Nilai untuk parameter kernel namespace yang ditentukan dalam. `namespace`

#### Interaktif
<a name="container_definition_interactive-managed-instances"></a>

`interactive`  
Tipe: Boolean  
Wajib: Tidak  
Ketika parameter ini`true`, Anda dapat menerapkan aplikasi kontainer yang memerlukan `stdin` atau `tty` dialokasikan. Parameter ini memetakan ke `OpenStdin` dalam perintah docker create-container dan opsi `--interactive` untuk docker run.  
Nilai default-nya `false`.

#### Terminal semu
<a name="container_definition_pseudoterminal-managed-instances"></a>

`pseudoTerminal`  
Tipe: Boolean  
Wajib: Tidak  
Jika parameter ini `true`, TTY dialokasikan. Parameter ini memetakan ke `Tty` dalam perintah docker create-container dan opsi `--tty` untuk docker run.  
Nilai default-nya `false`.

### Parameter Linux
<a name="container_definition_linuxparameters-managed-instances"></a>

`linuxParameters`  
Tipe: Objek [LinuxParameters](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LinuxParameters.html)  
Wajib: Tidak  
Modifikasi khusus Linux yang diterapkan ke kontainer, seperti kemampuan kernel Linux.    
`capabilities`  
Tipe: Objek [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html)  
Wajib: Tidak  
Kemampuan Linux untuk kontainer yang ditambahkan ke atau diturunkan dari konfigurasi default yang disediakan oleh Docker.  
`devices`  
Tipe: Array objek [Perangkat](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Device.html)  
Wajib: Tidak  
Perangkat host apa pun yang akan diekspos ke kontainer. Parameter ini memetakan ke `Devices` dalam perintah docker create-container dan opsi `--device` untuk docker run.  
`initProcessEnabled`  
Tipe: Boolean  
Wajib: Tidak  
Jalankan proses `init` di dalam kontainer yang meneruskan sinyal dan menuai proses. Parameter ini memetakan ke `--init` opsi untuk docker run.  
`maxSwap`  
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Integer  
Wajib: Tidak  
Jumlah total memori tukar (dalam MiB) yang dapat digunakan oleh kontainer. Parameter ini diterjemahkan ke `--memory-swap` opsi untuk docker run di mana nilainya adalah jumlah memori kontainer ditambah nilainya. `maxSwap`  
`swappiness`  
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Integer  
Wajib: Tidak  
Hal ini mengizinkan Anda untuk menyetel perilaku pertukaran memori kontainer. Nilai `swappiness` sebesar `0` menyebabkan swapping tidak terjadi kecuali benar-benar diperlukan. Nilai `swappiness` sebesar `100` menyebabkan halaman di-swap dengan sangat agresif. Nilai yang valid adalah bilangan bulat antara `0` dan`100`. Jika parameter `swappiness` tidak ditentukan, nilai default sebesar `60` akan digunakan. Jika nilai tidak ditentukan untuk `maxSwap`, parameter ini akan diabaikan. Parameter ini memetakan ke `--memory-swappiness` opsi untuk docker run.  
`sharedMemorySize`  
Parameter ini tidak didukung untuk tugas yang berjalan di Instans Terkelola Amazon ECS.
Tipe: Integer  
Wajib: Tidak  
Ukuran (dalam MiB) volume `/dev/shm`. Parameter ini memetakan ke `--shm-size` opsi untuk docker run.  
`tmpfs`  
Tipe: Array objek [Tmpfs](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Tmpfs.html)  
Wajib: Tidak  
Jalur kontainer, opsi pemasangan, dan ukuran (dalam MiB) pemasangan tmpfs. Parameter ini memetakan ke `--tmpfs` opsi untuk docker run.