Завдання Визначення являє собою набір з 1 або більше контейнерів конфігурацій . Для деяких завдань може знадобитися лише один контейнер, в той час як для інших завдань може знадобитися 2 або більше потенційно пов'язаних контейнерів, що працюють одночасно. Визначення Завдання дозволяє вказати, який образ Docker використовувати, які порти експонувати, скільки процесора та пам'яті виділити, як збирати журнали та визначати змінні середовища.
Завдання створюється під час запуску завдання безпосередньо, який запускає контейнер (и) (визначається в визначенні завдань) , поки вони не будуть зупинені або вийти самостійно, в який момент вони не замінюють автоматично . Запуск завдань безпосередньо ідеально підходить для коротких завдань, можливо, як приклад речей, які були виконані за допомогою CRON.
Служба використовується для гарантії того, що у вас завжди є деяка кількість завдань , які працюють в будь-який час . Якщо контейнер Завдання виходить із-за помилки або базовий екземпляр EC2 виходить з ладу і замінюється, служба ECS замінить невдалу завдання. Ось чому ми створюємо кластери, щоб Сервіс мав достатньо ресурсів з точки зору портів процесора, пам'яті та мережі. Для нас не важливо, на якому екземплярі Завдання виконуються так довго, як вони виконуються. Конфігурація служби посилається на визначення завдання. Служба несе відповідальність за створення завдань .
Сервіси, як правило, використовуються для довго працюючих додатків, таких як веб-сервери. Наприклад, якби я розмістив свій веб-сайт, що працює на Node.JS, в штаті Орегон (us-west-2), я б хотів сказати щонайменше три завдання, що виконуються через три зони доступності (AZ) заради високої доступності; якщо один не вдається, у мене є ще два, а невдалий буде замінений (читайте це як самолікування !). Створення сервісу - це спосіб це зробити. Якщо в моєму кластері було 6 екземплярів EC2, 2 на AZ, Сервіс автоматично врівноважує Завдання по зонам якнайкраще, а також враховує процесор, пам'ять та мережеві ресурси.
ОНОВЛЕННЯ:
Я не впевнений, що це допомагає думати про ці речі ієрархічно.
Іншим дуже важливим моментом є те, що Служба може бути налаштована на використання балансира завантаження, щоб при створенні завдань - тобто запускав контейнери, визначені у визначенні завдання - служба автоматично зареєструвала екземпляр EC2 контейнера за допомогою балансира навантаження. Завдання не можуть бути налаштовані на використання балансира навантаження, лише Служби можуть.