Nội dung cập nhật

Với bản cập nhật mới, workload trên Amazon EC2 Instances có thể tắt một cách bình thường. Amazon ECS Capacity Providers giúp quá trình kết thúc instance trở nên dễ dàng hơn nhờ khả năng:

  • Dừng các task đang chạy một cách an toàn.
  • Khởi động task mới trên instance chưa kết thúc.
  • Trì hoãn việc tắt instance cho đến khi tất cả các task kết thúc (tối đa 48 giờ).

Ban đầu, khi triển khai workload trên ECS, khi chọn EC2 thay vì Fargate, bạn cần quản lý hoạt động hệ thống cơ sở hạ tầng như mở rộng dung lượng, thực hiện cập nhật hệ điều hành và bảo mật, cấu hình kết hợp các instance, và giám sát sự hoạt động ổn định của  instance.

Đặc biệt, phần Auto Scaling thường được thiết lập một cách thủ công.

Khi thực hiện Scale In bằng Auto Scaling, các instance ở trạng thái Draining sẽ chuyển các task của mình sang instance khác có dung lượng trống trong cụm. Dung lượng được tính toán dựa trên cả CPU và Memory. Vì task được di chuyển mà không thay đổi trạng thái thành Stopped, kết nối không bị gián đoạn nên workload có thể tiếp tục mà không có downtime. 

Tuy nhiên, nếu instance không ở trạng thái Draining, khi Scale In bằng Auto Scaling, instance được chọn ngẫu nhiên sẽ dừng lại và các task bên trong sẽ bị xóa. Có thể đã có trường hợp cần thiết lập bảo vệ instance để ngăn chặn điều này.

Trong cập nhật lần này, bạn có thể cập nhật instance trong nhóm Auto Scaling Group (ASG), thiết lập AMI version mới, và cài đặt tuổi thọ tối đa cho việc thay thế instance định kỳ. 

IMG_256

Sự khác biệt giữa Managed draining và Managed termination

Khi kích hoạt tính năng Managed termination, các instance Amazon EC2 đang thực hiện một hoặc nhiều task sẽ không thể dừng lại trong quá trình Scale In của nhóm Auto Scaling.

Kích hoạt cả hai tính năng Managed termination và Managed Instance Drain giúp bảo vệ tối đa, tránh gián đoạn các workload vận hành :

  • Managed Scale In protection sẽ ngăn chặn các gián đoạn khi kết thúc các instance EC2
  • Managed Draining đảm bảo các workload đang chạy được xử lý thích hợp khi cần kết thúc instance EC2.
Bảng so sánh Managed draining và Managed termination 
Managed terminationManaged drainingSự khác nhau

Enabled

Enabled
● Bảo vệ instance Amazon EC2 đang thực hiện task không bị kết thúc bởi sự kiện Scale In.● Các instance đang trong quá trình kết thúc chẳng hạn như các instance chưa được cài đặt bảo vệ kết thúc, các instance bị gián đoạn Spot, hoặc các instance bị ép buộc kết thúc do cập nhật sẽ được drain một cách bình thường.

Disabled

Enabled
● Amazon ECS không bảo vệ instance Amazon EC2 đang thực hiện task khỏi Scale In.● Các instance đang kết thúc sẽ được drain một cách bình thường.




Enabled




Disabled
● Amazon ECS bảo vệ instance Amazon EC2 đang thực hiện task khỏi việc bị kết thúc do sự kiện Scale In.● Trong trường hợp gián đoạn Spot, instance bị ép buộc cập nhật, hoặc không có task đang thực hiện, instance có thể bị teminate.● ECS không thực hiện drain bình thường cho các instance này và sẽ khởi chạy task dịch vụ thay thế sau khi teminate.
DisabledDisabled● Các instance Amazon EC2 có thể bị Scale In hoặc kết thúc bất cứ lúc nào, ngay cả khi đang thực hiện Amazon ECS task.● Amazon ECS sẽ khởi chạy tác vụ dịch vụ thay thế sau khi dừng lại.

Cách sử dụng

Để kích hoạt Managed Instance Drain cho các Capacity Provider hiện có trong cluster, thực hiện như sau:

aws ecs update-capacity-provider \ –name cp-draining \ –auto-scaling-group-provider ‘{ “managedDraining”: “ENABLED” }

Thực hiện lệnh describe-capacity-providers để kiểm tra xem tính năng Managed Instance Drain đã được kích hoạt hay chưa.

aws ecs describe-capacity-providers –capacity-providers cp-draining

Tổng kết

Tính năng Managed Instance Drain mới của Amazon ECS được phát triển từ các yêu cầu tính năng trên Public Container Roadmap.

Tham khảo: 【アップデート】Amazon ECSがマネージドインスタンスドレイン機能をサポート | SunnyCloud