Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menentukan Kondisi Tugas Amazon ECS Menggunakan Pemeriksaan Kondisi Kontainer
Saat Anda membuat definisi tugas, Anda dapat mengonfigurasi pemeriksaan kesehatan untuk wadah Anda. Pemeriksaan kesehatan adalah perintah yang berjalan secara lokal pada wadah dan memvalidasi kesehatan dan ketersediaan aplikasi.
Agen kontainer Amazon ECS hanya memantau dan melaporkan pemeriksaan kesehatan yang ditentukan dalam definisi tugas. Amazon ECS tidak memantau pemeriksaan kesehatan Docker yang disematkan dalam image wadah tetapi tidak ditentukan dalam definisi wadah. Parameter pemeriksaan kondisi yang ditentukan dalam ketentuan kontainer menimpa setiap pemeriksaan kondisi Docker yang ada di citra kontainer.
Ketika pemeriksaan kesehatan ditentukan dalam definisi tugas, wadah menjalankan proses pemeriksaan kesehatan di dalam wadah, dan kemudian mengevaluasi kode keluar untuk menentukan kesehatan aplikasi.
Pemeriksaan kesehatan terdiri dari parameter berikut:
-
Command — Perintah yang dijalankan wadah untuk menentukan apakah itu sehat. Array string dapat dimulai
CMDdengan menjalankan argumen perintah secara langsung, atauCMD-SHELLmenjalankan perintah dengan shell default container. GunakanCMD-SHELLsaat Anda membutuhkan fitur shell seperti pipa, pengalihan, rantai perintah, atau ekspansi variabel lingkungan. Misalnya,CMD-SHELLmemungkinkan Anda untuk menggunakan perintah seperticurl -f http://localhost/ || exit 1di mana shell menafsirkan||operator. GunakanCMDuntuk perintah sederhana yang tidak memerlukan interpretasi shell. -
Interval — Periode waktu (dalam detik) antara setiap pemeriksaan kesehatan.
-
Waktu tunggu — Periode waktu (dalam detik) untuk menunggu pemeriksaan kesehatan berhasil sebelum dianggap gagal.
-
Percobaan ulang — Jumlah kali untuk mencoba lagi pemeriksaan kesehatan yang gagal sebelum wadah dianggap tidak sehat.
-
Periode mulai — Masa tenggang opsional untuk memberikan waktu kontainer untuk melakukan bootstrap sebelum pemeriksaan kesehatan yang gagal dihitung dalam jumlah maksimum percobaan ulang.
Jika pemeriksaan kondisi berhasil dalam
startPeriod, maka kontainer dianggap sehat dan kegagalan berikutnya dihitung terhadap jumlah maksimum percobaan kembali.
Untuk informasi tentang cara menentukan pemeriksaan kesehatan dalam definisi tugas, lihatPemeriksaan kondisi.
Berikut ini menjelaskan kemungkinan nilai status kesehatan untuk wadah:
-
HEALTHY—Pemeriksaan kesehatan wadah telah berhasil lulus. -
UNHEALTHY—Pemeriksaan kesehatan wadah gagal. -
UNKNOWN—Pemeriksaan kesehatan wadah sedang dievaluasi, tidak ada pemeriksaan kesehatan kontainer yang ditentukan, atau Amazon ECS tidak memiliki status kesehatan wadah.
Perintah pemeriksaan kesehatan berjalan pada wadah. Oleh karena itu Anda harus menyertakan perintah dalam gambar wadah.
Pemeriksaan kesehatan terhubung ke aplikasi melalui antarmuka loopback wadah di localhost atau127.0.0.1. Kode keluar 0 menunjukkan keberhasilan, dan kode keluar bukan nol menunjukkan kegagalan.
Pertimbangkan hal berikut saat menggunakan pemeriksaan kesehatan wadah:
-
Pemeriksaan kondisi kontainer memerlukan versi 1.17.0 atau yang lebih baru dari agen kontainer Amazon ECS.
-
Pemeriksaan kesehatan kontainer didukung untuk tugas Fargate jika Anda menggunakan versi platform Linux
1.1.0atau yang lebih tinggi atau versi platform Windows1.1.0atau lebih tinggi
Bagaimana Amazon ECS menentukan kesehatan tugas
Kontainer yang penting dan memiliki perintah pemeriksaan kesehatan dalam definisi tugas adalah satu-satunya yang dipertimbangkan untuk menentukan kesehatan tugas.
Aturan berikut dievaluasi secara berurutan:
-
Jika status satu wadah penting adalah
UNHEALTHY, maka status tugasnya adalahUNHEALTHY. -
Jika status satu wadah penting adalah
UNKNOWN, maka status tugasnya adalahUNKNOWN. -
Jika status semua wadah penting adalah
HEALTHY, maka status tugasnya adalahHEALTHY.
Pertimbangkan contoh kesehatan tugas berikut dengan 2 wadah penting.
| Wadah 1 kesehatan | Wadah 2 kesehatan | Kesehatan tugas |
|---|---|---|
UNHEALTHY |
UNKNOWN |
UNHEALTHY |
UNHEALTHY |
HEALTHY |
UNHEALTHY |
HEALTHY |
UNKNOWN |
UNKNOWN |
HEALTHY |
HEALTHY |
HEALTHY |
Pertimbangkan contoh kesehatan tugas berikut dengan 3 wadah.
| Wadah 1 kesehatan | Wadah 2 kesehatan | Wadah 3 kesehatan | Kesehatan tugas |
|---|---|---|---|
UNHEALTHY |
UNKNOWN |
UNKNOWN |
UNHEALTHY |
UNHEALTHY |
UNKNOWN |
HEALTHY |
UNHEALTHY |
UNHEALTHY |
HEALTHY |
HEALTHY |
UNHEALTHY |
HEALTHY |
UNKNOWN |
HEALTHY |
UNKNOWN |
HEALTHY |
UNKNOWN |
UNKNOWN |
UNKNOWN |
HEALTHY |
HEALTHY |
HEALTHY |
HEALTHY |
Bagaimana pemeriksaan kesehatan dipengaruhi oleh pemutusan agen
Jika agen kontainer Amazon ECS terputus dari layanan Amazon ECS, ini tidak akan menyebabkan kontainer beralih ke status. UNHEALTHY Ini dirancang, untuk memastikan bahwa kontainer tetap berjalan selama agen restart atau tidak tersedianya sementara. Status pemeriksaan kesehatan adalah respons “terakhir terdengar dari” dari agen Amazon ECS, jadi jika wadah dipertimbangkan HEALTHY sebelum pemutusan, status itu akan tetap sampai agen terhubung kembali dan pemeriksaan kesehatan lainnya terjadi. Tidak ada asumsi yang dibuat tentang status pemeriksaan kesehatan kontainer.