Một nhiệm vụ Definition là một bộ sưu tập của 1 hoặc nhiều thùng chứa cấu hình . Một số Công việc có thể chỉ cần một vùng chứa, trong khi các Công việc khác có thể cần 2 hoặc nhiều vùng chứa được liên kết tiềm năng chạy đồng thời. Định nghĩa Tác vụ cho phép bạn chỉ định hình ảnh Docker nào sẽ sử dụng, cổng nào để hiển thị, phân bổ bao nhiêu CPU và bộ nhớ, cách thu thập nhật ký và xác định các biến môi trường.
Một Tác vụ được tạo khi bạn chạy một Tác vụ trực tiếp, khởi chạy (các) vùng chứa (được xác định trong định nghĩa tác vụ) cho đến khi chúng bị dừng hoặc tự thoát ra, tại thời điểm đó, chúng không được thay thế tự động . Chạy Công việc trực tiếp là lý tưởng cho các công việc đang chạy ngắn, có lẽ là ví dụ về những việc đã được thực hiện thông qua CRON.
Một dịch vụ được sử dụng để đảm bảo rằng bạn luôn có một số số Nhiệm vụ chạy bất cứ lúc nào . Nếu vùng chứa của Tác vụ thoát ra do lỗi hoặc phiên bản EC2 bên dưới bị lỗi và được thay thế, Dịch vụ ECS sẽ thay thế Tác vụ bị lỗi. Đây là lý do tại sao chúng tôi tạo Cluster để Dịch vụ có nhiều tài nguyên về CPU, Bộ nhớ và Cổng mạng để sử dụng. Đối với chúng tôi, nó không thực sự quan trọng đối với phiên bản nào Tác vụ chạy được bao lâu thì chúng chạy. Cấu hình Dịch vụ tham chiếu đến định nghĩa Tác vụ. Một Dịch vụ chịu trách nhiệm tạo Nhiệm vụ .
Dịch vụ thường được sử dụng cho các ứng dụng chạy lâu như máy chủ web. Ví dụ: nếu tôi triển khai trang web của mình được cung cấp bởi Node.JS ở Oregon (us-west-2), tôi muốn nói ít nhất ba Nhiệm vụ chạy trên ba Vùng sẵn sàng (AZ) vì Tính sẵn sàng cao; nếu một cái không thành công, tôi có hai cái khác và cái không thành công sẽ được thay thế (đọc đó là tự phục hồi !). Tạo một Dịch vụ là cách để làm điều này. Nếu tôi có 6 phiên bản EC2 trong cụm của mình, 2 phiên bản cho mỗi AZ, Dịch vụ sẽ tự động cân bằng Nhiệm vụ giữa các khu vực tốt nhất có thể đồng thời xem xét tài nguyên cpu, bộ nhớ và mạng.
CẬP NHẬT:
Tôi không chắc việc suy nghĩ về những thứ này theo thứ bậc sẽ hữu ích.
Một điểm rất quan trọng khác là Dịch vụ có thể được định cấu hình để sử dụng bộ cân bằng tải, để khi nó tạo Nhiệm vụ — nghĩa là nó khởi chạy các vùng chứa được xác định trong Task Defintion — Dịch vụ sẽ tự động đăng ký phiên bản EC2 của vùng chứa với bộ cân bằng tải. Không thể cấu hình các tác vụ để sử dụng bộ cân bằng tải, chỉ Dịch vụ mới có thể.