AWS căn bản – Bài 4: Tìm hiểu về Auto Scaling trong AWS

Chào các bạn lại là mình đây, như đã nói ở bài trước ngày hôm nay chúng ta sẽ cùng tìm hiểu về Auto Scaling trong AWS nhé. Ở môi trường cloud nói chung và AWS nói riêng có một tính năng làm nó trở nên thực sự ưu việt so với môi trường On-Premise đó là tính co dãn (scale) hệ thống theo traffic. Đối với các hệ thống nhỏ thì điều này cũng không quan trọng vì users truy cập vào hệ thống rất ít, khó có thể làm quá tải được hệ thống. Nhưng đối với các hệ thống lớn như ngân hàng, các sàn giao dịch, sàn thương mại điện tử,… thì lượng người dùng vào cùng một lúc là chuyện xảy ra rất thường xuyên. Vậy bài toán đặt ra là gì  nếu họ build một hạ tầng lớn cho việc chịu tải trong thời gian ngắn sẽ gây ra rất nhiều lãng phí vì lượng traffic chỉ đổ dồn tại một thời điểm, các thời điểm khác thì hệ thống sẽ không sử dụng được hết hạ tầng đã build.

Để giải quyết vấn đề đó, AWS đã giải quyết vấn đề này bằng cách Scale tài nguyên theo nhu cầu sử dụng được định nghĩa là EC2 Auto Scaling. Với tính năng này sẽ giúp hệ thống của doanh nghiệp có thể tự sinh ra số lượng tài nguyên hơn (EC2) hoặc tự giảm số lượng tài nguyên (EC2) khi có ít truy cập. Đi cùng với Auto Scaling đó Elastic Load Balancer giúp điều khiển traffic đi theo rule đã quy định vào các EC2 được tạo từ Auto Scaling.

Vậy còn EC2 Auto Scaling ?

Ở tính năng EC2 Auto Scaling sẽ có 2 dạng scale chính là Scale out – Scale in  và Scale up – Scale down, Scale out sẽ giúp hệ thống tự sản sinh ra thêm EC2 khi có lượng lớn traffic và tự giảm số lượng EC2 (Scale in) khi có ít người dùng truy cập.

Đối với Scale up sẽ thay đổi loại EC2 có thể chịu tải lớn hơn và khi traffic giảm thì sẽ đổi về EC2 cũ như lúc ban đầu 

Để tạo được Auto Scaling Group ta cần tạo một template cho nó để nó có thể dựa vào đó để sinh ra các server tương tự.

Tiếp tục với khái niệm Auto Scaling Lifecycle Hooks:
Lifecycle hooks trong AWS Auto Scaling được sử dụng để tùy chỉnh hành động trong lúc khởi tạo hoặc terminate instances. Nó cho phép chúng ta tạm dừng instance trong quá trình khởi tạo hoặc quá trình terminate. Ví dụ chúng ta đang sử dụng Web Server và chúng ta muốn các instance sau khi được tạo sẽ được cài đặt mysql sau khi khởi tạo. Với trường hợp này ta sẽ dùng Auto Scaling Lifecycle hooks để tạm dừng instance trong lúc khởi tạo và thực hiện cài mysql xong rồi mới tiếp tục hoàn thành khởi tạo.

The Auto Scaling lifecycle hook có 2 trạng thái:

  • Pending
  • Complete

Monitoring:
– Health Check: giám sát trên Target Group
– CloudWatch Events.
– CloudWatch Metrics


Charges:
– AWS sẽ không tính phí cho Auto Scaling.
– AWS sẽ tính phí cho các tài nguyên mà Auto Scaling đã tạo.   

Ở bài hôm nay, chúng ta chỉ đi sơ lược về các khái niệm liên quan đến Auto Scaling, ở bài sau chúng ta cùng tìm hiểu về ELB cũng như cơ chế hoạt động của ELB trong AWS như nào nhé! Mọi thắc mắc hay góp ý về nội dung, mọi người cứ bình luận bên dưới, còn bây giờ xin chào và hẹn gặp lại ở bài 5 nhé!

Leave a Comment