Tạo ECS Task definition

Tạo ECS Task definition

Các trường hợp sử dụng Fargate launch type trong Amazon ECS

Môi trường test

Với các môi trường thử nghiệm không đòi hỏi quá nhiều workload, thì việc của dụng dịch vụ serverless AWS Fargate thay vì dịch vụ EC2 instance sẽ giúp bạn tận dụng tối đa tài nguyên.

Môi trường workload nhỏ, nhưng thỉnh thoảng có tăng đột ngột (burst)

Khi workload tuy nhỏ nhưng thỉnh toảng có tăng đột biến không thường xuyên, chẳng hạn như traffic hoặc request bất ngờ tăng trong ngày và thấp ban đêm thì sử dụng Fargate launch type sẽ là lợi thế hơn.

Do Fargate có thể scale up tài nguyên từ một tiny container ban đêm (chi phí cực thấp) cho việc đáp ứng tăng đột biến ban ngày mà chỉ cần trả tiền cho CPU core và GB bộ nhớ on-demand.

Workload lớn, nhưng không muốn tiêu hao nguồn lực cho vận hành (Overhead cost)

Việc vận hành một cluster gồm nhiều EC2 instance sẽ tốn khá nhiều công sức và thời gian, do bạn phải đảm bảo công đoạn vá lỗi, bảo mật và cập nhật phiên bản mới nhất của Docker và ECS Agent. Lúc này, Fargate sẽ là lựa chọn tốt nhất!

Lý do là dịch vụ serverless này sẽ tự động được bảo vệ bởi các kỹ sư của AWS phía sau và vá lỗi cũng như cập nhật từ hạ tầng của AWS mà không cần các doanh nghiệp phải bận tâm.

Workload định kỳ

Khi hệ thống luôn phải chạy các task định kỳ, ví dụ như cron job (theo giờ hoặc thỉnh thoảng) từ queue thì AWS Fargate sẽ hỗ trợ ổn định nhất cho hệ thống. Thay vì phải khởi động lại EC2 instance sau các task này khi chạy mà vẫn bị tính tiền khi EC2 instance đang tắt, thì Fargate chỉ bị tính phí khi đang trong chế độ chạy.

  1. Trong giao diện AWS ECS

    • Chọn Task Definitions
    • Chọn Create new Task Definitions

ECS Lab

  1. Trong giao diện Create new Task Definitions

    • Đối với chọn launch type compatibility, chọn FARGATE
    • Chọn Next step

ECS Lab

  1. Chúng ta thực hiện cấu hình task và container definitions

    • Đối với Task definition name, nhập aws-fcj-task-def

ECS Lab

  1. Chọn Task execution IAM role hoặc tạo mới
  • Đới với Task size
    • Chọn Task memory(GB)
    • Chọn Task CPU (vCPU)
    • Chọn Add Container

ECS Lab

  1. Đối với Add container

    • Container name, nhập aws-fcj-container
    • Image, nhập image của ECR ở bước chuẩn bị.
    • Port mappings, nhập 5000
    • Chọn Add

ECS Lab

  1. Kiểm tra lại và chọn Create

ECS Lab

  1. Hoàn thành tạo Task definitions

ECS Lab