Sebuah Tugas Definisi adalah kumpulan dari 1 atau lebih wadah konfigurasi . Beberapa Tasks mungkin hanya memerlukan satu kontainer, sementara Tasks lain mungkin membutuhkan 2 atau lebih kontainer yang berpotensi ditautkan secara bersamaan. Definisi Task memungkinkan Anda menentukan image Docker mana yang akan digunakan, port mana yang akan diekspos, berapa banyak CPU dan memori yang dialokasikan, cara mengumpulkan log, dan menentukan variabel lingkungan.
Sebuah Tugas dibuat ketika Anda menjalankan Task langsung, yang meluncurkan kontainer (s) (didefinisikan dalam definisi tugas) sampai mereka berhenti atau keluar pada mereka sendiri, di mana titik mereka tidak diganti secara otomatis . Menjalankan Tugas secara langsung sangat ideal untuk pekerjaan jangka pendek, mungkin sebagai contoh hal-hal yang diselesaikan melalui CRON.
Sebuah layanan yang digunakan untuk jaminan bahwa Anda selalu memiliki beberapa jumlah Tugas berjalan setiap saat . Jika penampung Tugas keluar karena kesalahan, atau instans EC2 yang mendasarinya gagal dan diganti, Layanan ECS akan menggantikan Tugas yang gagal. Inilah sebabnya kami membuat Cluster sehingga Layanan memiliki banyak sumber daya dalam hal CPU, Memori, dan port Jaringan untuk digunakan. Bagi kami, tidak masalah instance Tasks mana yang berjalan selama dijalankan. Konfigurasi Layanan merujuk pada definisi Tugas. Sebuah Layanan bertanggung jawab untuk membuat Tugas .
Layanan biasanya digunakan untuk aplikasi yang berjalan lama seperti server web. Misalnya, jika saya menerapkan situs web saya yang didukung oleh Node.JS di Oregon (us-west-2), saya ingin mengatakan setidaknya tiga Tugas yang berjalan di tiga Availability Zone (AZ) demi Ketersediaan Tinggi; jika salah satu gagal saya memiliki dua lagi dan yang gagal akan diganti (baca itu sebagai penyembuhan diri !). Membuat Layanan adalah cara untuk melakukan ini. Jika saya memiliki 6 instans EC2 di kluster saya, 2 per AZ, Layanan akan secara otomatis menyeimbangkan Tugas lintas zona sebaik mungkin sambil juga mempertimbangkan cpu, memori, dan sumber daya jaringan.
MEMPERBARUI:
Saya tidak yakin akan membantu jika memikirkan hal-hal ini secara hierarkis.
Hal lain yang sangat penting adalah bahwa Layanan dapat dikonfigurasi untuk menggunakan penyeimbang beban, sehingga saat ia membuat Tugas — yaitu meluncurkan kontainer yang ditentukan dalam Definisi Tugas — Layanan akan secara otomatis mendaftarkan instans EC2 penampung dengan penyeimbang beban. Tugas tidak dapat dikonfigurasi untuk menggunakan penyeimbang beban, hanya Layanan yang bisa.