Giới thiệu về Dịch vụ Container Elastic (ECS)

Jul 18, 2024

Tổng quan về Dịch vụ Container Elastic (ECS)

ECS là gì?

  • Dịch vụ quản lý để chạy các container Docker
  • Cho phép nhà phát triển chạy các instances container biệt lập
  • ECS hoạt động trên Docker, giúp khởi chạy, cài đặt, và giám sát các container trên một cluster ECS

Chạy Container Docker

  • Tùy chọn hạ tầng:
    • Không server (Fargate): Không cần quản lý, dễ sử dụng hơn
    • Quản lý (EC2): Cần quản lý các instance EC2 (nâng cấp, vá lỗi, bảo mật)

Tự động mở rộng

  • Hỗ trợ tự động mở rộng để xử lý lưu lượng thay đổi
  • Các chỉ số có thể là lưu lượng truy cập, sử dụng bộ nhớ, sử dụng CPU
  • Đảm bảo tính sẵn sàng của dịch vụ bằng cách mở rộng số lượng container dựa trên các chỉ số

Hiệu quả chi phí

  • Chạy nhiều container trên một tài nguyên điện toán đơn
  • Giảm chi phí vì nhiều container có thể chạy trên một hệ điều hành

So sánh các tùy chọn

  • Lambda: Không server, tập trung vào mã nguồn
  • EC2: Cần quản lý hạ tầng
  • ECS: Trung gian, ít lo lắng về hạ tầng, lợi ích của container hóa

Sử dụng ECS từ góc độ người dùng

  • Bước 1: Định nghĩa file Docker
    • Chứa cài đặt, hệ điều hành, các phụ thuộc, mã nguồn và script khởi động
    • Xây dựng thành một hình ảnh và tải lên ECR (Kho lưu trữ Container Elastic)

ECR (Kho lưu trữ Container Elastic)

  • Lưu trữ các hình ảnh Docker
  • Cho phép quay lại các phiên bản trước của hình ảnh

Bước 2: Định nghĩa một Task trong ECS

  • Các task là các trừu tượng trên các container
  • Một task có thể chứa nhiều container
    • Ví dụ: Một REST API và một cơ sở dữ liệu
  • Định nghĩa task chỉ định ánh xạ cổng, tài nguyên (CPU, RAM)

Bước 3: Cài đặt một Cluster

  • Trừu tượng hóa tài nguyên quản lý các instance EC2
  • Agent ECS cài đặt trên các instance EC2 giao tiếp với cluster ECS
  • Chạy các task trên các máy EC2 có sẵn

Ứng dụng chạy lâu dài

  • Sử dụng services trên cluster ECS
  • Services cho phép chỉ định một số lượng tối thiểu các task luôn chạy
  • Hữu ích cho các ứng dụng có lưu lượng truy cập lớn

Giám sát và Chỉ số

  • Services cung cấp công cụ giám sát và chỉ số
  • Đảm bảo các container ở trạng thái khỏe mạnh
  • Chế độ Fargate: Chỉ định các task, hạ tầng được quản lý tự động

Khả năng mở rộng

  • Các services có thể kết hợp với cân bằng tải
  • Phân phối lưu lượng truy cập đến các container

Tài liệu bổ sung

  • Video hướng dẫn cài đặt cấu hình trong ECS