🛠️

Tổng quan 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ụ được quản lý để chạy các container Docker
  • Cho phép các nhà phát triển khởi chạy các instance container biệt lập
  • ECS nằm trên Docker, hỗ trợ việc khởi chạy, cài đặt và giám sát container trên một cụm ECS

Chạy các Container Docker

  • Lựa chọn hạ tầng:
    • Serverless (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ượng công việc biến đổi
  • Các chỉ số có thể là lưu lượng, sử dụng bộ nhớ, sử dụng CPU
  • Đảm bảo tính sẵn có 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ả về chi phí

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

So sánh các lựa chọn

  • Lambda: Serverless, tập trung vào mã nguồn
  • EC2: Yêu cầu quản lý hạ tầng
  • ECS: Trung bình, ít lo về hạ tầng, hưởng lợi từ việc container hóa

Sử dụng ECS từ góc nhìn của người dùng

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

ECR (Elastic Container Repository)

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

Bước 2: Định nghĩa một Nhiệm vụ trong ECS

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

Bước 3: Thiết lập một Cụm

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

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

  • Sử dụng dịch vụ trên cụm ECS
  • Dịch vụ cho phép chỉ định số lượng nhiệm vụ tối thiểu luôn chạy
  • Hữu ích cho các ứng dụng có lưu lượng lớn

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

  • Dịch vụ cung cấp các 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 nhiệm vụ, hạ tầng được quản lý tự động

Khả năng mở rộng

  • Dịch vụ có thể được liên kết với bộ cân bằng tải
  • Phân phối lưu lượng vào giữa các container

Tài nguyên bổ sung

  • Video hướng dẫn về thiết lập cấu hình trong ECS