

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

# Memperbarui agen kontainer Amazon ECS
<a name="ecs-agent-update"></a>

Terkadang, Anda mungkin perlu memperbarui agen penampung Amazon ECS untuk mengambil perbaikan bug dan fitur baru. Memperbarui agen penampung Amazon ECS tidak mengganggu tugas atau layanan yang sedang berjalan pada instance container. Proses untuk memperbarui agen berbeda tergantung pada apakah instans penampung Anda diluncurkan dengan AMI yang dioptimalkan Amazon ECS atau sistem operasi lain.

**catatan**  
Pembaruan agen tidak berlaku pada instans kontainer Windows. Kami menyarankan Anda agar meluncurkan instans kontainer baru untuk memperbarui versi agen di klaster Windows Anda.

## Memeriksa versi agen penampung Amazon ECS
<a name="checking_agent_version"></a>

Anda dapat memeriksa versi agen kontainer yang berjalan pada instans kontainer Anda untuk melihat apakah pembaruan diperlukan. Tampilan instance container di konsol Amazon ECS menyediakan versi agen. Gunakan prosedur berikut untuk memeriksa versi agen Anda.

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

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

1. Dari bilah navigasi, pilih Wilayah tempat instans eksternal Anda didaftarkan.

1. Di panel navigasi, pilih **Klaster**, kemudian pilih klaster yang meng-host instans eksternal.

1. Pada *name* halaman **Cluster:**, pilih tab **Infrastruktur**.

1. Di bawah **Instance Container**, perhatikan kolom **versi Agen** untuk instance kontainer Anda. Jika instans kontainer tidak memiliki versi instans kontainer terbaru, konsol akan memberi peringatan melalui pesan dan bendera bahwa versi agen kedaluwarsa.

   Jika versi agen Anda kedaluwarsa, Anda dapat memperbarui agen kontainer Anda dengan prosedur berikut:
   + Jika instance container Anda menjalankan AMI Amazon ECS yang dioptimalkan, lihat. [Memperbarui agen kontainer Amazon ECS pada AMI Amazon ECS yang dioptimalkan](agent-update-ecs-ami.md)
   + Jika instance container Anda tidak menjalankan AMI yang dioptimalkan Amazon ECS, lihat. [Memperbarui agen kontainer Amazon ECS secara manual (untuk non-Amazon ECS yang dioptimalkan) AMIs](manually_update_agent.md)
**penting**  
Untuk memperbarui versi agen Amazon ECS dari versi sebelum v1.0.0 pada AMI yang dioptimalkan Amazon ECS, sebaiknya hentikan instans penampung saat ini dan meluncurkan instans baru dengan versi AMI terbaru. Setiap instans kontainer yang menggunakan versi pratinjau harus pensiun dan diganti dengan AMI terbaru. Untuk informasi selengkapnya, lihat [Meluncurkan instans penampung Amazon ECS Linux](launch_container_instance.md).

------
#### [ Amazon ECS container agent introspection API  ]

Anda juga dapat menggunakan untuk memeriksa versi API introspeksi agen penampung Amazon ECS dari instance container itu sendiri. Untuk informasi selengkapnya, lihat [Introspeksi wadah Amazon ECS](ecs-agent-introspection.md).

**Untuk memeriksa apakah agen penampung Amazon ECS Anda menjalankan versi terbaru dengan API introspeksi**

1. Masuk ke instans kontainer Anda melalui SSH.

1. Kueri API introspeksi.

   ```
   [ec2-user ~]$ curl -s 127.0.0.1:51678/v1/metadata | python3 -mjson.tool
   ```
**catatan**  
API introspeksi menambahkan `Version` informasi dalam versi v1.0.0 dari agen penampung Amazon ECS. Jika `Version` tidak ada ketika sedang melakukan kueri API introspeksi, atau API introspeksi sama sekali tidak ada dalam agen Anda, maka versi yang Anda jalankan adalah v0.0.3 atau sebelumnya. Anda harus memperbarui versi Anda.

------

# Memperbarui agen kontainer Amazon ECS pada AMI Amazon ECS yang dioptimalkan
<a name="agent-update-ecs-ami"></a>

Jika Anda menggunakan AMI Amazon ECS yang dioptimalkan, Anda memiliki beberapa opsi untuk mendapatkan versi terbaru dari agen penampung Amazon ECS (ditampilkan dalam urutan rekomendasi):
+ Hentikan instans penampung dan luncurkan versi terbaru Amazon ECS Amazon Linux 2 AMI yang dioptimalkan Amazon (baik secara manual atau dengan memperbarui konfigurasi peluncuran Auto Scaling Anda dengan AMI terbaru). Ini menyediakan instance container baru dengan versi terbaru yang diuji dan divalidasi dariAmazon Linux, Docker`ecs-init`, dan agen penampung Amazon ECS. Untuk informasi selengkapnya, lihat [Linux Amazon ECS yang dioptimalkan AMIs](ecs-optimized_AMI.md).
+ Hubungkan ke instans dengan SSH dan perbarui paket `ecs-init` (dan dependensinya) ke versi terbaru. Operasi ini menyediakan versi Docker yang diuji dan divalidasi terbaru dan `ecs-init` yang tersedia di Amazon Linux repositori dan versi terbaru dari agen penampung Amazon ECS. Untuk informasi selengkapnya, lihat [Untuk memperbarui `ecs-init` paket pada AMI Amazon ECS yang dioptimalkan](#procedure_update_ecs-init).
+ Perbarui agen penampung dengan operasi `UpdateContainerAgent` API, baik melalui konsol atau dengan AWS CLI atau AWS SDKs. Untuk informasi selengkapnya, lihat [Memperbarui agen penampung Amazon ECS dengan operasi `UpdateContainerAgent` API](#agent-update-api).

**catatan**  
Pembaruan agen tidak berlaku pada instans kontainer Windows. Kami menyarankan Anda agar meluncurkan instans kontainer baru untuk memperbarui versi agen di klaster Windows Anda.<a name="procedure_update_ecs-init"></a>

**Untuk memperbarui `ecs-init` paket pada AMI Amazon ECS yang dioptimalkan**

1. Masuk ke instans kontainer Anda melalui SSH.

1. Perbarui paket `ecs-init` dengan perintah berikut.

   ```
   sudo yum update -y ecs-init
   ```
**catatan**  
`ecs-init`Paket dan agen kontainer Amazon ECS segera diperbarui. Namun, versi Docker yang lebih baru tidak dimuat sampai daemon Docker di mulai ulang. Pemulaian ulang dilakukan baik dengan booting ulang instans, atau dengan menjalankan perintah berikut pada instans Anda:  
AMI Amazon Linux 2 yang dioptimalkan untuk Amazon ECS:  

     ```
     sudo systemctl restart docker
     ```
AMI Amazon Linux yang dioptimalkan untuk Amazon ECS:  

     ```
     sudo service docker restart && sudo start ecs
     ```

## Memperbarui agen penampung Amazon ECS dengan operasi `UpdateContainerAgent` API
<a name="agent-update-api"></a>

**penting**  
`UpdateContainerAgent`API ini hanya didukung pada varian Linux dari AMI Amazon ECS yang dioptimalkan, dengan pengecualian AMI Amazon Linux 2 (arm64) Amazon ECS yang dioptimalkan Amazon. Untuk instance kontainer yang menggunakan AMI Amazon Linux 2 (arm64) Amazon ECS yang dioptimalkan Amazon, `ecs-init` perbarui paket untuk memperbarui agen. Untuk instans kontainer yang sedang menjalankan sistem operasi lain, lihat [Memperbarui agen kontainer Amazon ECS secara manual (untuk non-Amazon ECS yang dioptimalkan) AMIs](manually_update_agent.md). Jika Anda menggunakan instans kontainer Windows, Kami menyarankan Anda agar meluncurkan instans kontainer baru untuk memperbarui versi agen di klaster Windows Anda.

Proses `UpdateContainerAgent` API dimulai saat Anda meminta pembaruan agen, baik melalui konsol atau dengan AWS CLI atau AWS SDKs. Amazon ECS memeriksa versi agen Anda saat ini terhadap versi agen terbaru yang tersedia, dan jika pembaruan dimungkinkan. Jika pembaruan tidak tersedia, misalnya, jika agen sudah menjalankan versi terbaru, maka `NoUpdateAvailableException` dikembalikan.

Tahapan dalam proses pembaruan yang ditunjukkan di atas adalah sebagai berikut:

`PENDING`  
Pembaruan agen tersedia, dan proses pembaruan telah dimulai.

`STAGING`  
Agen telah mulai mengunduh pembaruan agen. Jika agen tidak dapat mengunduh pembaruan, atau jika isi pembaruan salah atau rusak, maka agen akan mengirimkan notifikasi kegagalan dan transisi pembaruan ke status `FAILED`.

`STAGED`  
Pengunduhan agen selesai dan isi agen telah diverifikasi.

`UPDATING`  
Layanan `ecs-init` dimulai ulang dan versi agen baru diambil. Jika agen karena alasan tertentu tidak dapat memulai ulang, pembaruan beralih ke `FAILED` status; jika tidak, agen memberi sinyal kepada Amazon ECS bahwa pembaruan telah selesai.

**catatan**  
Pembaruan agen tidak berlaku pada instans kontainer Windows. Kami menyarankan Anda agar meluncurkan instans kontainer baru untuk memperbarui versi agen di klaster Windows Anda.

**Untuk memperbarui agen penampung Amazon ECS pada AMI Amazon ECS yang dioptimalkan di konsol**

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

1. Dari bilah navigasi, pilih Wilayah tempat instans eksternal Anda didaftarkan.

1. Di panel navigasi, pilih **Klaster** dan pilih klaster.

1. Pada *name* halaman **Cluster:**, pilih tab **Infrastruktur**.

1. Di bawah **Instance Container**, pilih instance yang akan diperbarui, lalu pilih **Actions**, **Update** agent.

# Memperbarui agen kontainer Amazon ECS secara manual (untuk non-Amazon ECS yang dioptimalkan) AMIs
<a name="manually_update_agent"></a>

Terkadang, Anda mungkin perlu memperbarui agen penampung Amazon ECS untuk mengambil perbaikan bug dan fitur baru. Memperbarui agen penampung Amazon ECS tidak mengganggu tugas atau layanan yang sedang berjalan pada instance container.
**catatan**  
Pembaruan agen tidak berlaku pada instans kontainer Windows. Kami menyarankan Anda agar meluncurkan instans kontainer baru untuk memperbarui versi agen di klaster Windows Anda.

1. Masuk ke instans kontainer Anda melalui SSH.

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

   ```
   ubuntu:~$ docker inspect ecs-agent | grep ECS_DATADIR
   ```

   Output:

   ```
   "ECS_DATADIR=/data",
   ```
**penting**  
Jika perintah sebelumnya tidak mengembalikan variabel lingkungan `ECS_DATADIR`, Anda harus menghentikan tugas apa pun yang berjalan pada instans kontainer ini sebelum memperbarui agen Anda. Agen yang lebih baru dengan variabel lingkungan `ECS_DATADIR` menyimpan statusnya dan Anda dapat memperbaruinya saat tugas sedang berjalan tanpa masalah.

1. Hentikan agen kontainer Amazon ECS.

   ```
   ubuntu:~$ docker stop ecs-agent
   ```

1. Hapus kontainer agen.

   ```
   ubuntu:~$ docker rm ecs-agent
   ```

1. Pastikan `/etc/ecs` direktori dan file konfigurasi agen penampung Amazon ECS ada di`/etc/ecs/ecs.config`.

   ```
   ubuntu:~$ sudo mkdir -p /etc/ecs && sudo touch /etc/ecs/ecs.config
   ```

1. Edit file `/etc/ecs/ecs.config` dan pastikan bahwa file berisi setidaknya deklarasi variabel berikut. Jika Anda tidak ingin instans kontainer Anda untuk terdaftar dengan klaster default, tentukan nama klaster Anda sebagai nilai untuk `ECS_CLUSTER`.

   ```
   ECS_DATADIR=/data
   ECS_ENABLE_TASK_IAM_ROLE=true
   ECS_ENABLE_TASK_IAM_ROLE_NETWORK_HOST=true
   ECS_LOGFILE=/log/ecs-agent.log
   ECS_AVAILABLE_LOGGING_DRIVERS=["json-file","awslogs"]
   ECS_LOGLEVEL=info
   ECS_CLUSTER=default
   ```

   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. Tarik gambar agen kontainer Amazon ECS terbaru dari Amazon Elastic Container Registry Public.

   ```
   ubuntu:~$ docker pull public.ecr.aws/ecs/amazon-ecs-agent:latest
   ```

   Output:

   ```
   Pulling repository amazon/amazon-ecs-agent
   a5a56a5e13dc: Download complete
   511136ea3c5a: Download complete
   9950b5d678a1: Download complete
   c48ddcf21b63: Download complete
   Status: Image is up to date for amazon/amazon-ecs-agent:latest
   ```

1. Jalankan agen penampung Amazon ECS terbaru pada instance container Anda.
**catatan**  
Gunakan kebijakan mulai ulang Docker atau pengelola proses (seperti **upstart** atau **systemd**) untuk memperlakukan agen kontainer sebagai suatu layanan atau daemon dan pastikan mulai ulang dilakukan setelah keluar. AMI Amazon ECS yang dioptimalkan menggunakan `ecs-init` RPM untuk tujuan ini, dan Anda dapat melihat [kode sumber untuk RPM ini aktif](https://github.com/aws/amazon-ecs-init). GitHub 

   Contoh run command agen berikut dipecah menjadi baris terpisah agar setiap opsi dapat ditunjukkan. Untuk informasi selengkapnya tentang opsi waktu aktif agen ini, lihat [Konfigurasi agen kontainer Amazon ECS](ecs-agent-config.md).
**penting**  
Sistem operasi dengan SELinux diaktifkan memerlukan `--privileged` opsi dalam **docker run** perintah Anda. Selain itu, untuk instance kontainer yang SELinux diaktifkan, kami menyarankan Anda menambahkan `:Z` opsi ke pemasangan `/log` dan `/data` volume. Namun, pemasangan host untuk volume ini harus ada sebelum Anda menjalankan perintah atau Anda menerima kesalahan `no such file or directory`. Lakukan tindakan berikut jika Anda mengalami kesulitan menjalankan agen Amazon ECS pada instance container SELinux yang diaktifkan:  
Buat titik-titik pemasangan volume host pada instans kontainer Anda.  

     ```
     ubuntu:~$ sudo mkdir -p /var/log/ecs /var/lib/ecs/data
     ```
Tambahkan opsi `--privileged` pada perintah **docker run** di bawah ini.
Tambahkan opsi `:Z` pada pemasangan volume kontainer `/log` dan `/data` (misalnya, `--volume=/var/log/ecs/:/log:Z`) pada perintah **docker run** di bawah ini.

   ```
   ubuntu:~$ sudo docker run --name ecs-agent \
   --detach=true \
   --restart=on-failure:10 \
   --volume=/var/run:/var/run \
   --volume=/var/log/ecs/:/log \
   --volume=/var/lib/ecs/data:/data \
   --volume=/etc/ecs:/etc/ecs \
   --volume=/etc/ecs:/etc/ecs/pki \
   --net=host \
   --env-file=/etc/ecs/ecs.config \
   amazon/amazon-ecs-agent:latest
   ```
**catatan**  
Jika Anda menerima pesan `Error response from daemon: Cannot start container`, Anda dapat menghapus kontainer yang gagal dengan perintah **sudo docker rm ecs-agent** dan coba jalankan agen kembali. 