

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 Fargate
<a name="task_definition_parameters"></a>

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

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

Berikut ini adalah deskripsi yang lebih rinci untuk setiap parameter definisi tugas untuk Fargate.

## Rangkaian
<a name="family"></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 diberi revisi 1, dan setiap definisi tugas yang terdaftar setelah itu diberi nomor revisi berurutan.

## Kapasitas
<a name="requires_compatibilities"></a>

Saat mendaftarkan definisi tugas, Anda dapat menentukan kapasitas yang harus divalidasi definisi tugas oleh Amazon ECS. Jika definisi tugas tidak divalidasi terhadap kompatibilitas yang ditentukan, pengecualian klien dikembalikan. 

Parameter berikut diperbolehkan dalam definisi tugas.

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

## Peran tugas
<a name="task_role_arn"></a>

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

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

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

## Mode jaringan
<a name="network_mode"></a>

`networkMode`  
Tipe: String  
Diperlukan: Ya  
Mode jaringan Docker digunakan untuk kontainer dalam tugas. Untuk tugas Amazon ECS yang dihosting di Fargate, mode `awsvpc` jaringan diperlukan.

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

`operatingSystemFamily`  
Tipe: String  
Wajib: Bersyarat  
Standar: LINUX  
Parameter ini diperlukan untuk tugas Amazon ECS yang dihosting di Fargate.  
Saat Anda mendaftarkan definisi tugas, Anda menentukan keluarga sistem operasi.   
Nilai yang valid adalah`LINUX`,`WINDOWS_SERVER_2025_FULL`,`WINDOWS_SERVER_2025_CORE`,`WINDOWS_SERVER_2022_FULL`,`WINDOWS_SERVER_2022_CORE`,`WINDOWS_SERVER_2019_FULL`, dan`WINDOWS_SERVER_2019_CORE`.  
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  
Standar: X86\_64  
Jika parameter dibiarkan sebagai`null`, nilai default secara otomatis ditetapkan pada inisiasi tugas yang dihosting di Fargate.  
Ketika Anda mendaftarkan definisi tugas, Anda menentukan arsitektur CPU. Nilai yang valid adalah `X86_64` dan `ARM64`.  
Semua definisi tugas yang digunakan dalam layanan harus memiliki nilai yang sama untuk parameter ini.  
Ketika Anda memiliki tugas Linux, Anda dapat mengatur nilainya ke`ARM64`. Untuk informasi selengkapnya, lihat [Definisi tugas Amazon ECS untuk beban kerja ARM 64-bit](ecs-arm64.md).

## Ukuran tugas
<a name="task_size"></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 dihosting di Fargate (baik Linux dan Windows), bidang ini diperlukan dan ada nilai khusus untuk keduanya `cpu` dan `memory` yang didukung.

Parameter berikut diizinkan dalam ketentuan tugas:

`cpu`  
Tipe: String  
Diperlukan: Ya  
Task-level Parameter CPU dan memori diperlukan dan digunakan untuk menentukan jenis dan ukuran instance yang dijalankan tugas. Untuk tugas Windows, nilai-nilai ini tidak ditegakkan saat runtime, karena Windows tidak memiliki mekanisme asli yang dapat dengan mudah menerapkan batasan sumber daya kolektif pada sekelompok wadah. Jika Anda ingin menerapkan batasan sumber daya, sebaiknya gunakan sumber daya tingkat kontainer untuk wadah Windows.
Batas tegas unit CPU untuk hadir untuk tugas tersebut. Anda dapat menentukan nilai CPU dalam file JSON sebagai string dalam unit CPU atau CPU virtual (vCPU). Misalnya, Anda dapat menentukan nilai CPU baik seperti `1024` pada unit CPU atau `1 vCPU` di vCPU. Ketika ketentuan tugas terdaftar, nilai vCPU dikonversi ke integer yang menunjukkan unit CPU.  
Bidang ini wajib diisi dan Anda harus menggunakan salah satu nilai berikut, yang menentukan rentang nilai yang didukung untuk `memory` parameter. Tabel berikut menunjukkan kombinasi yang valid dari tingkat tugas CPU dan memori.      
[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/AmazonECS/latest/developerguide/task_definition_parameters.html)

`memory`  
Tipe: String  
Diperlukan: Ya  
Task-level Parameter CPU dan memori diperlukan dan digunakan untuk menentukan jenis dan ukuran instance yang dijalankan tugas. Untuk tugas Windows, nilai-nilai ini tidak diterapkan saat runtime, karena Windows tidak memiliki mekanisme asli yang dapat dengan mudah menerapkan batasan sumber daya kolektif pada sekelompok wadah. Jika Anda ingin menerapkan batasan sumber daya, sebaiknya gunakan sumber daya tingkat kontainer untuk wadah Windows.
Batas memori yang sulit untuk disajikan pada tugas. Anda dapat menentukan nilai memori dalam definisi tugas sebagai string dalam mebibytes (MiB) atau gigabytes (GB). Misalnya, Anda dapat menentukan nilai memori baik seperti `3072` di MiB atau `3 GB` dalam GB. Ketika ketentuan tugas terdaftar, nilai GB dikonversi ke integer menunjukkan MiB.  
Bidang ini wajib diisi dan Anda harus menggunakan salah satu nilai berikut, yang menentukan rentang nilai yang didukung untuk `cpu` parameter:      
[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/AmazonECS/latest/developerguide/task_definition_parameters.html)

## Definisi kontainer
<a name="container_definitions"></a>

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

**Topics**
+ [Parameter definisi wadah standar](#standard_container_definition_params)
+ [Parameter definisi wadah lanjutan](#advanced_container_definition_params)
+ [Parameter definisi wadah lainnya](#other_container_definition_params)

### Parameter definisi wadah standar
<a name="standard_container_definition_params"></a>

Parameter ketentuan tugas berikut diperlukan atau digunakan di sebagian besar ketentuan kontainer.

**Topics**
+ [Nama](#container_definition_name)
+ [Citra](#container_definition_image)
+ [Memori](#container_definition_memory)
+ [Pemetaan port](#container_definition_portmappings)
+ [Kredentif Repositori Pribadi](#container_definition_repositoryCredentials)

#### Nama
<a name="container_definition_name"></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 menghubungkan beberapa kontainer dalam definisi tugas, `name` satu wadah dapat dimasukkan ke dalam `links` wadah lain. Ini untuk menghubungkan wadah.

#### Citra
<a name="container_definition_image"></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 `{{repository-url}}/{{image}}:{{tag}}` atau`{{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 dipet `Image` akan ke dalam perintah docker create-container dan `IMAGE` parameter 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 ringkasan di jalur gambar dalam definisi tugas, agen kontainer Amazon ECS menggunakan `latest` tag untuk menarik gambar yang ditentukan. 
+  Pembaruan berikutnya ke gambar repositori tidak disebarkan ke tugas yang sudah berjalan.
+ Citra di registri privat didukung. Untuk informasi selengkapnya, lihat [Menggunakan non-AWS gambar 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 memenuhi Docker Hub 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` \| `disabled`  
Wajib: Tidak  
Menentukan apakah Amazon ECS akan menyelesaikan tag gambar kontainer yang disediakan dalam definisi wadah ke ringkasan gambar. Secara default, perilaku ini adalah`enabled`. Jika Anda menetapkan nilai untuk wadah sebagai`disabled`, Amazon ECS tidak akan menyelesaikan tag gambar kontainer ke ringkasan dan akan menggunakan URI gambar asli yang ditentukan dalam definisi wadah 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"></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 dipet `Memory` akan ke dalam perintah docker create-container dan `--memory` opsi untuk menjalankan docker.  
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 dengan menyediakan tugas sebanyak mungkin memori untuk jenis instans tertentu, lihat[Memesan memori instance 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 cobalah untuk menjaga memori wadah 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 berlaku) atau semua memori yang tersedia pada instance container, mana saja yang lebih dulu. Parameter ini dipet `MemoryReservation` akan ke dalam perintah docker create-container dan `--memory-reservation` opsi untuk menjalankan docker.  
Jika nilai memori tingkat tugas tidak ditentukan, Anda harus menentukan bilangan bulat bukan nol untuk 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 kontainer tempat wadah 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 wadah untuk hanya mencadangkan 128 MiB memori dari sumber daya yang tersisa pada instance kontainer. Pada saat yang sama, konfigurasi ini juga memungkinkan wadah untuk menggunakan lebih banyak sumber daya memori bila diperlukan.  
Parameter ini tidak didukung untuk wadah Windows.
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 dengan menyediakan tugas sebanyak mungkin memori untuk jenis instans tertentu, lihat[Memesan memori instance wadah Amazon ECS Linux](memory-management.md).

#### Pemetaan port
<a name="container_definition_portmappings"></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`. Sel `hostPort` alu diabaikan, dan port kontainer secara otomatis dipetakan ke port acak bernomor tinggi pada host.  
Pemetaan port pada Windows menggunakan alamat gateway `NetNAT` daripada `localhost`. Tidak ada loopback untuk pemetaan port di Windows, jadi Anda tidak dapat mengakses port yang dipetakan wadah dari host itu sendiri.   
Sebagian besar bidang parameter ini (termasuk`containerPort`,`hostPort`,`protocol`) dipetakan ke `PortBindings` dalam perintah thedocker create-container dan opsi untuk menjalankan docker. `--publish` Jika mode jaringan dari definisi tugas diatur ke`host`, port host harus tidak ditentukan 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. Sebaiknya atur parameter ini agar konsisten dengan protokol yang digunakan aplikasi Anda. Jika Anda menyetel parameter ini, Amazon ECS menambahkan penanganan koneksi khusus protokol ke proxy koneksi layanan. 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, saat `portMappings` digunakan  
Nomor port pada wadah yang terikat ke port host yang ditentukan pengguna atau ditetapkan secara otomatis.  
Untuk tugas yang menggunakan mode `awsvpc` jaringan, Anda gunakan `containerPort` untuk menentukan port yang terbuka.  
Untuk wadah Windows di Fargate, Anda tidak dapat menggunakan port 3150 untuk. `containerPort` Ini karena itu dicadangkan.  
`containerPortRange`  
Tipe: String  
Wajib: Tidak  
Rentang nomor port pada wadah yang terikat ke rentang port host yang dipetakan secara dinamis.   
Anda hanya dapat mengatur parameter ini dengan menggunakan `register-task-definition` API. Opsi ini tersedia di `portMappings` parameter. Untuk informasi selengkapnya, lihat [ register-task-definition ](https://docs.aws.amazon.com/cli/latest/reference/ecs/register-task-definition.html) di Referensi. *AWS Command Line Interface *  
Aturan berikut berlaku saat Anda menentukan`containerPortRange`:  
+ Anda harus menggunakan mode `awsvpc` jaringan.
+ Parameter ini tersedia untuk sistem operasi Linux dan Windows.
+ Instance kontainer 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 a`hostPortRange`. Nilai `hostPortRange` ditetapkan sebagai berikut:
  + Untuk wadah dalam tugas dengan mode `awsvpc` jaringan, `hostPort` diatur ke nilai yang sama dengan`containerPort`. Ini adalah strategi pemetaan statis.
+ Nilai `containerPortRange` yang 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 file konfigurasi Docker daemon ketika Anda memiliki sejumlah besar port. Docker-proxy 

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

  Untuk informasi tentang cara mematikan docker-proxy di file konfigurasi daemon, lihat Docker [Docker daemon ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html#bootstrap_docker_daemon) di Panduan Pengembang * Amazon ECS. *
Anda dapat memang [ DescribeTasks ](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) gil untuk melihat`hostPortRange`, yang merupakan port host yang terikat ke port kontainer.  
Rentang port tidak termasuk dalam acara tugas Amazon ECS, yang dikirim ke EventBridge. Untuk informasi selengkapnya, lihat [Mengotomatiskan respons 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 disampaikan oleh agen Amazon ECS.  
`hostPort`  
Tipe: Integer  
Wajib: Tidak  
Nomor port pada instans kontainer untuk menyimpan kontainer Anda.  
`hostPort`Dapat tetap kosong atau memiliki nilai yang sama dengan`containerPort`.  
Rentang port sementara 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 sementara.   
Port cadangan default adalah `22` untuk SSH, Docker port `2375` dan`2376`, dan port `51678-51680` agen kontainer Amazon ECS. Setiap port host 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. Instans kontainer mungkin memiliki hingga 100 port cadangan sekaligus, termasuk port cadangan default. Port yang ditetapkan secara otomatis tidak dihitung dalam kuota 100 port cadangan.  
`name`  
Tipe: String  
Diperlukan: 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 dari 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` (peka huruf besar/kecil). Nilai default-nya `tcp`. Amazon Amazon ECS memperlakukan nilai tertentu lainnya sebagai`tcp`.  
Hanya `tcp` didukung untuk Service Connect. Ingat `tcp` itu tersirat jika bidang ini tidak disetel. 
Jika Anda menentukan port host, gunakan sintaks berikut.  

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

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

#### Kredentif Repositori Pribadi
<a name="container_definition_repositoryCredentials"></a>

`repositoryCredentials`  
Tipe: Objek [RepositoryCredentials](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RepositoryCredentials.html)  
Wajib: Tidak  
KredenSIAL repositori untuk otentikasi registri pribadi.  
Untuk informasi selengkapnya, lihat [Menggunakan non-AWS gambar kontainer di Amazon ECS](private-auth.md).    
 `credentialsParameter`  
Tipe: String  
Diperlukan: Ya, saat `repositoryCredentials` digunakan  
Amazon Resource Name (ARN) dari rahasia yang berisi kredensial repositori privat.  
Untuk informasi selengkapnya, lihat [Menggunakan non-AWS gambar kontainer di Amazon ECS](private-auth.md).  
Saat Anda menggunakan Amazon ECS API, AWS CLI, atau AWS SDK, jika rahasia ada di Wilayah yang sama dengan tugas yang Anda luncurkan maka Anda dapat menggunakan ARN lengkap atau nama rahasia. Saat 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}}"
        }
    }
]
```

### Parameter definisi wadah lanjutan
<a name="advanced_container_definition_params"></a>

Parameter definisi kontainer lanjutan berikut menyediakan kemampuan tambahan untuk perintah Docker run yang digunakan untuk meluncurkan wadah pada instans kontainer Amazon ECS Anda.

**Topics**
+ [Kebijakan Mulai Ulang](#container_definition_restart_policy)
+ [Pemeriksaan kondisi](#container_definition_healthcheck)
+ [Lingkungan](#container_definition_environment)
+ [Pengaturan jaringan](#container_definition_network)
+ [Penyimpanan dan pencatatan log](#container_definition_storage)
+ [Keamanan](#container_definition_security)
+ [Batas sumber daya](#container_definition_limits)
+ [Label docker](#container_definition_labels)

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

`restartPolicy`  
Kebijakan restart kontainer dan parameter konfigurasi terkait. Saat Anda menyiapkan kebijakan restart untuk wadah, Amazon ECS dapat memulai ulang wadah tanpa perlu mengganti tugas. Untuk informasi selengkapnya, lihat [Mulai ulang wadah individu 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  
Jangka waktu (dalam detik) yang harus dijalankan wadah sebelum restart dapat dicoba. Sebuah wadah dapat dimulai ulang hanya sekali setiap `restartAttemptPeriod` detik. Jika wadah tidak dapat berjalan untuk periode waktu ini dan keluar lebih awal, itu tidak akan dimulai ulang. Anda dapat mengatur minimal `restartAttemptPeriod` 60 detik dan `restartAttemptPeriod` maksimum 1800 detik. Secara default, wadah harus berjalan selama 300 detik sebelum dapat dimulai ulang.

#### Pemeriksaan kondisi
<a name="container_definition_healthcheck"></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`  
Sebuah array string yang mewakili perintah yang dijalankan wadah untuk menentukan apakah itu sehat. Array string dapat dimulai `CMD` dengan menjalankan argumen perintah secara langsung, atau `CMD-SHELL` 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, AWS CLI, atau API, 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 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 memberikan waktu kontainer untuk melakukan bootstrap sebelum pemeriksaan kesehatan yang gagal dihitung dalam jumlah maksimum percobaan ulang. Anda dapat menentukan nilai antara 0 dan 300 detik. Secara default, din `startPeriod` onaktifkan.  
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"></a>

`cpu`  
Tipe: Integer  
Wajib: Tidak  
Jumlah `cpu` unit yang disediakan agen kontainer Amazon ECS untuk wadah tersebut. Di Linux, parameter ini di `CpuShares` petakan ke [ bagian ](https://docs.docker.com/reference/api/engine/latest/#operation/ContainerCreate) Buat wadah.  
Bidang ini opsional untuk tugas yang menggunakan Fargate. Jumlah total CPU yang dicadangkan untuk semua wadah yang ada dalam tugas harus lebih rendah dari nilai tingkat tugas`cpu`.  
Linuxkontainer berbagi unit CPU yang tidak terisi dengan wadah lain pada instance kontainer dengan rasio yang sama dengan jumlah yang dialokasikan. Misalnya, Anda menjalankan tugas wadah tunggal pada tipe instance single-core dengan 512 unit CPU yang ditentukan untuk wadah tersebut. Selain itu, tugas itu adalah satu-satunya tugas yang berjalan pada instance container. Dalam contoh ini, wadah dapat menggunakan 1.024 unit share 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 wadah dapat mengambang ke penggunaan CPU yang lebih tinggi. Namun, jika kedua tugas tersebut 100% aktif sepanjang waktu, mereka dibatasi hingga 512 unit CPU.  
Pada instance Linux kontainer, Docker daemon pada instance container menggunakan nilai CPU untuk menghitung rasio berbagi CPU relatif untuk menjalankan container. Nilai berbagi CPU valid minimum yang diizinkan oleh kernel Linux adalah 2, dan nilai berbagi 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 wadah Anda. Untuk nilai CPU di bawah dua (termasuk nol) dan di atas 262144, perilaku bervariasi berdasarkan versi agen kontainer Amazon ECS Anda:  
Pada instance Windows kontainer, kuota CPU diberlakukan sebagai kuota absolut. Windowskontainer hanya memiliki akses ke jumlah CPU yang ditentukan yang ditentukan dalam definisi tugas. Nilai CPU nol atau nol diteruskan ke Docker as`0`. Windowskemudian menafsirkan nilai ini sebagai 1% dari satu CPU.  
Untuk contoh selengkapnya, lihat [ Bagaimana Amazon ECS mengelola sumber daya ](https://aws.amazon.com/blogs/containers/how-amazon-ecs-manages-cpu-and-memory-resources/) CPU dan memori.

`gpu`  
Parameter ini tidak didukung untuk kontainer yang dihosting di Fargate.  
Tipe: Objek [ResourceRequirement](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ResourceRequirement.html)  
Wajib: Tidak  
Jumlah fisik `GPUs` yang disediakan oleh agen kontainer Amazon ECS untuk wadah. Jumlah GPU yang dicadangkan untuk semua kontainer dalam tugas tidak boleh melebihi jumlah GPU yang tersedia 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 kontainer yang dihosting di Fargate.  
Tipe: Objek [ResourceRequirement](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ResourceRequirement.html)  
Wajib: Tidak  
Untuk `InferenceAccelerator` tipe, `value` cocok dengan `deviceName` untuk yang `InferenceAccelerator` ditentukan dalam definisi tugas. Untuk informasi selengkapnya, lihat [Nama akselerator inferensi elastis (tidak digunakan lagi)](#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 wadah lainnya dalam 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 wadah. Kemudian, kelompokkan wadah yang digunakan untuk tujuan umum 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 memet `Cmd` akan ke dalam perintah create-container dan `COMMAND` parameter 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. Parameter ini memetakan ke `WorkingDir` di bagian [Membuat kontainer](https://docs.docker.com/reference/api/engine/latest/#operation/ContainerCreate) dari [API Jarak Jauh Docker](https://docs.docker.com/reference/api/engine/latest/) dan pilihan `--workdir` untuk [**docker run**](https://docs.docker.com/reference/cli/docker/container/run/).  

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

`environmentFiles`  
Ini tidak tersedia untuk wadah Windows di Fargate.  
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 individu 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 dipet `Env` akan ke dalam perintah docker create-container dan `--env` opsi 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 diekspos 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 dari parameter di Penyimpanan AWS Systems Manager Parameter.  
Jika parameter Penyimpanan Parameter Manajer Sistem atau parameter Manajer Rahasia ada 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}}"
    }
]
```

#### Pengaturan jaringan
<a name="container_definition_network"></a>

`disableNetworking`  
Parameter ini tidak didukung untuk tugas yang berjalan di Fargate.  
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 menggunakan mode `awsvpc` jaringan.  
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`. Konstruk `name:internalName` si ini analog dengan `name:alias` di Docker tautan. Hingga 255 huruf (huruf besar dan kecil), angka, tanda hubung, dan garis bawah diperbolehkan..  
Kontainer yang dikolokasikan 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`  
Tipe: String  
Wajib: Tidak  
Nama host yang digunakan untuk kontainer Anda. Parameter ini dipetakan ke `Hostname` dalam docker create-container dan `--hostname` opsi untuk menjalankan docker.  
Jika Anda menggunakan mode `awsvpc` jaringan, `hostname` parameter tidak didukung.

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

`dnsServers`  
Ini tidak didukung untuk tugas yang berjalan di Fargate.  
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 dipet `ExtraHosts` akan ke dalam perintah docker create-container dan `--add-host` opsi untuk menjalankan docker.  

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

#### Penyimpanan dan pencatatan log
<a name="container_definition_storage"></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 `--read-only` opsi untuk menjalankan docker.  
Parameter ini tidak didukung untuk kontainer Windows.
Nilai default-nya `false`.  

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

`mountPoints`  
Tipe: Array objek  
Wajib: Tidak  
Titik pemasangan untuk volume data dalam wadah Anda. Parameter ini dipet `Volumes` akan ke dalam Create-container Docker API dan `--volume` opsi untuk menjalankan docker.  
Kontainer Windows dapat memasang seluruh direktori pada drive yang sama dengan `$env:ProgramData`. Wadah 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, saat `mountPoints` digunakan  
Nama volume yang akan dipasang.  
`containerPath`  
Tipe: String  
Diperlukan: Ya, saat `mountPoints` digunakan  
Jalur di 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 nilai sebagai default. `false`

`volumesFrom`  
Tipe: Array objek  
Wajib: Tidak  
Volume data untuk memasang dari kontainer lain. Parameter ini dipet `VolumesFrom` akan ke dalam perintah docker create-container dan `--volumes-from` opsi untuk menjalankan docker.    
`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: Ob [ LogConfiguration ](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LogConfiguration.html) jek  
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 dipet `LogConfig` akan ke dalam perintah docker create-container dan `--log-driver` opsi untuk menjalankan docker. Secara default, kontainer menggunakan driver logging yang sama dengan yang digunakan Docker daemon. Namun, container 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 versi 1.18 atau yang lebih baru dari Docker Remote API pada instance kontainer Anda.
+ Anda harus menginstal perangkat lunak tambahan apa pun di luar tugas. Misalnya, agregator Fluentd keluaran atau host jarak jauh yang menjalankan Logstash untuk mengirim Gelf log ke.

```
"logConfiguration": {
      "logDriver": "awslogs","fluentd","gelf","json-file","journald","splunk","syslog","awsfirelens",
      "options": {"{{string}}": "{{string}}"
        ...},
	"secretOptions": [{
		"name": "{{string}}",
		"valueFrom": "{{string}}"
	}]
}
```  
`logDriver`  
Tipe: String  
Nilai yang valid: `"awslogs","fluentd","gelf","json-file","journald","splunk","syslog","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 kontainer 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 penggunaan driver log `awsfirelens`, lihat [Perutean Log Kustom](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html).  
Jika Anda memiliki driver khusus yang tidak terdaftar, Anda dapat melakukan fork proyek agen kontainer Amazon ECS yang [ tersedia GitHub ](https://github.com/aws/amazon-ecs-agent) dan menyesuaikannya agar berfungsi dengan driver tersebut. Kami mendorong Anda untuk mengirim permintaan tarik untuk perubahan yang ingin Anda sertakan. Namun, saat ini kami tidak mendukung menjalankan salinan modifikasi 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  
Peta key/value opsi konfigurasi untuk dikirim ke driver log.  
Opsi yang dapat Anda tentukan tergantung pada driver log. Beberapa opsi yang dapat Anda tentukan ketika Anda menggunakan `awslogs` router untuk merutekan log ke Amazon CloudWatch termasuk 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 ke mana driver `awslogs` log akan mengirim log Docker Anda. Anda dapat memilih untuk mengirim semua log Anda dari cluster 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 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 wadah, dan ID tugas Amazon ECS milik wadah tersebut. 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 berdasarkan ID container yang ditetapkan oleh daemon Docker pada instance container. Karena sulit untuk melacak log kembali ke wadah yang mengirimnya hanya dengan ID container Docker (yang hanya tersedia pada instance container), kami sarankan Anda menentukan awalan dengan opsi ini.  
Untuk layanan Amazon ECS, Anda dapat menggunakan nama layanan sebagai awalan. Dengan demikian, Anda dapat melacak aliran log ke layanan milik wadah, nama wadah yang mengirimnya, dan ID tugas yang dimiliki wadah tersebut.  
Anda harus menentukan awalan aliran untuk log 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. Baris 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 lebih lanjut, lihat [awslogs-datetime-format](https://docs.docker.com/engine/logging/drivers/awslogs/#awslogs-datetime-format).  
Anda tidak dapat mengonfigurasi `awslogs-multiline-pattern` opsi `awslogs-datetime-format` dan.  
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 awal multiline yang menggunakan ekspresi reguler. Pesan log terdiri dari baris yang cocok dengan pola dan baris berikut yang tidak cocok dengan pola. Baris yang cocok adalah pembatas antara pesan log.  
Untuk informasi selengkapnya, lihat [awslogs-multiline-pola](https://docs.docker.com/engine/logging/drivers/awslogs/#awslogs-multiline-pattern).  
Pilihan ini diabaikan jika `awslogs-datetime-format` juga dikonfigurasi.  
Anda tidak dapat mengonfigurasi `awslogs-multiline-pattern` opsi `awslogs-datetime-format` dan.  
Pencatatan multibaris melakukan penguraian dan pencocokan ekspresi reguler dari semua pesan log. Ini mungkin berdampak negatif pada performa pencatatan.
Opsi berikut berlaku untuk semua driver log yang didukung.    
`mode`  
Wajib: Tidak  
Nilai yang valid: `non-blocking` \| `blocking`  
Opsi ini mendefinisikan mode pengiriman pesan log dari wadah ke driver log yang ditentukan menggunakan`logDriver`. Mode pengiriman yang Anda pilih memengaruhi ketersediaan aplikasi ketika aliran log dari wadah terganggu.  
Jika Anda menggunakan `blocking` mode dan aliran log terganggu, panggilan dari kode kontainer untuk menulis ke `stderr` stream `stdout` dan akan diblokir. Akibatnya, thread logging aplikasi akan diblokir. Hal ini dapat menyebabkan aplikasi menjadi tidak responsif dan menyebabkan kegagalan pemeriksaan kesehatan wadah.   
Jika Anda menggunakan `non-blocking` mode, log wadah malah disimpan dalam buffer perantara dalam memori yang dikonfigurasi dengan `max-buffer-size` opsi tersebut. Ini mencegah aplikasi menjadi tidak responsif ketika log tidak dapat dikirim. Sebaiknya gunakan mode ini jika Anda ingin memastikan ketersediaan layanan dan tidak masalah dengan kehilangan log. Untuk informasi selengkapnya, lihat M [ encegah kehilangan log dengan mode non-pemblokiran di driver ](https://aws.amazon.com/blogs/containers/preventing-log-loss-with-non-blocking-mode-in-the-awslogs-container-log-driver/) log `awslogs` kontainer.  
Anda dapat mengatur default `mode` untuk semua kontainer dalam wadah tertentu Wilayah AWS dengan menggunakan pengaturan `defaultLogDriverMode` akun. Jika Anda tidak menentukan `mode` opsi di `logConfiguration` atau mengkonfigurasi pengaturan akun, Amazon ECS akan secara default ke `non-blocking` mode. Untuk informasi selengkapnya tentang pengaturan akun, lihat[Mode driver log default](ecs-account-settings.md#default-log-driver-mode).  
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. Jumlah total memori yang dialokasikan pada tingkat tugas harus lebih besar dari jumlah memori yang dialokasikan untuk semua wadah selain buffer memori driver log.  
Pada 25 Juni 2025, Amazon ECS mengubah mode driver log default dari `blocking` `non-blocking` ke untuk memprioritaskan ketersediaan tugas daripada logging. Untuk terus menggunakan `blocking` mode setelah perubahan ini, lakukan salah satu hal berikut:  
+ Tetapkan `mode` opsi dalam definisi wadah Anda `logConfiguration` sebagai`blocking`.
+ Atur pengaturan `defaultLogDriverMode` akun ke`blocking`.  
`max-buffer-size`  
Wajib: Tidak  
Nilai default: `10m`  
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 untuk penyimpanan log dan analitik, Anda dapat mengatur `log-driver-buffer-limit` opsi untuk membatasi jumlah baris log yang disangga dalam memori, sebelum dikirim ke wadah router log. Ini dapat membantu menyelesaikan potensi masalah kehilangan log karena throughput tinggi dapat mengakibatkan kehabisan memori untuk buffer di dalamnyaDocker. 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 mengekspor log ke Amazon Data Firehose, Anda dapat menentukan Wilayah AWS dengan `region` dan nama untuk aliran log dengan`delivery_stream`.  
Saat mengekspor log ke Amazon Kinesis Data Streams, Anda dapat menentukan Wilayah AWS dengan `region` dan nama aliran data dengan`stream`.  
 Saat mengekspor log ke Amazon OpenSearch Service, Anda dapat menentukan opsi seperti`Name`, `Host` (T OpenSearch itik akhir 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 `bucket` opsi. 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: Ob [ FirelensConfiguration ](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FirelensConfiguration.html) jek  
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  
Peta key/value 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`.

#### Keamanan
<a name="container_definition_security"></a>

Untuk informasi selengkapnya tentang keamanan kontainer, lihat praktik [ terbaik keamanan tugas dan wadah ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-tasks-containers.html) Amazon ECS.

`credentialSpecs`  
Tipe: Array string  
Wajib: Tidak  
Daftar ARN di SSM atau Amazon S3 ke file spesifikasi kredensia (`CredSpec`) yang mengonfigurasi wadah untuk otentikasi Active Directory. Kami menyarankan Anda menggunakan parameter ini alih-alih`dockerSecurityOptions`. Jumlah maksimum ARN adalah 1.  
Ada dua format untuk setiap ARN.    
KredensialSpecDomainless: myarn  
Anda gunakan `credentialspecdomainless:MyARN` untuk menyediakan `CredSpec` bagian tambahan untuk rahasia di Manajer Rahasia. Anda memberikan kredenSIAL login ke domain di rahasia.  
Setiap tugas yang berjalan pada instance kontainer apa pun dapat bergabung dengan domain yang berbeda.  
Anda dapat menggunakan format ini tanpa menggabungkan instance kontainer ke domain.  
Spesifikasi kredensial:MYARN  
Anda `credentialspec:MyARN` gunakan `CredSpec` untuk menyediakan domain tunggal.  
Anda harus menggabungkan instance kontainer ke domain sebelum memulai tugas apa pun yang menggunakan definisi tugas ini.
Dalam kedua format, ganti `MyARN` dengan ARN di SSM atau Amazon S3.  
`credspec`Harus memberikan ARN di Secrets Manager untuk rahasia yang berisi nama pengguna, kata sandi, dan domain untuk terhubung. Untuk keamanan yang lebih baik, instance tidak digabungkan ke domain untuk otentikasi tanpa domain. Aplikasi lain pada instance tidak dapat menggunakan kredensional tanpa domain. Anda dapat menggunakan parameter ini untuk menjalankan tugas pada instance yang sama, bahkan tugas perlu bergabung dengan domain yang berbeda. Untuk informasi selengkapnya, lihat [ Menggunakan GMSA untuk Wadah Windows ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) dan [ Menggunakan GMSA untuk Kontainer Linux. ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html)

`user`  
Tipe: String  
Wajib: Tidak  
Pengguna yang akan digunakan di dalam kontainer. Parameter ini dipet `User` akan ke dalam perintah docker create-container dan `--user` opsi untuk menjalankan docker.  
Saat menjalankan tugas yang menggunakan mode `host` jaringan, jangan jalankan wadah menggunakan pengguna root (UID 0). Sebagai praktik terbaik keamanan, selalu gunakan pengguna non-root.
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`
Parameter ini tidak didukung untuk kontainer Windows.

```
"user": "string"
```

#### Batas sumber daya
<a name="container_definition_limits"></a>

`ulimits`  
Tipe: Array objek  
Wajib: Tidak  
Daftar nilai `ulimit` yang harus ditentukan untuk kontainer. Nilai ini mengganti setelan kuota sumber daya default untuk sistem operasi. Parameter ini dipet `Ulimits` akan ke dalam perintah docker create-container dan `--ulimit` opsi untuk menjalankan docker.  
Tugas Amazon ECS yang dihosting di Fargate menggunakan nilai batas sumber daya default yang ditetapkan oleh sistem operasi dengan pengecualian parameter batas `nofile` sumber daya. Batas `nofile` sumber daya menetapkan batasan pada jumlah file terbuka yang dapat digunakan wadah. Di Fargate, batas `nofile` lunak default adalah ` 65535` dan batas keras adalah`65535`. Anda dapat mengatur nilai dari kedua batas hingga`1048576`. Untuk informasi selengkapnya, lihat [Batas sumber daya tugas](fargate-tasks-services.md#fargate-resource-limits).  
Parameter ini memerlukan Docker Remote API versi 1.18 atau lebih besar pada instans kontainer Anda.  
Parameter ini tidak didukung untuk kontainer Windows.

```
"ulimits": [
      {
        "name": "core"|"cpu"|"data"|"fsize"|"locks"|"memlock"|"msgqueue"|"nice"|"nofile"|"nproc"|"rss"|"rtprio"|"rttime"|"sigpending"|"stack",
        "softLimit": integer,
        "hardLimit": integer
      }
      ...
    ]
```  
`name`  
Tipe: String  
Nilai yang valid: `"core" | "cpu" | "data" | "fsize" | "locks" | "memlock" | "msgqueue" | "nice" | "nofile" | "nproc" | "rss" | "rtprio" | "rttime" | "sigpending" | "stack"`  
Diperlukan: Ya, saat `ulimits` digunakan  
`type` dari `ulimit`.  
`hardLimit`  
Jenis: Integer  
Diperlukan: Ya, saat `ulimits` digunakan  
Batas keras untuk tipe `ulimit`. Nilai dapat ditentukan dalam byte, detik, atau sebagai hitungan, tergantung pada `type``ulimit`.  
`softLimit`  
Jenis: Integer  
Diperlukan: Ya, saat `ulimits` digunakan  
Batas lunak untuk tipe `ulimit`. Nilai dapat ditentukan dalam byte, detik, atau sebagai hitungan, tergantung pada `type``ulimit`.

#### Label docker
<a name="container_definition_labels"></a>

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

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

### Parameter definisi wadah lainnya
<a name="other_container_definition_params"></a>

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

**Topics**
+ [Parameter Linux](#container_definition_linuxparameters)
+ [Dependensi kontainer](#container_definition_dependson)
+ [Waktu habis kontainer](#container_definition_timeout)
+ [Kontrol sistem](#container_definition_systemcontrols)
+ [Interaktif](#container_definition_interactive)
+ [Terminal semu](#container_definition_pseudoterminal)

#### Parameter Linux
<a name="container_definition_linuxparameters"></a>

`linuxParameters`  
Tipe: Objek [LinuxParameters](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LinuxParameters.html)  
Wajib: Tidak  
Linux-opsi spesifik yang diterapkan ke wadah, seperti [ KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html).  
Parameter ini tidak didukung untuk Windows kontainer.

```
"linuxParameters": {
      "capabilities": {
        "add": ["string", ...],
        "drop": ["string", ...]
        }
      }
```  
`capabilities`  
Tipe: Objek [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html)  
Wajib: Tidak  
Kem Linux ampuan untuk wadah yang dihapus dari konfigurasi default yang disediakan olehDocker. Untuk informasi selengkapnya tentang Linux kemampuan ini, lihat halaman manual kapabilitas (7) [ Linux. ](http://man7.org/linux/man-pages/man7/capabilities.7.html)    
`add`  
Tipe: Array string  
Nilai yang valid: `"SYS_PTRACE"`  
Wajib: Tidak  
Kem Linux ampuan wadah untuk ditambahkan ke konfigurasi default yang disediakan olehDocker. Parameter ini dipet `CapAdd` akan ke dalam perintah docker create-container dan `--cap-add` opsi untuk menjalankan docker.  
`drop`  
Tipe: Array string  
Nilai yang valid: `"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`  
Wajib: Tidak  
Kem Linux ampuan wadah untuk menghapus dari konfigurasi default yang disediakan olehDocker. Parameter ini dipet `CapDrop` akan ke dalam perintah docker create-container dan `--cap-drop` opsi untuk menjalankan docker.  
`devices`  
Perangkat host apa pun yang akan diekspos ke kontainer. Parameter ini dipet `Devices` akan ke dalam perintah docker create-container dan `--device` opsi untuk menjalankan Docker.  
`devices`Parameter tidak didukung saat Anda menggunakan jenis peluncuran Fargate.
Tipe: Array objek [Perangkat](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Device.html)  
Wajib: Tidak    
`hostPath`  
Jalur untuk perangkat pada instans kontainer host.  
Tipe: String  
Diperlukan: Ya  
`containerPath`  
Jalur di dalam wadah untuk mengekspos perangkat host di.  
Tipe: String  
Wajib: Tidak  
`permissions`  
Izin eksplisit untuk diberikan ke kontainer untuk perangkat. Secara default, kontainer memiliki izin untuk`read`, `write`, dan `mknod` pada perangkat.  
Tipe: Array string  
Nilai yang Valid: `read` \| `write` \| `mknod`  
`initProcessEnabled`  
Jalankan proses `init` di dalam kontainer yang meneruskan sinyal dan melakukan proses kembali. Parameter ini memetakan ke `--init` opsi untuk docker run.  
Parameter ini memerlukan API Docker Remote versi 1.25 atau lebih besar pada instans kontainer Anda.  
`maxSwap`  
Ini tidak didukung untuk tugas yang berjalan di Fargate.  
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 nil `maxSwap` ainya.  
Jika nilai `maxSwap` sebesar `0` ditentukan, kontainer tidak menggunakan swap. Nilai yang diterima adalah `0` atau bilangan bulat positif. Jika `maxSwap` parameter diabaikan, kontainer menggunakan konfigurasi swap untuk instans kontainer tempatnya berjalan. Nilai `maxSwap` harus ditetapkan untuk parameter `swappiness` yang akan digunakan.  
`sharedMemorySize`  
Nilai untuk ukuran (dalam MiB) volume `/dev/shm`. Parameter ini memetakan ke `--shm-size` opsi untuk docker run.  
Jika Anda menggunakan tugas yang menggunakan Fargate, `sharedMemorySize` parameter tidak didukung.
Jenis: Integer  
`tmpfs`  
Jalur kontainer, opsi pemasangan, dan ukuran maksimum (dalam MiB) tmpfs pemasangan. Parameter ini memetakan ke `--tmpfs` opsi untuk docker run.  
Tipe: Array objek [Tmpfs](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Tmpfs.html)  
Wajib: Tidak    
`containerPath`  
Jalur file absolut tempat tmpfs volume akan dipasang.  
Tipe: String  
Diperlukan: Ya  
`mountOptions`  
Daftar opsi pemasangan volume tmpfs.  
Tipe: Array string  
Wajib: Tidak  
Nilai yang Valid: `"defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol"`  
`size`  
Ukuran maksimum (dalam MiB) tmpfs volume.  
Jenis: Integer  
Wajib: Ya

#### Dependensi kontainer
<a name="container_definition_dependson"></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 wadah tidak memenuhi batasan ketergantungan atau batas waktu sebelum memenuhi batasan, Amazon ECS tidak memajukan wadah 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 tautan dan volume hari ini. Kondisi memvalidasi bahwa wadah dependen dimulai sebelum mengizinkan kontainer lain untuk memulai.
+ `COMPLETE`- Kondisi ini memvalidasi bahwa wadah 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 wadahnya sebelum mengizinkan wadah lain untuk memulai. Ini mengharuskan wadah dependen memiliki pemeriksaan kesehatan yang dikonfigurasi dalam definisi tugas. Syarat ini dikonfirmasi hanya pada memulai tugas.

#### Waktu habis kontainer
<a name="container_definition_timeout"></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 wadah tidak memenuhi batasan ketergantungan atau batas waktu sebelum memenuhi batasan, Amazon ECS tidak memajukan wadah dependen ke status berikutnya.
Parameter ini mengharuskan tugas atau layanan menggunakan versi platform `1.3.0` atau yang lebih baru (Linux). Nilai maksimum adalah 120 detik.

`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.  
Parameter ini mengharuskan tugas atau layanan menggunakan versi platform `1.3.0` atau yang lebih baru (Linux). Jika parameter tidak ditentukan, maka nilai default 30 detik digunakan. Nilai maksimum adalah 120 detik.

#### Kontrol sistem
<a name="container_definition_systemcontrols"></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 dipetakan ke `Sysctls` dalam perintah docker create-container dan `--sysctl` opsi untuk menjalankan docker. 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 wadah dalam satu tugas yang juga menggunakan mode `host` jaringan `awsvpc` atau. Melakukan hal ini memiliki kelemahan sebagai berikut:  
+ Jika Anda mengatur `systemControls` untuk wadah apa pun, itu berlaku untuk semua wadah dalam tugas. Jika Anda menyet `systemControls` el berbeda untuk beberapa wadah dalam satu tugas, wadah yang dimulai terakhir menentukan mana `systemControls` yang berlaku.
Jika Anda menyetel namespace sumber daya IPC untuk digunakan untuk wadah dalam tugas, kondisi berikut berlaku untuk kontrol sistem Anda. Untuk informasi selengkapnya, lihat [Mode IPC](#task_definition_ipcmode).  
+ Untuk tugas yang menggunakan mode `host` IPC, namespace IPC `systemControls` tidak didukung.
+ Untuk tugas yang menggunakan mode `task` IPC, `systemControls` nilai namespace IPC berlaku untuk semua wadah dalam tugas.
Parameter ini tidak didukung untuk kontainer Windows.
Parameter ini hanya didukung untuk tugas yang dihosting AWS Fargate jika tugas menggunakan versi platform `1.4.0` atau yang lebih baru (Linux). Ini tidak didukung untuk wadah Windows di Fargate.

```
"systemControls": [
    {
         "namespace":"{{string}}",
         "value":"{{string}}"
    }
]
```  
`namespace`  
Tipe: String  
Wajib: Tidak  
Parameter kernel namespace untuk menetapkan `value` untuk.  
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 ruang nama yang ada di dalam wadah `Sysctls` yang diterima.  
Semua nilai ini didukung oleh Fargate.  
`value`  
Tipe: String  
Wajib: Tidak  
Nilai untuk parameter kernel namespace yang ditentukan di`namespace`.

#### Interaktif
<a name="container_definition_interactive"></a>

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

#### Terminal semu
<a name="container_definition_pseudoterminal"></a>

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

## Nama akselerator inferensi elastis (tidak digunakan lagi)
<a name="elastic-Inference-accelerator"></a>

Persyaratan sumber daya akselerator inferensi elastis untuk definisi tugas Anda. 

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

Parameter berikut diizinkan dalam definisi tugas:

`deviceName`  
Tipe: String  
Diperlukan: Ya  
Nama perangkat akselerator Elastic Inference. Itu juga `deviceName` harus direferensikan dalam definisi wadah lihat[Elastic Inference accelerator](#ContainerDefinition-elastic-inference).

`deviceType`  
Tipe: String  
Diperlukan: Ya  
Akselerator Inferensi Elastis untuk digunakan.

## Konfigurasi proxy
<a name="proxyConfiguration"></a>

`proxyConfiguration`  
Tipe: Objek [ProxyConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ProxyConfiguration.html)  
Wajib: Tidak  
Detail konfigurasi untuk proxy App Mesh.  
Parameter ini tidak didukung untuk kontainer Windows.

```
"proxyConfiguration": {
    "type": "APPMESH",
    "containerName": "{{string}}",
    "properties": [
        {
           "name": "{{string}}",
           "value": "{{string}}"
        }
    ]
}
```  
`type`  
Tipe: String  
Nilai nilai: `APPMESH`  
Wajib: Tidak  
Tipe proxy. Satu-satunya nilai yang didukung adalah `APPMESH`.  
`containerName`  
Tipe: String  
Diperlukan: Ya  
Nama wadah yang berfungsi sebagai proxy App Mesh.  
`properties`  
Tipe: Array objek [KeyValuePair](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KeyValuePair.html)  
Wajib: Tidak  
Set parameter konfigurasi jaringan berfungsi untuk menyediakan plugin Container Network Interface (CNI), yang ditetapkan sebagai pasangan nilai kunci.  
+ `IgnoredUID`— (Diperlukan) ID pengguna (UID) dari wadah proxy seperti yang didefinisikan oleh `user` parameter dalam definisi wadah. Ini digunakan untuk memastikan bahwa proksi mengabaikan lalu lintasnya sendiri. Jika `IgnoredGID` ditentukan, bidang ini tidak boleh kosong.
+ `IgnoredGID`— (Diperlukan) ID grup (GID) dari wadah proxy seperti yang didefinisikan oleh `user` parameter dalam definisi wadah. Ini digunakan untuk memastikan bahwa proksi mengabaikan lalu lintasnya sendiri. Jika `IgnoredUID` ditentukan, bidang ini tidak boleh kosong.
+ `AppPorts`— (Wajib) Daftar port yang digunakan aplikasi. Lalu lintas jaringan ke port ini diteruskan ke `ProxyIngressPort` dan `ProxyEgressPort`.
+ `ProxyIngressPort`— (Wajib) Menentukan port tempat lalu lintas masuk diarahkan. `AppPorts`
+ `ProxyEgressPort`— (Wajib) Menentukan port tempat lalu lintas keluar diarahkan. `AppPorts`
+ `EgressIgnoredPorts`— (Wajib) Lalu lintas keluar menuju port yang ditentukan ini diabaikan dan tidak diarahkan ke`ProxyEgressPort`. Ia bisa berupa daftar kosong.
+ `EgressIgnoredIPs`— (Wajib) Lalu lintas keluar menuju alamat IP yang ditentukan ini diabaikan dan tidak diarahkan ke`ProxyEgressPort`. Ia bisa berupa daftar kosong.  
`name`  
Tipe: String  
Wajib: Tidak  
Nama pasangan nilai kunci.  
`value`  
Tipe: String  
Wajib: Tidak  
Nilai pasangan nilai kunci.

## volume
<a name="volumes"></a>

Saat Anda mendaftarkan definisi tugas, Anda dapat secara opsional menentukan daftar volume yang akan diteruskan ke Docker daemon pada instance kontainer, yang kemudian tersedia untuk diakses oleh kontainer lain pada instance kontainer yang sama.

Berikut ini adalah jenis volume data yang dapat digunakan:
+ Volume Amazon EBS — Menyediakan penyimpanan blok yang hemat biaya, tahan lama, dan berkinerja tinggi untuk beban kerja kontainer intensif data. Anda dapat melampirkan 1 volume Amazon EBS per tugas Amazon ECS saat menjalankan tugas mandiri, atau saat membuat atau memperbarui layanan. Volume Amazon EBS didukung untuk tugas Linux yang dihosting di Fargate. Untuk informasi selengkapnya, lihat [Gunakan volume Amazon EBS dengan Amazon ECS](ebs-volumes.md).
+ Volume Amazon EFS — Menyediakan penyimpanan file yang sederhana, dapat diskalakan, dan persisten untuk digunakan dengan tugas Amazon ECS Anda. Kapasitas penyimpanan Amazon EFS bersifat elastis. Hal ini bertumbuh dan menyusut secara otomatis seiring Anda menambahkan dan menghapus file. Aplikasi Anda dapat memiliki penyimpanan yang mereka butuhkan dan kapan pun mereka membutuhkannya. Volume Amazon EFS didukung untuk tugas yang dihosting di Fargate. Untuk informasi selengkapnya, lihat [Gunakan volume Amazon EFS dengan Amazon ECS](efs-volumes.md).
+ FSx untuk Windows File Server volume - Menyediakan server file Microsoft Windows yang dikelola sepenuhnya. Server file ini didukung oleh sistem file Windows. Saat menggunakan FSx untuk Windows File Server bersama dengan Amazon ECS, Anda dapat menyediakan tugas Windows Anda dengan penyimpanan file persisten, terdistribusi, bersama, dan statis. Untuk informasi selengkapnya, lihat [Gunakan FSx untuk volume Server File Windows dengan Amazon ECS](wfsx-volumes.md).

  Wadah Windows di Fargate tidak mendukung opsi ini.
+ Bind mount — File atau direktori pada mesin host yang dipasang ke dalam wadah. Volume host mount bind didukung saat menjalankan tugas. Untuk menggunakan bind mount host volume, tentukan `sourcePath` nilai `host` dan opsional dalam definisi tugas Anda.

Untuk informasi selengkapnya, lihat [Opsi penyimpanan untuk tugas Amazon ECS](using_data_volumes.md).

Parameter berikut diizinkan dalam ketentuan kontainer.

`name`  
Tipe: String  
Wajib: Tidak  
Nama volume. Hingga 255 huruf (huruf besar dan kecil), angka, tanda hubung (), dan garis bawah (`-`) diperbolehkan. `_` Nama ini direferensikan dalam `sourceVolume` parameter `mountPoints` objek definisi wadah.

`host`  
Wajib: Tidak  
`host`Parameter ini digunakan untuk mengikat siklus proses pemasangan bind ke instans host Amazon EC2, bukan tugas, dan tempat penyimpanan. Jika `host` parameter kosong, maka daemon Docker menetapkan jalur host untuk volume data Anda, tetapi data tidak dijamin akan bertahan setelah wadah yang terkait dengannya berhenti berjalan.  
Kontainer Windows dapat memasang seluruh direktori pada drive yang sama dengan `$env:ProgramData`.  
`sourcePath`Parameter ini hanya didukung saat menggunakan tugas yang dihosting di instans Amazon EC2 atau Instans Terkelola Amazon ECS.  
`sourcePath`  
Tipe: String  
Wajib: Tidak  
Saat `host` parameter digunakan, tentukan a `sourcePath` untuk mendeklarasikan jalur pada instans host Amazon EC2 yang disajikan ke wadah. Jika parameter ini kosong, daemon Docker akan menetapkan jalur host untuk Anda. Jika `host` parameter berisi lokasi `sourcePath` file, volume data tetap ada di lokasi yang ditentukan pada instans Amazon EC2 host sampai Anda menghapusnya secara manual. Jika `sourcePath` nilai tidak ada pada instans host Amazon EC2, daemon Docker membuatnya. Jika lokasinya memang ada, konten dari folder jalur sumber diekspor.

`configuredAtLaunch`  
Tipe: Boolean  
Wajib: Tidak  
Menentukan apakah volume dapat dikonfigurasi saat peluncuran. Saat diset `true` el ke, Anda dapat mengonfigurasi volume saat menjalankan tugas mandiri, atau saat membuat atau memperbarui layanan. Saat diset `true` el ke, Anda tidak akan dapat memberikan konfigurasi volume lain dalam definisi tugas. Parameter ini harus diatur untuk `true` mengonfigurasi volume Amazon EBS untuk lampiran pada tugas. Men `configuredAtLaunch` yet `true` el ke dan menunda konfigurasi volume ke fase peluncuran memungkinkan Anda membuat definisi tugas yang tidak dibatasi pada jenis volume atau pengaturan volume tertentu. Melakukan hal ini membuat definisi tugas Anda dapat digunakan kembali di lingkungan eksekusi yang berbeda. Untuk informasi selengkapnya, lihat volume [https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-volumes.html](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-volumes.html) Amazon EBS.

`dockerVolumeConfiguration`  
Jenis: Ob [ DockerVolumeConfiguration ](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DockerVolumeConfiguration.html) jek  
Wajib: Tidak  
Parameter ini ditentukan saat menggunakan volume Docker. Volume Docker hanya didukung saat menjalankan tugas pada instans EC2. Kontainer Windows hanya mendukung penggunaan driver `local`. Untuk menggunakan pemasangan mengikat, tentukan `host` saja.    
`scope`  
Tipe: String  
Nilai Valid: `task` \| `shared`  
Wajib: Tidak  
Ruang lingkup untuk volume Docker, yang menentukan siklus hidupnya. Volume Docker yang tercakup ke `task` secara otomatis disediakan saat tugas dimulai dan dihancurkan saat tugas berhenti. Volume Docker yang tercakup sebagai `shared` dipertahankan setelah tugas berhenti.  
`autoprovision`  
Jenis: Boolean  
Nilai default: `false`  
Wajib: Tidak  
Jika nilai ini`true`, volume Docker dibuat jika belum ada. Bidang ini hanya digunakan jika `scope` ada`shared`. Jika ya`task`, `scope` maka parameter ini harus dihilangkan.  
`driver`  
Tipe: String  
Wajib: Tidak  
Driver volume Docker yang digunakan. Nilai driver harus sesuai dengan nama driver yang disediakan oleh Docker karena nama ini digunakan untuk penempatan tugas. Jika driver diinstal dengan menggunakan plugin Docker CLI, gunakan `docker plugin ls` untuk mengambil nama driver dari instance container Anda. Jika driver diinstal dengan menggunakan metode lain, gunakan penemuan plugin Docker untuk mengambil nama driver.  
`driverOpts`  
Tipe: String  
Wajib: Tidak  
Peta opsi khusus driver Docker untuk dilewati. Parameter ini di `DriverOpts` petakan ke dalam bagian Buat volume Docker.  
`labels`  
Tipe: String  
Wajib: Tidak  
Metadata kustom untuk ditambahkan ke volume Docker.

`efsVolumeConfiguration`  
Jenis: Ob [ EFSVolumeConfiguration ](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_EFSVolumeConfiguration.html) jek  
Wajib: Tidak  
Parameter ini ditentukan saat menggunakan volume Amazon EFS.    
`fileSystemId`  
Tipe: String  
Diperlukan: Ya  
ID sistem file Amazon EFS yang akan digunakan.  
`rootDirectory`  
Tipe: String  
Wajib: Tidak  
Direktori dalam sistem file Amazon EFS untuk dipasang sebagai direktori root di dalam host. Jika parameter ini dihilangkan, root volume Amazon EFS akan digunakan. Menentukan `/` memiliki efek yang sama seperti mengabaikan parameter ini.  
Jika titik akses EFS ditentukan dalam`authorizationConfig`, parameter direktori root harus dihilangkan atau disetel ke`/`, yang akan menerapkan jalur yang ditetapkan pada titik akses EFS.  
`transitEncryption`  
Tipe: String  
Nilai yang valid: `ENABLED` \| `DISABLED`  
Wajib: Tidak  
Menentukan apakah akan mengaktifkan enkripsi untuk data Amazon EFS yang sedang transit antara host Amazon ECS dan server Amazon EFS. Jika otorisasi Amazon EFS IAM digunakan, enkripsi transit harus diaktifkan. Jika parameter ini diabaikan, nilai default `DISABLED` akan digunakan. Untuk informasi lebih lanjut, lihat [Pengenkripsian Data Saat Transit](https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) di *Panduan Pengguna Amazon Elastic File System*.  
`transitEncryptionPort`  
Tipe: Integer  
Wajib: Tidak  
Port yang akan digunakan saat mengirim data terenkripsi antara host Amazon ECS dan server Amazon EFS. Jika Anda tidak menentukan port enkripsi transit, tugas akan menggunakan strategi pemilihan port yang digunakan pembantu pemasangan Amazon EFS. Untuk informasi lebih lanjut, lihat [Pembantu Pemasangan EFS](https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) dalam *Panduan Pengguna Amazon Elastic File System*.  
`authorizationConfig`  
Jenis: Ob [ EFSAuthorizationConfig ](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_EFSAuthorizationConfig.html) jek  
Wajib: Tidak  
Detail konfigurasi otorisasi untuk sistem file Amazon EFS.    
`accessPointId`  
Tipe: String  
Wajib: Tidak  
ID titik akses yang akan digunakan. Jika titik akses ditentukan, nilai direktori root di dalam `efsVolumeConfiguration` harus dihilangkan atau disetel ke`/`, yang akan menerapkan jalur yang ditetapkan pada titik akses EFS. Jika titik akses digunakan, enkripsi transit harus diaktifkan di `EFSVolumeConfiguration`. Untuk informasi lebih lanjut, lihat [Bekerja dengan Titik Akses Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) dalam *Panduan Pengguna Amazon Elastic File System*.  
`iam`  
Tipe: String  
Nilai yang valid: `ENABLED` \| `DISABLED`  
Wajib: Tidak  
Menentukan apakah akan menggunakan peran IAM tugas Amazon ECS yang ditentukan dalam definisi tugas saat memasang sistem file Amazon EFS. Jika diaktifkan, enkripsi transit harus diaktifkan di `EFSVolumeConfiguration`. Jika Anda menghilangkan parameter ini, nilai default `DISABLED` akan digunakan. Untuk informasi selengkapnya, lihat [IAM Role pada Tugas](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html).

`FSxWindowsFileServerVolumeConfiguration`  
Jenis: Ob [ FSxWindowsFileServerVolumeConfiguration ](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html) jek  
Wajib: Ya  
Parameter ini ditentukan saat Anda menggunakan sistem file [ Amazon FSx untuk Windows ](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) File Server untuk penyimpanan tugas.    
`fileSystemId`  
Tipe: String  
Diperlukan: Ya  
ID sistem file FSx untuk Windows File Server untuk digunakan.  
`rootDirectory`  
Tipe: String  
Diperlukan: Ya  
Direktori dalam FSx untuk sistem file Server File Windows untuk dipasang sebagai direktori root di dalam host.  
`authorizationConfig`    
`credentialsParameter`  
Tipe: String  
Diperlukan: Ya  
Opsi kredensi otorisasi.  

**pilihan:**
+ Nama Sumber Daya Amazon (ARN) dari sebuah [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) rahasia.
+ ARN dari [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/integration-ps-secretsmanager.html) parameter.  
`domain`  
Tipe: String  
Diperlukan: Ya  
Nama domain yang memenuhi syarat yang dihosting oleh direktori [AWS Directory Service for Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) (AWS Managed Microsoft AD) atau Direktori Aktif EC2 yang di-host sendiri.

## Tanda
<a name="tags"></a>

Ketika mendaftarkan ketentuan tugas, Anda secara opsional dapat menentukan tanda metadata yang diterapkan ke ketentuan tugas. Tanda membantu mengategorikan dan mengatur ketentuan tugas Anda. Setiap tanda terdiri dari kunci dan nilai opsional. Anda mendefinisikan keduanya. Untuk informasi selengkapnya, lihat [Menandai sumber daya Amazon ECS](ecs-using-tags.md).

**penting**  
Jangan menambahkan informasi identitas pribadi atau informasi rahasia atau sensitif lainnya dalam tag. Tag dapat diakses oleh banyak AWS layanan, termasuk penagihan. Tag tidak dimaksudkan untuk digunakan untuk data pribadi atau sensitif.

Parameter berikut diperbolehkan dalam objek tanda.

`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).

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

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

**Topics**
+ [Penyimpanan sementara](#task_definition_ephemeralStorage)
+ [Mode IPC](#task_definition_ipcmode)
+ [Mode PID](#task_definition_pidmode)
+ [Injeksi kesalahan](#task_definition_faultInjection)

### Penyimpanan sementara
<a name="task_definition_ephemeralStorage"></a>

`ephemeralStorage`  
Tipe: Objek [EphemeralStorage](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_EphemeralStorage.html)  
Wajib: Tidak  
Jumlah penyimpanan sementara (dalam GB) yang dialokasikan untuk tugas tersebut. Parameter ini digunakan untuk memperluas jumlah total penyimpanan sementara yang tersedia, di luar jumlah default, untuk tugas yang dihosting. AWS Fargate Untuk informasi selengkapnya, lihat [Gunakan mount bind dengan Amazon ECS](bind-mounts.md).  
Parameter ini hanya didukung pada versi platform `1.4.0` atau yang lebih baru (Linux) `1.0.0` atau yang lebih baru (Windows).

### Mode IPC
<a name="task_definition_ipcmode"></a>

`ipcMode`  
Ini tidak didukung untuk tugas yang berjalan di Fargate.  
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 wadah yang berada dalam tugas yang menentukan mode `host` IPC pada instans kontainer yang sama berbagi sumber daya IPC yang sama dengan instans Amazon EC2 host. Jika `task` ditentukan, semua wadah 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 tergantung pada pengaturan daemon Docker pada instans kontainer.  
Jika mode `host` IPC digunakan, ada risiko tinggi paparan namespace IPC yang tidak diinginkan.  
Jika Anda menyetel parameter kernel spasi nama yang digunakan `systemControls` untuk wadah dalam tugas, berikut ini berlaku untuk namespace sumber daya IPC Anda.   
+ Untuk tugas yang menggunakan mode `host` IPC, namespace IPC yang terkait `systemControls` tidak didukung.
+ Untuk tugas yang menggunakan mode `task` IPC, `systemControls` yang berhubungan dengan namespace IPC berlaku untuk semua wadah dalam tugas.

**catatan**  
Parameter ini tidak didukung untuk wadah atau tugas Windows menggunakan jenis peluncuran Fargate.

### Mode PID
<a name="task_definition_pidmode"></a>

`pidMode`  
Tipe: String  
Nilai Valid: `host` \| `task`  
Wajib: Tidak  
Namspace proses yang akan digunakan untuk kontainer dalam tugas. Nilai yang valid adalah `host` atau `task`. Pada wadah Linux, satu-satunya nilai yang valid adalah`task`. Misalnya, pemantauan sidecar mungkin `pidMode` perlu mengakses informasi tentang wadah lain yang berjalan dalam tugas yang sama.  
Jika `task` ditentukan, semua kontainer dalam tugas tertentu berbagi namespace proses yang sama.  
Jika tidak ada nilai yang ditentukan, defaultnya adalah namespace pribadi untuk setiap wadah. 

**catatan**  
Parameter ini hanya didukung untuk tugas yang dihosting AWS Fargate jika tugas menggunakan versi platform `1.4.0` atau yang lebih baru (Linux). Ini tidak didukung untuk wadah Windows di Fargate.

### Injeksi kesalahan
<a name="task_definition_faultInjection"></a>

`enableFaultInjection`  
Jenis: Boolean  
Nilai Valid: `true` \| `false`  
Wajib: Tidak  
Jika parameter ini disetel ke`true`, dalam payload tugas, Amazon ECS dan Fargate menerima permintaan injeksi kesalahan dari wadah tugas. Secara default, parameter ini diatur ke`false`.