Trong quá trình sử dụng các dịch vụ điện toán đám mây, việc các doanh nghiệp đang sử dụng hệ thống điện toán đám mây và bỗng dưng gặp vấn đề như web bị quá tải hay không đồng bộ được dữ liệu, hệ thống ngừng là điều không thể tránh khỏi. Chính vì vậy, tính năng của Amazon Web Services là AWS Auto Scaling đã được sinh ra để giải quyết vấn đề này. Vậy, AWS Auto Scaling là gì? Nó có tác dụng gì cho doanh nghiệp và trải nghiệm khi sử dụng?

Hãy cùng tìm hiểu cụ thể hơn về AWS Auto Scaling trong bài viết này nhé!

AWS Auto Scaling là gì?

AWS Auto Scaling là tính năng tự động nhân rộng để đảm bảo rằng các phiên bản Amazon EC2 đủ để chạy các ứng dụng của bạn. Bạn có thể tạo một nhóm AWS Auto Scaling trong các phiên bản EC2. Bạn có thể chỉ định số lượng phiên bản EC2 tối thiểu trong nhóm đó và tự động mở rộng sẽ duy trì và đảm bảo số lượng phiên bản EC2 tối thiểu.

Bạn cũng có thể chỉ định số lượng phiên bản EC2 tối đa trong mỗi nhóm tự động mở rộng để AWS Auto Scaling đảm bảo các phiên bản không bao giờ vượt quá giới hạn tối đa đó. Bạn cũng có thể chỉ định các chính sách dung lượng và tự động mở rộng mong muốn cho phần AWS Auto Scailing trong Amazon EC2. Bằng cách sử dụng chính sách mở rộng, AWS Auto Scaling có thể khởi chạy hoặc chấm dứt các phiên bản EC2 tùy theo nhu cầu.

Mô hình AWS Auto Scaling
Mô hình AWS Auto Scaling

Các thành phần của AWS Auto Scaling

Các nhóm (Groups)

Các nhóm là các nhóm logic chứa tập hợp các phiên bản EC2 có các đặc điểm tương tự nhau cho mục đích mở rộng và quản lý. Sử dụng các nhóm tự động mở rộng, bạn có thể tăng số lượng phiên bản EC2 để cải thiện hiệu suất ứng dụng của mình và bạn cũng có thể giảm số lượng phiên bản EC2 tùy thuộc vào lượng truy cập để giảm chi phí. AWS Auto Scaling cũng duy trì một số lượng phiên bản EC2 nhất định ngay cả khi một phiên bản EC2 không đủ tốt để đáp ứng nhu cầu.

Để đáp ứng công suất mong muốn, nhóm nhân rộng tự động khởi chạy đủ số lượng phiên bản EC2 và nhóm tự động mở rộng duy trì các phiên bản EC2 này bằng cách thực hiện kiểm tra định kỳ trên các phiên bản trong nhóm. Nếu bất kỳ phiên bản nào hoạt động không đủ tốt, nhóm tự động mở rộng sẽ chấm dứt phiên bản đó và khởi chạy một phiên bản khác để thay thế nó.

Sử dụng AWS Auto Scaling, bạn có thể tự động tăng hoặc giảm số lượng phiên bản EC2 đang chạy trong nhóm để đáp ứng các điều kiện thay đổi về nhu cầu doanh nghiệp hay lượng truy cập của khách hàng.

Các nhóm
Các nhóm AWS Auto Scaling

Cấu hình khởi chạy

Cấu hình khởi chạy là một mẫu được sử dụng bởi nhóm tự động mở rộng (groups) để khởi chạy các phiên bản EC2. Bạn có thể chỉ định Amazon Machine Image (AMI), loại thể hiện, cặp khóa và nhóm bảo mật,… trong khi tạo cấu hình khởi chạy. Bạn cũng có thể sửa đổi cấu hình khởi chạy sau khi tạo. Cấu hình khởi chạy có thể được sử dụng cho nhiều nhóm AWS Auto Scaling.

Cấu hình khởi chạy
Cấu hình khởi chạy AWS Auto Scaling

Kế hoạch mở rộng

Kế hoạch mở rộng cho biết khi nào và dùng AWS Auto Scaling như thế nào. Amazon EC2 tự động mở rộng quy mô cung cấp một số cách để bạn mở rộng nhóm AWS Auto Scaling.

Khả năng duy trì và mức độ mở rộng của EC2

Kế hoạch mở rộng AWS Auto Scaling

Bạn có thể định cấu hình và duy trì số lượng phiên bản đang chạy được chỉ định mọi lúc trong nhóm tự động mở rộng. Để đạt được quy mô tự động này, cần thực hiện kiểm tra tính ổn định của các phiên bản EC2 trong một nhóm tự động mở rộng. Nếu bất kỳ trường hợp không ổn định nào xảy ra, AWS Auto Scaling sẽ đóng phiên bản đó và khởi chạy các phiên bản mới để thay thế nó.

Tự động mở rộng thủ công

Với chế độ này, bạn chỉ định các thay đổi về công suất tối đa, tối thiểu hoặc mong muốn của các nhóm tự động mở rộng. Tự động thay đổi tỷ lệ duy trì các phiên bản với khả năng cập nhật.

Tự động mở rộng theo lịch

Trong một số trường hợp, bạn biết chính xác khi nào lưu lượng ứng dụng của bạn trở nên cao. Ví dụ: Vào thời điểm ưu đãi có giới hạn hoặc một số ngày cụ thể có lượng truy cập cao, trong những trường hợp như vậy, bạn có thể mở rộng ứng dụng của mình dựa trên tỷ lệ theo lịch trình. Bạn có thể tạo một hành động theo lịch trình yêu cầu tự động mở rộng quy mô Amazon EC2 để thực hiện hành động chia tỷ lệ dựa trên thời gian cụ thể.

Tự động mở rộng theo nhu cầu

Đây là mô hình AWS Auto Scaling tiên tiến nhất sử dụng chính sách chia tỷ lệ. Dựa trên các thông số cụ thể, bạn có thể mở rộng hoặc thu nhỏ tài nguyên của mình. Bạn có thể tạo chính sách bằng cách xác định tham số như mức sử dụng CPU, Bộ nhớ, Mạng vào và ra,…

Ví dụ: Bạn có thể tự động điều chỉnh tỷ lệ EC2 vượt quá mức sử dụng CPU lớn hơn 70%. Nếu việc sử dụng CPU vượt qua giá trị ngưỡng này, quy mô tự động sẽ khởi chạy các phiên bản mới bằng cách sử dụng cấu hình khởi chạy. Bạn nên chỉ định hai chính sách chia tỷ lệ, một cho mở rộng trong (các phiên bản kết thúc) và một cho mở rộng ngoài (các phiên bản khởi chạy).

Các loại chính sách mở rộng

– Chia tỷ lệ theo dõi mục tiêu: Dựa trên giá trị mục tiêu cho một số liệu cụ thể, tăng hoặc giảm công suất hiện tại của nhóm chia tỷ lệ tự động.

– Chia tỷ lệ theo bước: Dựa trên một tập hợp các điều chỉnh tỷ lệ, tăng hoặc giảm công suất hiện tại của nhóm thay đổi dựa trên kích thước của mức báo động đã được thiết kế trước.

– Chia tỷ lệ đơn giản: Tăng hoặc giảm công suất hiện tại của nhóm dựa trên một điều chỉnh tỷ lệ duy nhất.

AWS Auto Scaling hoạt động như thế nào?

AWS Auto Scaling hoạt động thông qua một số bước
AWS Auto Scaling hoạt động thông qua một số bước

– Bạn xác định một phiên bản AMI và tạo Nhóm tự động mở rộng để khởi chạy các phiên bản.

– Bạn sử dụng CloudWatch để giám sát các cá thể máy chủ của mình và khi xảy ra một số sự kiện có thể định cấu hình nhất định, bạn có thể khởi chạy nhiều phiên bản khác dựa trên mẫu AMI mà bạn xác định.

– Các phiên bản EC2 khởi chạy phía sau Bộ cân bằng tải đàn hồi (ELB) mà bạn xác định.

AWS Auto Scaling hoạt động như thế nào?

– ELB sẽ gửi lưu lượng truy cập theo mô hình vòng tròn giữa tất cả các phiên bản được gán cho nó và bạn có thể kiểm soát trong thời gian thực bao nhiêu phiên bản bạn muốn khởi chạy để bao trùm các đợt lưu lượng truy cập lớn và giữ ít nhất một hoặc hai phiên bản đang chạy trong thời gian lưu lượng tạm ít hơn. Nếu bất kỳ phiên bản EC2 nào của bạn không phản hồi, ELB sẽ phát hiện nó và khởi chạy thay thế. Khi lưu lượng truy cập web ngừng hoạt động, bạn cũng có thể tự động chấm dứt các EC2.

– CloudWatch cho phép bạn định cấu hình các báo động kích hoạt các chính sách mở rộng tự động để khởi chạy các phiên bản EC2 bổ sung vào nhóm tự động mở rộng khi lưu lượng mạng, tải máy chủ hoặc các công cụ thống kê đo lường khác có mức độ sử dụng quá cao, trên 80%. Số lượng máy chủ mà bạn thêm dựa theo chính sách mở rộng mà bạn đã đặt ra. Mỗi máy chủ là một phiên bản trùng lặp của AMI mà bạn xác định trong cấu hình AWS Auto Scaling.

– Bạn thậm chí có thể sử dụng Dịch vụ thông báo đơn giản của Amazon (SNS) để tự gửi email hoặc tin nhắn văn bản khi xảy ra việc tự động mở rộng.

– ELB của bạn sẽ tự động phân tán khách truy cập đến giữa tất cả các máy chủ trong Nhóm tự động mở rộng của bạn. Bạn có thể đặt số lượng phiên bản tối thiểu và tối đa trong nhóm của mình, giúp bạn yên tâm rằng trang web của bạn sẽ không bị sập do lượng khách truy cập và cũng để hạn chế ảnh hưởng đến bảng sao kê thanh toán của bạn.

– Bạn cũng có thể yêu cầu AWS giảm số lượng phiên bản khi lưu lượng truy cập mạng đã giảm xuống, giả sử là dưới mức sử dụng 20% ​​trong một khoảng thời gian có thể đo lường được để thu nhỏ lại số lượng máy chủ trong cụm máy chủ web của bạn.

Giám sát AWS Auto Scaling thông qua những chỉ số nào?

AWS CloudWatch cho phép bạn theo dõi một số số liệu hiệu suất máy chủ EC2 khác nhau trong thời gian thực, bao gồm:

  • Sử dụng CPU (%)
  • Sử dụng bộ nhớ (%)
  • Sử dụng mạng ngoài (MB)
  • Bộ nhớ được sử dụng (MB)
  • Bộ nhớ khả dụng (MB)
  • Hoán đổi sử dụng (%)
  • Hoán đổi sử dụng (MB)
  • Sử dụng không gian đĩa (%)
  • Dung lượng đĩa được sử dụng (GB)
  • Dung lượng đĩa trống (GB)

…và nhiều thông số khác. Chúng cung cấp cho bạn những gì cần theo dõi, nhưng các số liệu hữu ích nhất để biết khi nào bạn nên mở rộng và thêm một máy chủ khác hoặc giảm quy mô bằng cách chấm dứt một máy chủ đó là dựa vào thông số sử dụng CPU, sử dụng bộ nhớ hoặc sử dụng mạng.

Amazon cung cấp nhiều số liệu giám sát cơ bản miễn phí. Giám sát cơ bản có một khoảng thời gian làm mới 5 phút. Bạn cũng có thể xem tùy chọn giám sát chi tiết, chỉ tốn thêm một chút phí nhỏ cho mỗi số liệu mỗi tháng để giám sát chi tiết các sự kiện trong khoảng thời gian 1 phút.

Tại đây sẽ có thêm một danh sách các số liệu EC2 bạn có thể theo dõi bằng CloudWatch. Nếu bạn không tìm thấy một số liệu phù hợp với ứng dụng của mình, bạn thậm chí có thể gửi (thông qua API AWS của Amazon) một số liệu tùy chỉnh từ ứng dụng của bạn mà CloudWatch sẽ theo dõi.

Giám sát AWS Auto Scaling thông qua các chỉ số
Giám sát AWS Auto Scaling thông qua các chỉ số

Lời kết

Amazon EC2 là 1 trong những dịch vụ của AWS, cung cấp máy chủ đám mây cho doanh nghiệp, giúp doanh nghiệp tiết kiệm được chi phí, gia tăng hiệu năng làm việc và đảm bảo được dữ liệu. Hiện tại, Amazon Web Services (AWS) là một trong những nhà cung cấp đám mây lớn nhất và tốt nhất thế giới với hơn 60 dịch vụ tối ưu khác nhau.

Với dịch vụ AWS Auto Scaling, các máy chủ EC2 sẽ hoạt động tốt nhất và đáp ứng được cao nhất nhu cầu của doanh nghiệp và khách hàng.aws