

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

# Instans Kontainer Amazon ECS EC2
<a name="ecs-agent-versions"></a>

Agen Amazon ECS adalah proses yang berjalan pada setiap instance container yang terdaftar di klaster Anda. Ini memfasilitasi komunikasi antara instans kontainer Anda dan Amazon ECS.

**catatan**  
Pada instance kontainer Linux, container agen memasang direktori tingkat atas seperti`/lib`,, dan. `/lib64` `/proc` Ini diperlukan untuk fitur dan fungsionalitas ECS seperti volume Amazon EBS, mode `awsvpc` jaringan, Amazon ECS Service Connect, dan FireLens untuk Amazon ECS.

Setiap versi agen penampung Amazon ECS mendukung set fitur yang berbeda dan menyediakan perbaikan bug dari versi sebelumnya. Jika memungkinkan, kami selalu menyarankan untuk menggunakan versi terbaru dari agen kontainer Amazon ECS. Untuk memperbarui agen kontainer ke versi terbaru, lihat [Memperbarui agen kontainer Amazon ECS](ecs-agent-update.md).

Agen kontainer Amazon ECS berisi `amazon-ecs-pause` gambar.Amazon ECS menggunakan gambar ini untuk tugas-tugas yang menggunakan mode jaringan. `awsvpc`

[Untuk melihat fitur dan penyempurnaan mana yang disertakan dengan setiap rilis agen, lihat https://github.com/aws/ amazon-ecs-agent /releases.](https://github.com/aws/amazon-ecs-agent/releases)

**penting**  
Versi Docker minimum untuk metrik yang andal adalah versi Docker `v20.10.13` dan yang lebih baru, yang disertakan dalam AMI yang dioptimalkan Amazon ECS dan yang lebih baru. `20220607`  
Versi agen Amazon ECS `1.20.0` dan yang lebih baru memiliki dukungan yang tidak digunakan lagi untuk versi Docker yang lebih lama dari. `18.01.0`

## Siklus hidup
<a name="container-lifecycle"></a>

Saat agen penampung Amazon ECS mendaftarkan instans Amazon EC2 ke klaster Anda, instans Amazon EC2 melaporkan statusnya `ACTIVE` sebagai dan status koneksi agennya sebagai. `TRUE` Instance container ini dapat menerima permintaan tugas run.

Jika Anda menghentikan (tidak menghentikan) instance kontainer, statusnya tetap ada`ACTIVE`, tetapi status koneksi agen bertransisi ke `FALSE` dalam beberapa menit. Tugas yang berjalan pada instans kontainer berhenti. Jika Anda memulai instance penampung lagi, agen penampung akan terhubung kembali dengan layanan Amazon ECS, dan Anda dapat menjalankan tugas pada instance lagi.

Jika Anda mengubah status instans kontainer ke `DRAINING`, maka tugas baru tidak ditempatkan pada instans kontainer. Tugas layanan yang berjalan pada instans kontainer akan dihapus jika memungkinkan, agar Anda dapat melakukan pembaruan sistem. Untuk informasi selengkapnya, lihat [Menguras instans kontainer Amazon ECS](container-instance-draining.md).

Jika Anda membatalkan pendaftaran atau mengakhiri instans kontainer, maka status instans kontainer seketika berubah menjadi `INACTIVE`, dan instans kontainer tidak lagi dilaporkan ketika Anda mencantumkan instans kontainer Anda. Namun, Anda tetap dapat menjelaskan instans kontainer selama satu jam setelah penghentian. Setelah satu jam, deskripsi instans tidak lagi tersedia.

Anda dapat menguras instance secara manual, atau membuat hook siklus hidup grup Auto Scaling untuk menyetel status instans. `DRAINING` Lihat kait siklus hidup [Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) untuk informasi selengkapnya tentang kait siklus hidup Auto Scaling.

## Support Docker
<a name="docker-support"></a>

Amazon ECS mendukung dua versi utama terakhir dari Docker yang diterbitkan di Amazon Linux. Saat ini, ini termasuk Docker 20.10.x dan Docker 25.x.

Versi Docker minimum yang diperlukan untuk Amazon ECS dapat ditemukan di file [spesifikasi Amazon ECS Agent](https://github.com/aws/amazon-ecs-agent/blob/dev/packaging/amazon-linux-ami-integrated/ecs-agent.spec#L53). GitHub

Saat menggunakan AMI Amazon ECS yang dioptimalkan, Docker sudah diinstal sebelumnya dan dikonfigurasi untuk bekerja dengan agen penampung Amazon ECS. AMI menyertakan versi Docker yang diuji dan didukung oleh Amazon ECS.

**catatan**  
Meskipun Amazon ECS mendukung beberapa versi Docker, sebaiknya gunakan versi Docker yang disertakan dengan AMI Amazon ECS yang dioptimalkan untuk kompatibilitas dan dukungan terbaik.

## AMI Amazon ECS yang dioptimalkan
<a name="ecs-optimized-ami"></a>

Untuk informasi selengkapnya tentang AMI Amazon ECS yang dioptimalkan, lihat Linux yang dioptimalkan [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html). AMIs

## Informasi tambahan
<a name="additional-information"></a>

Halaman-halaman berikut memberikan informasi tambahan tentang perubahan:
+ [Amazon ECS Agent changelog aktif](https://github.com/aws/amazon-ecs-agent/blob/master/CHANGELOG.md) GitHub
+ [Catatan rilis Amazon Linux 2](https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-al2.html).
+ [Catatan rilis Docker Engine](https://docs.docker.com/engine/release-notes/27/) dalam dokumentasi Docker
+ [Dokumentasi Driver NVIDIA](https://docs.nvidia.com/datacenter/tesla/index.html) dalam dokumentasi NVIDIA

# Konfigurasi agen kontainer Amazon ECS
<a name="ecs-agent-config"></a>

**Berlaku untuk**: instans EC2

Agen penampung Amazon ECS mendukung sejumlah opsi konfigurasi, yang sebagian besar Anda tetapkan melalui variabel lingkungan. 

Jika instance container Anda diluncurkan dengan varian Linux dari AMI Amazon ECS yang dioptimalkan, Anda dapat mengatur variabel lingkungan ini dalam `/etc/ecs/ecs.config` file dan kemudian memulai ulang agen. Anda juga dapat menulis variabel konfigurasi ini ke instans penampung Anda dengan data pengguna Amazon EC2 pada waktu peluncuran. Untuk informasi selengkapnya, lihat [Bootstrapping instance container Amazon ECS Linux untuk meneruskan data](bootstrap_container_instance.md).

Jika instance container Anda diluncurkan dengan varian Windows dari AMI Amazon ECS yang dioptimalkan, Anda dapat mengatur variabel lingkungan ini dengan PowerShell SetEnvironmentVariable perintah dan kemudian memulai ulang agen. Untuk informasi selengkapnya, lihat [Menjalankan perintah saat Anda meluncurkan instans EC2 dengan input data pengguna](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) di Panduan *Pengguna Amazon EC2* dan. [Bootstrapping instans penampung Amazon ECS Windows untuk meneruskan data](bootstrap_windows_container_instance.md)

Jika Anda secara manual memulai agen penampung Amazon ECS (untuk non-Amazon ECS yang dioptimalkan AMIs), Anda dapat menggunakan variabel lingkungan ini dalam **docker run** perintah yang Anda gunakan untuk memulai agen. Gunakan variabel ini dengan `--env=VARIABLE_NAME=VARIABLE_VALUE` sintaksis. Untuk informasi sensitif, seperti kredensial autentikasi untuk repositori privat, Anda harus menyimpan variabel lingkungan agen Anda dalam file dan melakukan semuanya pada satu waktu dengan opsi `--env-file path_to_env_file`. Anda dapat menggunakan perintah berikut untuk menambahkan variabel.

```
sudo systemctl stop ecs
sudo vi /etc/ecs/ecs.config 
# And add the environment variables with VARIABLE_NAME=VARIABLE_VALUE format.
sudo systemctl start ecs
```

## Jalankan agen Amazon ECS dengan namespace PID host
<a name="ecs-agent-pid-namespace"></a>

Secara default, agen Amazon ECS berjalan dengan namespace PID-nya sendiri. Dalam konfigurasi berikut, Anda dapat mengonfigurasi agen Amazon ECS agar berjalan dengan namespace PID host:
+ SELinux mode penegakan diaktifkan.
+ Kebijakan SELinux keamanan Docker disetel ke true.

Anda dapat mengonfigurasi perilaku ini dengan menyetel variabel `ECS_AGENT_PID_NAMESPACE_HOST` lingkungan ke `true` dalam `/etc/ecs/ecs.config` file Anda. Ketika variabel ini diaktifkan, `ecs-init` akan memulai wadah agen Amazon ECS dengan namespace PID host (`--pid=host`), memungkinkan agen untuk mem-bootstrap sendiri dengan benar di SELinux lingkungan -enforcing. Fitur ini tersedia dalam versi agen Amazon ECS `1.94.0` dan yang lebih baru.

Untuk mengaktifkan fitur ini, tambahkan baris berikut ke `/etc/ecs/ecs.config` file Anda:

```
ECS_AGENT_PID_NAMESPACE_HOST=true
```

Setelah melakukan perubahan ini, restart agen Amazon ECS agar perubahan diterapkan:

```
sudo systemctl restart ecs
```

Fitur berikut tidak akan berfungsi, mode SELinux penegakan diaktifkan dan kebijakan keamanan Docker disetel ke true, bahkan saat `ECS_AGENT_PID_NAMESPACE_HOST=true` disetel.
+ Amazon ECS Exec
+ Lampirkan tugas Amazon EBS
+ Service Connect
+ FireLensuntuk Amazon ECS

## Parameter yang tersedia
<a name="ecs-agent-availparam"></a>

Untuk informasi tentang parameter konfigurasi agen kontainer Amazon ECS yang tersedia, lihat Agen [Kontainer Amazon ECS](https://github.com/aws/amazon-ecs-agent/blob/master/README.md) di. GitHub

# Menyimpan konfigurasi instans penampung Amazon ECS di Amazon S3
<a name="ecs-config-s3"></a>

Konfigurasi agen kontainer Amazon ECS dikendalikan dengan variabel lingkungan. Varian Linux dari AMI yang dioptimalkan Amazon ECS mencari variabel-variabel ini `/etc/ecs/ecs.config` saat agen penampung memulai dan mengonfigurasi agen yang sesuai. Variabel lingkungan non-sensatif, seperti`ECS_CLUSTER`, dapat diteruskan ke instance container saat diluncurkan melalui data pengguna Amazon EC2 dan ditulis ke file ini tanpa konsekuensi. Namun, informasi sensitif lainnya, seperti AWS kredensyal Anda atau `ECS_ENGINE_AUTH_DATA` variabel, tidak boleh diteruskan ke instance dalam data pengguna atau ditulis dengan cara yang memungkinkan mereka muncul dalam file. `/etc/ecs/ecs.config` `.bash_history`

Menyimpan informasi konfigurasi dalam bucket pribadi di Amazon S3 dan memberikan akses hanya-baca ke peran IAM instance container Anda adalah cara yang aman dan nyaman untuk mengizinkan konfigurasi instance container saat diluncurkan. Anda dapat menyimpan salinan file `ecs.config` dalam bucket privat. Anda kemudian dapat menggunakan data pengguna Amazon EC2 untuk menginstal AWS CLI dan menyalin informasi konfigurasi Anda `/etc/ecs/ecs.config` saat instans diluncurkan.

**Untuk menyimpan `ecs.config` file di Amazon S3**

1. Anda harus memberikan izin container instance role (**ecsInstanceRole**) agar hanya dapat membaca akses ke Amazon S3. Anda dapat melakukan ini dengan menetapkan **AmazonS3 ReadOnlyAccess** ke peran tersebut. `ecsInstanceRole` Untuk informasi tentang cara melampirkan kebijakan ke peran, lihat [Memperbarui izin untuk peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-permissions.html) di *AWS Identity and Access Management Panduan Pengguna*

1. Buat `ecs.config` file dengan variabel konfigurasi agen Amazon ECS yang valid menggunakan format berikut. Contoh ini mengonfigurasi autentikasi registri privat. Untuk informasi selengkapnya, lihat [Menggunakan gambar AWS non-kontainer di Amazon ECS](private-auth.md).

   ```
   ECS_ENGINE_AUTH_TYPE=dockercfg
   ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"auth":"zq212MzEXAMPLE7o6T25Dk0i","email":"email@example.com"}}
   ```
**catatan**  
Untuk daftar lengkap variabel konfigurasi agen Amazon ECS yang tersedia, lihat Agen [Kontainer Amazon ECS](https://github.com/aws/amazon-ecs-agent/blob/master/README.md) di. GitHub

1. Untuk menyimpan file konfigurasi Anda, buat bucket pribadi di Amazon S3. Untuk informasi selengkapnya, lihat [Membuat bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*. 

1. Unggah file `ecs.config` ke bucket S3 Anda. Untuk informasi selengkapnya, lihat [Mengunggah objek](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) di *Panduan Pengguna Amazon Simple Storage Service*.

**Untuk memuat `ecs.config` file dari Amazon S3 saat peluncuran**

1. Selesaikan prosedur sebelumnya di bagian ini untuk mengizinkan akses Amazon S3 hanya-baca ke instans penampung Anda dan simpan `ecs.config` file di bucket S3 pribadi.

1. Luncurkan instance kontainer baru dan gunakan skrip contoh berikut dalam data Pengguna EC2. Skrip menginstal AWS CLI dan menyalin file konfigurasi Anda ke`/etc/ecs/ecs.config`. Untuk informasi selengkapnya, lihat [Meluncurkan instans penampung Amazon ECS Linux](launch_container_instance.md).

   ```
   #!/bin/bash
   yum install -y aws-cli
   aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config
   ```

# Memasang agen kontainer Amazon ECS
<a name="ecs-agent-install"></a>

Jika Anda ingin mendaftarkan instans Amazon EC2 dengan cluster Amazon ECS Anda dan instans tersebut tidak menggunakan AMI berdasarkan AMI yang dioptimalkan Amazon ECS, Anda dapat menginstal agen kontainer Amazon ECS secara manual menggunakan prosedur berikut. Untuk melakukan ini, Anda dapat mengunduh agen dari salah satu bucket Amazon S3 regional atau dari Amazon Elastic Container Registry Public. Jika Anda mengunduh dari salah satu bucket Amazon S3 regional, Anda dapat memverifikasi validitas file agen kontainer secara opsional menggunakan tanda tangan PGP.

**catatan**  
`systemd`Unit untuk layanan Amazon ECS dan Docker memiliki arahan untuk menunggu `cloud-init` hingga selesai sebelum memulai kedua layanan. `cloud-init`Proses ini tidak dianggap selesai sampai data pengguna Amazon EC2 Anda selesai berjalan. Oleh karena itu, memulai Amazon ECS atau Docker melalui data pengguna Amazon EC2 dapat menyebabkan kebuntuan. Untuk memulai agen kontainer menggunakan data pengguna Amazon EC2 yang dapat Anda gunakan. `systemctl enable --now --no-block ecs.service`

## Menginstal agen kontainer Amazon ECS pada instans Amazon Linux non-EC2
<a name="ecs-agent-install-nonamazonlinux"></a>

Untuk menginstal agen penampung Amazon ECS pada instans Amazon EC2, Anda dapat mengunduh agen dari salah satu bucket Amazon S3 regional dan menginstalnya.

**catatan**  
Saat menggunakan AMI Linux non-Amazon, instans Amazon EC2 Anda `cgroupfs` memerlukan dukungan untuk `cgroup` driver agar agen Amazon ECS mendukung batas sumber daya tingkat tugas. Untuk informasi selengkapnya, lihat [agen Amazon ECS di GitHub](https://github.com/aws/amazon-ecs-agent).

File agen kontainer Amazon ECS terbaru, menurut Wilayah, untuk setiap arsitektur sistem tercantum di bawah ini untuk referensi.


| Region | Nama wilayah | Amazon ECS init file deb | Amazon ECS memanas file rpm | 
| --- | --- | --- | --- | 
| us-east-2 | AS Timur (Ohio) |  [Amazon ECS panas amd64 (amd64)](https://s3.us-east-2.amazonaws.com/amazon-ecs-agent-us-east-2/amazon-ecs-init-latest.amd64.deb) [Amazon ECS panas arm64 (arm64](https://s3.us-east-2.amazonaws.com/amazon-ecs-agent-us-east-2/amazon-ecs-init-latest.arm64.deb))  |  [Amazon ECS init x86\$164 (x86\$164](https://s3.us-east-2.amazonaws.com/amazon-ecs-agent-us-east-2/amazon-ecs-init-latest.x86_64.rpm)) [Amazon ECS panas aarch64 (aarch64)](https://s3.us-east-2.amazonaws.com/amazon-ecs-agent-us-east-2/amazon-ecs-init-latest.aarch64.rpm)  | 
| us-east-1 | AS Timur (Virginia Utara) |  [Amazon ECS panas amd64 (amd64)](https://s3.us-east-1.amazonaws.com/amazon-ecs-agent-us-east-1/amazon-ecs-init-latest.amd64.deb) [Amazon ECS panas arm64 (arm64](https://s3.us-east-1.amazonaws.com/amazon-ecs-agent-us-east-1/amazon-ecs-init-latest.arm64.deb))  |  [Amazon ECS init x86\$164 (x86\$164](https://s3.us-east-1.amazonaws.com/amazon-ecs-agent-us-east-1/amazon-ecs-init-latest.x86_64.rpm)) [Amazon ECS panas aarch64 (aarch64)](https://s3.us-east-1.amazonaws.com/amazon-ecs-agent-us-east-1/amazon-ecs-init-latest.aarch64.rpm)  | 
| us-west-1 | AS Barat (California Utara) |  [Amazon ECS panas amd64 (amd64)](https://s3.us-west-1.amazonaws.com/amazon-ecs-agent-us-west-1/amazon-ecs-init-latest.amd64.deb) [Amazon ECS panas arm64 (arm64](https://s3.us-west-1.amazonaws.com/amazon-ecs-agent-us-west-1/amazon-ecs-init-latest.arm64.deb))  |  [Amazon ECS init x86\$164 (x86\$164](https://s3.us-west-1.amazonaws.com/amazon-ecs-agent-us-west-1/amazon-ecs-init-latest.x86_64.rpm)) [Amazon ECS panas aarch64 (aarch64)](https://s3.us-west-1.amazonaws.com/amazon-ecs-agent-us-west-1/amazon-ecs-init-latest.aarch64.rpm)  | 
| us-west-2 | AS Barat (Oregon) |  [Amazon ECS panas amd64 (amd64)](https://s3.us-west-2.amazonaws.com/amazon-ecs-agent-us-west-2/amazon-ecs-init-latest.amd64.deb) [Amazon ECS panas arm64 (arm64](https://s3.us-west-2.amazonaws.com/amazon-ecs-agent-us-west-2/amazon-ecs-init-latest.arm64.deb))  |  [Amazon ECS init x86\$164 (x86\$164](https://s3.us-west-2.amazonaws.com/amazon-ecs-agent-us-west-2/amazon-ecs-init-latest.x86_64.rpm)) [Amazon ECS panas aarch64 (aarch64)](https://s3.us-west-2.amazonaws.com/amazon-ecs-agent-us-west-2/amazon-ecs-init-latest.aarch64.rpm)  | 
| ap-east-1 | Asia Pasifik (Hong Kong) |  [Amazon ECS panas amd64 (amd64)](https://s3.ap-east-1.amazonaws.com/amazon-ecs-agent-ap-east-1/amazon-ecs-init-latest.amd64.deb) [Amazon ECS panas arm64 (arm64](https://s3.ap-east-1.amazonaws.com/amazon-ecs-agent-ap-east-1/amazon-ecs-init-latest.arm64.deb))  |  [Amazon ECS init x86\$164 (x86\$164](https://s3.ap-east-1.amazonaws.com/amazon-ecs-agent-ap-east-1/amazon-ecs-init-latest.x86_64.rpm)) [Amazon ECS panas aarch64 (aarch64)](https://s3.ap-east-1.amazonaws.com/amazon-ecs-agent-ap-east-1/amazon-ecs-init-latest.aarch64.rpm)  | 
| ap-northeast-1 | Asia Pasifik (Tokyo) |  [Amazon ECS panas amd64 (amd64)](https://s3.ap-northeast-1.amazonaws.com/amazon-ecs-agent-ap-northeast-1/amazon-ecs-init-latest.amd64.deb) [Amazon ECS panas arm64 (arm64](https://s3.ap-northeast-1.amazonaws.com/amazon-ecs-agent-ap-northeast-1/amazon-ecs-init-latest.arm64.deb))  |  [Amazon ECS init x86\$164 (x86\$164](https://s3.ap-northeast-1.amazonaws.com/amazon-ecs-agent-ap-northeast-1/amazon-ecs-init-latest.x86_64.rpm)) [Amazon ECS panas aarch64 (aarch64)](https://s3.ap-northeast-1.amazonaws.com/amazon-ecs-agent-ap-northeast-1/amazon-ecs-init-latest.aarch64.rpm)  | 
| ap-northeast-2 | Asia Pasifik (Seoul) |  [Amazon ECS panas amd64 (amd64)](https://s3.ap-northeast-2.amazonaws.com/amazon-ecs-agent-ap-northeast-2/amazon-ecs-init-latest.amd64.deb) [Amazon ECS panas arm64 (arm64](https://s3.ap-northeast-2.amazonaws.com/amazon-ecs-agent-ap-northeast-2/amazon-ecs-init-latest.arm64.deb))  |  [Amazon ECS init x86\$164 (x86\$164](https://s3.ap-northeast-2.amazonaws.com/amazon-ecs-agent-ap-northeast-2/amazon-ecs-init-latest.x86_64.rpm)) [Amazon ECS panas aarch64 (aarch64)](https://s3.ap-northeast-2.amazonaws.com/amazon-ecs-agent-ap-northeast-2/amazon-ecs-init-latest.aarch64.rpm)  | 
| ap-south-1 | Asia Pasifik (Mumbai) |  [Amazon ECS panas amd64 (amd64)](https://s3.ap-south-1.amazonaws.com/amazon-ecs-agent-ap-south-1/amazon-ecs-init-latest.amd64.deb) [Amazon ECS panas arm64 (arm64](https://s3.ap-south-1.amazonaws.com/amazon-ecs-agent-ap-south-1/amazon-ecs-init-latest.arm64.deb))  |  [Amazon ECS init x86\$164 (x86\$164](https://s3.ap-south-1.amazonaws.com/amazon-ecs-agent-ap-south-1/amazon-ecs-init-latest.x86_64.rpm)) [Amazon ECS panas aarch64 (aarch64)](https://s3.ap-south-1.amazonaws.com/amazon-ecs-agent-ap-south-1/amazon-ecs-init-latest.aarch64.rpm)  | 
| ap-southeast-1 | Asia Pasifik (Singapura) |  [Amazon ECS panas amd64 (amd64)](https://s3.ap-southeast-1.amazonaws.com/amazon-ecs-agent-ap-southeast-1/amazon-ecs-init-latest.amd64.deb) [Amazon ECS panas arm64 (arm64](https://s3.ap-southeast-1.amazonaws.com/amazon-ecs-agent-ap-southeast-1/amazon-ecs-init-latest.arm64.deb))  |  [Amazon ECS init x86\$164 (x86\$164](https://s3.ap-southeast-1.amazonaws.com/amazon-ecs-agent-ap-southeast-1/amazon-ecs-init-latest.x86_64.rpm)) [Amazon ECS panas aarch64 (aarch64)](https://s3.ap-southeast-1.amazonaws.com/amazon-ecs-agent-ap-southeast-1/amazon-ecs-init-latest.aarch64.rpm)  | 
| ap-southeast-2 | Asia Pasifik (Sydney) |  [Amazon ECS panas amd64 (amd64)](https://s3.ap-southeast-2.amazonaws.com/amazon-ecs-agent-ap-southeast-2/amazon-ecs-init-latest.amd64.deb) [Amazon ECS panas arm64 (arm64](https://s3.ap-southeast-2.amazonaws.com/amazon-ecs-agent-ap-southeast-2/amazon-ecs-init-latest.arm64.deb))  |  [Amazon ECS init x86\$164 (x86\$164](https://s3.ap-southeast-2.amazonaws.com/amazon-ecs-agent-ap-southeast-2/amazon-ecs-init-latest.x86_64.rpm)) [Amazon ECS panas aarch64 (aarch64)](https://s3.ap-southeast-2.amazonaws.com/amazon-ecs-agent-ap-southeast-2/amazon-ecs-init-latest.aarch64.rpm)  | 
| ca-central-1 | Kanada (Pusat) |  [Amazon ECS panas amd64 (amd64)](https://s3.ca-central-1.amazonaws.com/amazon-ecs-agent-ca-central-1/amazon-ecs-init-latest.amd64.deb) [Amazon ECS panas arm64 (arm64](https://s3.ca-central-1.amazonaws.com/amazon-ecs-agent-ca-central-1/amazon-ecs-init-latest.arm64.deb))  |  [Amazon ECS init x86\$164 (x86\$164](https://s3.ca-central-1.amazonaws.com/amazon-ecs-agent-ca-central-1/amazon-ecs-init-latest.x86_64.rpm)) [Amazon ECS panas aarch64 (aarch64)](https://s3.ca-central-1.amazonaws.com/amazon-ecs-agent-ca-central-1/amazon-ecs-init-latest.aarch64.rpm)  | 
| eu-central-1 | Eropa (Frankfurt) |  [Amazon ECS panas amd64 (amd64)](https://s3.eu-central-1.amazonaws.com/amazon-ecs-agent-eu-central-1/amazon-ecs-init-latest.amd64.deb) [Amazon ECS panas arm64 (arm64](https://s3.eu-central-1.amazonaws.com/amazon-ecs-agent-eu-central-1/amazon-ecs-init-latest.arm64.deb))  |  [Amazon ECS init x86\$164 (x86\$164](https://s3.eu-central-1.amazonaws.com/amazon-ecs-agent-eu-central-1/amazon-ecs-init-latest.x86_64.rpm)) [Amazon ECS panas aarch64 (aarch64)](https://s3.eu-central-1.amazonaws.com/amazon-ecs-agent-eu-central-1/amazon-ecs-init-latest.aarch64.rpm)  | 
| eu-west-1 | Eropa (Irlandia) |  [Amazon ECS panas amd64 (amd64)](https://s3.eu-west-1.amazonaws.com/amazon-ecs-agent-eu-west-1/amazon-ecs-init-latest.amd64.deb) [Amazon ECS panas arm64 (arm64](https://s3.eu-west-1.amazonaws.com/amazon-ecs-agent-eu-west-1/amazon-ecs-init-latest.arm64.deb))  |  [Amazon ECS init x86\$164 (x86\$164](https://s3.eu-west-1.amazonaws.com/amazon-ecs-agent-eu-west-1/amazon-ecs-init-latest.x86_64.rpm)) [Amazon ECS panas aarch64 (aarch64)](https://s3.eu-west-1.amazonaws.com/amazon-ecs-agent-eu-west-1/amazon-ecs-init-latest.aarch64.rpm)  | 
| eu-west-2 | Eropa (London) |  [Amazon ECS panas amd64 (amd64)](https://s3.eu-west-2.amazonaws.com/amazon-ecs-agent-eu-west-2/amazon-ecs-init-latest.amd64.deb) [Amazon ECS panas arm64 (arm64](https://s3.eu-west-2.amazonaws.com/amazon-ecs-agent-eu-west-2/amazon-ecs-init-latest.arm64.deb))  |  [Amazon ECS init x86\$164 (x86\$164](https://s3.eu-west-2.amazonaws.com/amazon-ecs-agent-eu-west-2/amazon-ecs-init-latest.x86_64.rpm)) [Amazon ECS panas aarch64 (aarch64)](https://s3.eu-west-2.amazonaws.com/amazon-ecs-agent-eu-west-2/amazon-ecs-init-latest.aarch64.rpm)  | 
| eu-west-3 | Eropa (Paris) |  [Amazon ECS panas amd64 (amd64)](https://s3.eu-west-3.amazonaws.com/amazon-ecs-agent-eu-west-3/amazon-ecs-init-latest.amd64.deb) [Amazon ECS panas arm64 (arm64](https://s3.eu-west-3.amazonaws.com/amazon-ecs-agent-eu-west-3/amazon-ecs-init-latest.arm64.deb))  |  [Amazon ECS init x86\$164 (x86\$164](https://s3.eu-west-3.amazonaws.com/amazon-ecs-agent-eu-west-3/amazon-ecs-init-latest.x86_64.rpm)) [Amazon ECS panas aarch64 (aarch64)](https://s3.eu-west-3.amazonaws.com/amazon-ecs-agent-eu-west-3/amazon-ecs-init-latest.aarch64.rpm)  | 
| sa-east-1 | Amerika Selatan (Sao Paulo) |  [Amazon ECS panas amd64 (amd64)](https://s3.sa-east-1.amazonaws.com/amazon-ecs-agent-sa-east-1/amazon-ecs-init-latest.amd64.deb) [Amazon ECS panas arm64 (arm64](https://s3.sa-east-1.amazonaws.com/amazon-ecs-agent-sa-east-1/amazon-ecs-init-latest.arm64.deb))  |  [Amazon ECS panas x86\$164](https://s3.sa-east-1.amazonaws.com/amazon-ecs-agent-sa-east-1/amazon-ecs-init-latest.x86_64.rpm) [Amazon ECS panas aarch64 (aarch64)](https://s3.sa-east-1.amazonaws.com/amazon-ecs-agent-sa-east-1/amazon-ecs-init-latest.aarch64.rpm)  | 
| us-gov-east-1 | AWS GovCloud (AS-Timur) |  [Amazon ECS panas amd64 (amd64)](https://s3.us-gov-east-1.amazonaws.com/amazon-ecs-agent-us-gov-east-1/amazon-ecs-init-latest.amd64.deb) [Amazon ECS panas arm64 (arm64](https://s3.us-gov-east-1.amazonaws.com/amazon-ecs-agent-us-gov-east-1/amazon-ecs-init-latest.arm64.deb))  |  [Amazon ECS init x86\$164 (x86\$164](https://s3.us-gov-east-1.amazonaws.com/amazon-ecs-agent-us-gov-east-1/amazon-ecs-init-latest.x86_64.rpm)) [Amazon ECS panas aarch64 (aarch64)](https://s3.us-gov-east-1.amazonaws.com/amazon-ecs-agent-us-gov-east-1/amazon-ecs-init-latest.aarch64.rpm)  | 
| us-gov-west-1 | AWS GovCloud (AS-Barat) |  [Amazon ECS panas amd64 (amd64)](https://s3.us-gov-west-1.amazonaws.com/amazon-ecs-agent-us-gov-west-1/amazon-ecs-init-latest.amd64.deb) [Amazon ECS init arm64 (arm64](https://s3.us-gov-west-1.amazonaws.com/amazon-ecs-agent-us-gov-west-1/amazon-ecs-init-latest.arm64.deb))  |  [Amazon ECS init x86\$164 (x86\$164](https://s3.us-gov-west-1.amazonaws.com/amazon-ecs-agent-us-gov-west-1/amazon-ecs-init-latest.x86_64.rpm)) [Amazon ECS panas aarch64 (aarch64)](https://s3.us-gov-west-1.amazonaws.com/amazon-ecs-agent-us-gov-west-1/amazon-ecs-init-latest.aarch64.rpm)  | 

**Untuk menginstal agen penampung Amazon ECS pada instans Amazon EC2 menggunakan non-AMI Amazon Linux**

1. Luncurkan instans Amazon EC2 dengan peran IAM yang memungkinkan akses ke Amazon ECS. Untuk informasi selengkapnya, lihat [Peran IAM instans kontainer Amazon ECS](instance_IAM_role.md).

1. Hubungkan ke instans Anda.

1. Instal versi terbaru Docker di instans Anda.

1. Periksa versi Docker Anda untuk memastikan bahwa sistem Anda memenuhi persyaratan versi minimum. Untuk informasi selengkapnya tentang dukungan Docker, lihat[Instans Kontainer Amazon ECS EC2](ecs-agent-versions.md).

   ```
   docker --version
   ```

1. Unduh file agen Amazon ECS yang sesuai untuk sistem operasi dan arsitektur sistem Anda dan instal.

   Untuk `deb` arsitektur:

   ```
   ubuntu:~$ curl -O https://s3.us-west-2.amazonaws.com/amazon-ecs-agent-us-west-2/amazon-ecs-init-latest.amd64.deb
   ubuntu:~$ sudo dpkg -i amazon-ecs-init-latest.amd64.deb
   ```

   Untuk `rpm` arsitektur:

   ```
   fedora:~$ curl -O https://s3.us-west-2.amazonaws.com/amazon-ecs-agent-us-west-2/amazon-ecs-init-latest.x86_64.rpm
   fedora:~$ sudo yum localinstall -y amazon-ecs-init-latest.x86_64.rpm
   ```

1. Edit `/lib/systemd/system/ecs.service` file dan tambahkan baris berikut di akhir `[Unit]` bagian.

   ```
   After=cloud-final.service
   ```

1. (Opsional) Untuk mendaftarkan instance dengan cluster selain `default` cluster, edit `/etc/ecs/ecs.config` file dan tambahkan konten berikut. Contoh berikut menentukan `MyCluster` cluster.

   ```
   ECS_CLUSTER=MyCluster
   ```

   Untuk informasi selengkapnya tentang opsi waktu aktif agen ini, lihat [Konfigurasi agen kontainer Amazon ECS](ecs-agent-config.md). 
**catatan**  
Anda dapat menyimpan variabel lingkungan agen secara opsional di Amazon S3 (yang dapat diunduh ke instans penampung Anda pada waktu peluncuran menggunakan data pengguna Amazon EC2). Hal ini dianjurkan untuk informasi sensitif seperti kredensial autentikasi untuk repositori privat. Untuk informasi selengkapnya, lihat [Menyimpan konfigurasi instans penampung Amazon ECS di Amazon S3](ecs-config-s3.md) dan [Menggunakan gambar AWS non-kontainer di Amazon ECS](private-auth.md).

1. Mulai layanan `ecs`.

   ```
   ubuntu:~$ sudo systemctl start ecs
   ```

## Menjalankan agen Amazon ECS dengan mode jaringan host
<a name="container_agent_host"></a>

Saat menjalankan agen penampung Amazon ECS, `ecs-init` akan membuat wadah agen kontainer dengan mode `host` jaringan. Ini adalah satu-satunya mode jaringan untuk kontainer agen kontainer. 

Ini memungkinkan Anda memblokir akses ke [titik akhir layanan metadata instans Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) (`http://169.254.169.254`) untuk kontainer yang dimulai oleh agen penampung. Ini memastikan bahwa kontainer tidak dapat mengakses kredensil peran IAM dari profil instance container dan memberlakukan bahwa tugas hanya menggunakan kredenal peran tugas IAM. Untuk informasi selengkapnya, lihat [Peran IAM tugas Amazon ECS](task-iam-roles.md).

Hal ini juga mengakibatkan agen kontainer tidak berebut lalu lintas koneksi dan jaringan di jembatan `docker0`.

## Parameter konfigurasi log agen kontainer Amazon ECS
<a name="agent-logs"></a>

Agen kontainer Amazon ECS menyimpan log pada instans kontainer Anda.

Untuk agen kontainer versi 1.36.0 dan yang lebih baru, secara default log terletak di `/var/log/ecs/ecs-agent.log` pada instans Linux dan di `C:\ProgramData\Amazon\ECS\log\ecs-agent.log` pada instans Windows.

Untuk agen kontainer versi 1.35.0 dan sebelumnya, secara default log terletak di `/var/log/ecs/ecs-agent.log.timestamp` pada instans Linux dan di `C:\ProgramData\Amazon\ECS\log\ecs-agent.log.timestamp` pada instans Windows.

Secara default, log agen diputar per jam dengan maksimum 24 log yang disimpan.

Berikut ini adalah variabel konfigurasi agen kontainer yang dapat digunakan untuk mengubah perilaku pencatatan agen default. Untuk informasi terperinci tentang semua parameter konfigurasi yang tersedia, lihat [Konfigurasi agen kontainer Amazon ECS](ecs-agent-config.md) atau [README Agen Amazon ECS](https://github.com/aws/amazon-ecs-agent/blob/master/README.md) aktif. GitHub

Untuk agen kontainer versi 1.36.0 dan yang lebih baru, berikut ini adalah contoh berkas log ketika format `logfmt` digunakan.

```
level=info time=2019-12-12T23:43:29Z msg="Loading configuration" module=agent.go
level=info time=2019-12-12T23:43:29Z msg="Image excluded from cleanup: amazon/amazon-ecs-agent:latest" module=parse.go
level=info time=2019-12-12T23:43:29Z msg="Image excluded from cleanup: amazon/amazon-ecs-pause:0.1.0" module=parse.go
level=info time=2019-12-12T23:43:29Z msg="Amazon ECS agent Version: 1.36.0, Commit: ca640387" module=agent.go
level=info time=2019-12-12T23:43:29Z msg="Creating root ecs cgroup: /ecs" module=init_linux.go
level=info time=2019-12-12T23:43:29Z msg="Creating cgroup /ecs" module=cgroup_controller_linux.go
level=info time=2019-12-12T23:43:29Z msg="Loading state!" module=statemanager.go
level=info time=2019-12-12T23:43:29Z msg="Event stream ContainerChange start listening..." module=eventstream.go
level=info time=2019-12-12T23:43:29Z msg="Restored cluster 'auto-robc'" module=agent.go
level=info time=2019-12-12T23:43:29Z msg="Restored from checkpoint file. I am running as 'arn:aws:ecs:us-west-2:0123456789:container-instance/auto-robc/3330a8a91d15464ea30662d5840164cd' in cluster 'auto-robc'" module=agent.go
```

Berikut ini contoh berkas log ketika format JSON digunakan.

```
{"time": "2019-11-07T22:52:02Z", "level": "info", "msg": "Starting Amazon Elastic Container Service Agent", "module": "engine.go"}
```

# Mengonfigurasi instans penampung Amazon ECS untuk gambar Docker pribadi
<a name="private-auth-container-instances"></a>

Agen kontainer Amazon ECS dapat mengautentikasi dengan pendaftar pribadi, menggunakan otentikasi dasar. Bila Anda mengaktifkan autentikasi registri privat, Anda dapat menggunakan citra Docker privat dalam ketentuan tugas Anda. Fitur ini hanya didukung oleh tugas menggunakan EC2.

Metode lain untuk mengaktifkan otentikasi registri pribadi digunakan AWS Secrets Manager untuk menyimpan kredensil registri pribadi Anda dengan aman dan kemudian mereferensikannya dalam definisi kontainer Anda. Hal ini mengizinkan tugas Anda untuk menggunakan citra dari repositori privat. Metode ini mendukung tugas menggunakan EC2 atau Fargate. Untuk informasi selengkapnya, lihat [Menggunakan gambar AWS non-kontainer di Amazon ECS](private-auth.md).

Agen kontainer Amazon ECS mencari dua variabel lingkungan saat diluncurkan:
+ `ECS_ENGINE_AUTH_TYPE`, yang menentukan tipe data autentikasi yang sedang dikirim.
+ `ECS_ENGINE_AUTH_DATA`, yang berisi kredensial autentikasi aktual.

Varian Linux dari AMI Amazon ECS yang dioptimalkan memindai `/etc/ecs/ecs.config` file untuk variabel-variabel ini ketika instance container diluncurkan, dan setiap kali layanan dimulai (dengan perintah). **sudo start ecs** AMIs yang tidak dioptimalkan Amazon ECS harus menyimpan variabel lingkungan ini dalam file dan meneruskannya dengan `--env-file path_to_env_file` opsi ke **docker run** perintah yang memulai agen penampung.

**penting**  
Kami tidak menyarankan Anda menyuntikkan variabel lingkungan otentikasi ini saat peluncuran instans dengan data pengguna Amazon EC2 atau meneruskannya dengan opsi `--env` ke perintah. **docker run** Metode ini tidak sesuai untuk data sensitif, seperti kredensial autentikasi. Untuk informasi tentang menambahkan kredensial autentikasi secara aman ke instans kontainer Anda, lihat [Menyimpan konfigurasi instans penampung Amazon ECS di Amazon S3](ecs-config-s3.md).

## Format autentikasi
<a name="docker-auth-formats"></a>

Ada dua format yang tersedia untuk autentikasi registri privat, `dockercfg` dan `docker`.

**Format autentikasi dockercfg**  
Format `dockercfg` menggunakan informasi autentikasi yang disimpan dalam file konfigurasi yang dibuat ketika Anda menjalankan perintah **docker login**. Anda dapat membuat file ini dengan menjalankan **docker login** di sistem lokal dan memasukkan nama pengguna registri, kata sandi, dan alamat email. Anda juga dapat masuk ke instans kontainer dan menjalankan perintah di sana. Tergantung pada versi Docker Anda, file ini disimpan sebagai `~/.dockercfg` atau `~/.docker/config.json`.

```
cat ~/.docker/config.json
```

Output:

```
{
  "auths": {
    "https://index.docker.io/v1/": {
      "auth": "zq212MzEXAMPLE7o6T25Dk0i"
    }
  }
}
```

**penting**  
Versi Docker yang lebih baru membuat file konfigurasi seperti yang ditunjukkan di atas dengan objek `auths`. Agen Amazon ECS hanya mendukung data `dockercfg` otentikasi yang dalam format di bawah ini, tanpa objek. `auths` Jika Anda memiliki utilitas **jq** yang terinstal, Anda dapat mengekstrak data ini dengan perintah berikut: **cat \$1/.docker/config.json \$1 jq .auths**

```
cat ~/.docker/config.json | jq .auths
```

Output:

```
{
  "https://index.docker.io/v1/": {
    "auth": "zq212MzEXAMPLE7o6T25Dk0i",
    "email": "email@example.com"
  }
}
```

Dalam contoh di atas, variabel lingkungan berikut harus ditambahkan ke file variabel lingkungan (`/etc/ecs/ecs.config`untuk AMI yang dioptimalkan Amazon ECS) yang dimuat agen kontainer Amazon ECS saat runtime. Jika Anda tidak menggunakan AMI Amazon ECS yang dioptimalkan dan Anda memulai agen secara manual**docker run**, tentukan file variabel lingkungan dengan `--env-file path_to_env_file` opsi saat Anda memulai agen.

```
ECS_ENGINE_AUTH_TYPE=dockercfg
ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"auth":"zq212MzEXAMPLE7o6T25Dk0i","email":"email@example.com"}}
```

Anda dapat mengonfigurasi beberapa registri privat dengan sintaksis berikut:

```
ECS_ENGINE_AUTH_TYPE=dockercfg
ECS_ENGINE_AUTH_DATA={"repo.example-01.com":{"auth":"zq212MzEXAMPLE7o6T25Dk0i","email":"email@example-01.com"},"repo.example-02.com":{"auth":"fQ172MzEXAMPLEoF7225DU0j","email":"email@example-02.com"}}
```

**Format autentikasi dockercfg**  
Format `docker` menggunakan representasi server registri JSON yang harus diautentikasi dengan agen. Hal ini juga mencakup parameter autentikasi yang diperlukan oleh registri tersebut (seperti nama pengguna, kata sandi, dan alamat email untuk akun tersebut). Untuk akun Docker Hub, representasi JSON terlihat seperti berikut ini:

```
{
  "https://index.docker.io/v1/": {
    "username": "my_name",
    "password": "my_password",
    "email": "email@example.com"
  }
}
```

Dalam contoh ini, variabel lingkungan berikut harus ditambahkan ke file variabel lingkungan (`/etc/ecs/ecs.config`untuk AMI yang dioptimalkan Amazon ECS) yang dimuat agen kontainer Amazon ECS saat runtime. Jika Anda tidak menggunakan AMI Amazon ECS yang dioptimalkan, dan Anda memulai agen secara manual**docker run**, tentukan file variabel lingkungan dengan `--env-file path_to_env_file` opsi saat Anda memulai agen.

```
ECS_ENGINE_AUTH_TYPE=docker
ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"username":"my_name","password":"my_password","email":"email@example.com"}}
```

Anda dapat mengonfigurasi beberapa registri privat dengan sintaksis berikut:

```
ECS_ENGINE_AUTH_TYPE=docker
ECS_ENGINE_AUTH_DATA={"repo.example-01.com":{"username":"my_name","password":"my_password","email":"email@example-01.com"},"repo.example-02.com":{"username":"another_name","password":"another_password","email":"email@example-02.com"}}
```

## Prosedur
<a name="enabling-private-registry"></a>

Gunakan prosedur berikut untuk mengaktifkan pendaftar pribadi untuk instance kontainer Anda.

**Untuk mengaktifkan pendaftar pribadi di AMI Amazon ECS yang dioptimalkan**

1. Masuk ke instans kontainer Anda menggunakan SSH.

1. Buka file `/etc/ecs/ecs.config` dan tambahkan nilai `ECS_ENGINE_AUTH_TYPE` dan `ECS_ENGINE_AUTH_DATA` untuk registri dan akun Anda:

   ```
   sudo vi /etc/ecs/ecs.config
   ```

   Contoh ini mengautentikasi akun pengguna Docker Hub:

   ```
   ECS_ENGINE_AUTH_TYPE=docker
   ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"username":"my_name","password":"my_password","email":"email@example.com"}}
   ```

1. Lakukan pemeriksaan untuk melihat apakah agen Anda menggunakan variabel lingkungan `ECS_DATADIR` untuk menyimpan statusnya:

   ```
   docker inspect ecs-agent | grep ECS_DATADIR
   ```

   Output:

   ```
   "ECS_DATADIR=/data",
   ```
**penting**  
Jika perintah sebelumnya tidak mengembalikan variabel lingkungan `ECS_DATADIR`, Anda harus menghentikan setiap tugas yang berjalan pada instans kontainer ini sebelum menghentikan agen. Agen yang lebih baru dengan variabel lingkungan `ECS_DATADIR` menyimpan statusnya dan Anda dapat menghentikannya saat tugas sedang berjalan tanpa masalah. Untuk informasi selengkapnya, lihat [Memperbarui agen kontainer Amazon ECS](ecs-agent-update.md).

1. Hentikan layanan `ecs`:

   ```
   sudo stop ecs
   ```

   Output:

   ```
   ecs stop/waiting
   ```

1. Mulai ulang layanan `ecs`.
   + Untuk Amazon ECS yang dioptimalkan Amazon Linux 2 AMI:

     ```
     sudo systemctl restart ecs
     ```
   + Untuk Amazon ECS yang dioptimalkan Amazon Linux AMI:

     ```
     sudo stop ecs && sudo start ecs
     ```

1. (Opsional) Anda dapat memastikan bahwa agen sedang berjalan dan melihat beberapa informasi tentang instans kontainer baru dengan melakukan kueri pada operasi API introspeksi agen. Untuk informasi selengkapnya, lihat [Introspeksi wadah Amazon ECS](ecs-agent-introspection.md).

   ```
   curl http://localhost:51678/v1/metadata
   ```

# Tugas Amazon ECS otomatis dan pembersihan gambar
<a name="automated_image_cleanup"></a>

Setiap kali tugas ditempatkan pada instance kontainer, agen penampung Amazon ECS memeriksa untuk melihat apakah gambar yang direferensikan dalam tugas adalah yang terbaru dari tag yang ditentukan dalam repositori. Jika tidak, perilaku default mengizinkan agen untuk menarik citra dari repositori masing-masing. Jika Anda sering memperbarui citra dalam tugas dan layanan Anda, penyimpanan instans kontainer dapat dengan cepat terisi citra Docker yang tidak lagi Anda gunakan dan mungkin tidak akan pernah digunakan kembali. Misalnya, Anda dapat menggunakan integrasi dan alur (CI/CD) deployment berkelanjutan.

**catatan**  
Perilaku tarik gambar agen Amazon ECS dapat disesuaikan menggunakan `ECS_IMAGE_PULL_BEHAVIOR` parameter. Untuk informasi selengkapnya, lihat [Konfigurasi agen kontainer Amazon ECS](ecs-agent-config.md).

Demikian juga, kontainer dengan tugas berhenti juga dapat memakan penyimpanan instans kontainer dengan informasi log, volume data, dan artefak lainnya. Artefak ini berguna untuk debugging kontainer yang telah berhenti tiba-tiba, tetapi sebagian besar penyimpanan ini dapat dengan aman dibersihkan setelah jangka waktu tertentu. 

Secara default, agen penampung Amazon ECS secara otomatis membersihkan tugas yang dihentikan dan gambar Docker yang tidak digunakan oleh tugas apa pun pada instance penampung Anda.

**catatan**  
Fitur pembersihan gambar otomatis memerlukan setidaknya versi 1.13.0 dari agen penampung Amazon ECS. Untuk memperbarui agen ke versi terbaru, lihat [Memperbarui agen kontainer Amazon ECS](ecs-agent-update.md).

Variabel konfigurasi agen berikut tersedia untuk menyetel tugas otomatis dan pengalaman pembersihan citra Anda. Untuk informasi lebih lanjut tentang cara mengatur variabel ini pada instans kontainer Anda, lihat [Konfigurasi agen kontainer Amazon ECS](ecs-agent-config.md).

`ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION`  
Waktu default untuk menunggu untuk menghapus kontainer untuk tugas yang dihentikan. Jika nilainya disetel ke kurang dari 1 detik, nilainya diabaikan. Secara default, parameter ini diatur ke 3 jam, tetapi Anda dapat mengurangi periode ini menjadi serendah 1 detik jika Anda perlu untuk aplikasi Anda.  
Proses pembersihan citra tidak dapat dilakukan selama ada kontainer yang mereferensikannya. Setelah kontainer dihapus, gambar yang tidak direferensikan menjadi kandidat untuk pembersihan berdasarkan parameter konfigurasi pembersihan gambar.

`ECS_DISABLE_IMAGE_CLEANUP`  
Jika Anda menyetel variabel ini`true`, maka pembersihan gambar otomatis dimatikan pada instance penampung Anda dan tidak ada gambar yang dihapus secara otomatis.

`ECS_IMAGE_CLEANUP_INTERVAL`  
Variabel ini menentukan seberapa sering proses pembersihan citra otomatis harus diperiksa untuk menghapus citra. Pengaturan defaultnya adalah setiap 30 menit tetapi Anda dapat mengurangi periode ini hingga 10 menit untuk lebih sering menghapus citra.

`ECS_IMAGE_MINIMUM_CLEANUP_AGE`  
Variabel ini menentukan jumlah minimum waktu antara ketika citra ditarik dan kapan citra tersebut akan dihapus. Hal ini digunakan agar citra yang baru saja ditarik tidak dihapus. Pengaturan default-nya adalah 1 jam.

`ECS_NUM_IMAGES_DELETE_PER_CYCLE`  
Variabel ini menentukan berapa banyak gambar yang dapat dihapus selama siklus pembersihan tunggal. Pengaturan default-nya adalah 5 dan nilai minimumnya adalah 1.

Saat agen penampung Amazon ECS berjalan dan pembersihan gambar otomatis tidak dimatikan, agen memeriksa gambar Docker yang tidak direferensikan dengan menjalankan atau menghentikan kontainer pada frekuensi yang ditentukan oleh variabel. `ECS_IMAGE_CLEANUP_INTERVAL` Jika citra yang tidak digunakan ditemukan dan citra tersebut lebih tua dari waktu pembersihan minimum yang ditentukan oleh variabel `ECS_IMAGE_MINIMUM_CLEANUP_AGE`, agen tersebut menghapus citra hingga jumlah maksimum yang ditentukan oleh variabel `ECS_NUM_IMAGES_DELETE_PER_CYCLE`. Citra yang paling sedikit direferensikan baru-baru ini akan dihapus terlebih dahulu. Setelah citra dihapus, agen menunggu sampai interval berikutnya dan mengulangi proses lagi.