Tính năng ASG (Auto Scaling Group) đi kèm với dịch vụ EC2 (Elastic Compute Cloud) của AWS (Amazon Web Services) Cloud. ASG chứa một tập hợp các phiên bản EC2 được coi là một nhóm hợp lý cho mục đích tự động mở rộng quy mô. ASG cho phép sử dụng các tính năng EC2 Auto Scaling như thay thế kiểm tra tình trạng và chính sách mở rộng quy mô. Nó giúp duy trì số lượng phiên bản trong ASG và tự động mở rộng quy mô của dịch vụ EC2 Auto Scaling. Để tạo ASG, trước tiên chúng ta cần tạo Cấu hình khởi chạy.
Cấu hình khởi chạy là mẫu cấu hình mà ASG sử dụng để khởi chạy các phiên bản EC2. Khi tạo cấu hình khởi chạy, chúng tôi chỉ định thông tin cho các phiên bản như Amazon Machine Image (AMI), loại phiên bản, cặp khóa, nhóm bảo mật, v.v.
Auto Scaling giám sát các ứng dụng của chúng tôi và tự động điều chỉnh dung lượng mong muốn nếu có bất kỳ sự khác biệt nào về số lượng.
Không có khoản phí bổ sung nào cho Auto Scaling. Chúng tôi chỉ cần trả tiền cho các tài nguyên AWS cần thiết để chạy các ứng dụng và phí giám sát Amazon CloudWatch.
Để biết thêm về việc thanh toán liên quan đến ASG, hãy nhấp vào đây.
Trong bài viết này, chúng ta sẽ xem cách tạo ASG và xem cách duy trì số lượng phiên bản nếu số lượng giảm hoặc tải trên hệ thống tăng.
Sau khi đăng nhập thành công vào AWS, chúng ta sẽ thấy bảng điều khiển chính với tất cả các dịch vụ được liệt kê như sau.
Trên ngăn điều hướng ở bên trái màn hình, bên dưới “Auto Scaling”, chọn “Launch Configurations”.
Ở trang tiếp theo, chọn “Create launch configuration”.
Trên trang Choose AMI, chọn một AMI. Bạn thậm chí có thể chọn AMI từ My AMIs nếu bạn có AMI của riêng mình. Ở đây, tôi đang chọn một AMI Ubuntu Server 18.04 LTS áp dụng cho Free Tier.
Trên trang Choose Instance Type, hãy chọn cấu hình phần cứng cho instance của bạn. Nhấp vào chi tiết “Next: Configure”.
Ở đây, tôi đang chọn một Instance Type áp dụng cho Free Tier. Bạn có thể chọn loại phiên bản theo ý muốn.
Trên trang này, hãy đặt tên cho Cấu hình khởi chạy sẽ được tạo và giữ nguyên phần còn lại. Nhấp vào "Tiếp theo: Thêm dung lượng lưu trữ".
Chỉ định Dung lượng đĩa mong muốn và nhấp vào "Tiếp theo: Cấu hình Nhóm bảo mật".
Trên trang Đánh giá, chọn "Tạo nhóm bảo mật mới", sau đó nhấp vào Đánh giá. Thao tác này sẽ giúp cho phép truy cập ssh vào máy chủ từ bất kỳ đâu vì nguồn là 0.0.0.0/0.
Trên trang Đánh giá, chọn "Tạo cấu hình khởi chạy".
Để chọn cặp khóa hiện có hoặc tạo cặp khóa mới, hãy chọn một trong các tùy chọn được liệt kê theo ý muốn của bạn, sau đó chọn hộp kiểm xác nhận, rồi chọn Tạo cấu hình khởi chạy.
Đặt tên cho ASG cần tạo và chọn các mạng con hiện có từ VPC của bạn cho High Availability và nhấp vào “Next: configure scaling policies”.
Trên trang này, hãy chọn “use scaling policies to adjust the capacity of this group” và chỉ định số lượng phiên bản cần mở rộng giữa số lượng phiên bản mong muốn và số lượng phiên bản tối đa trong ASG. Trong loại số liệu, hãy giữ “Average CPU usage” và chỉ định “Target Value” theo lựa chọn của bạn. Điều này sẽ làm tăng số lượng phiên bản trong Nhóm nếu tải CPU vượt quá giá trị mục tiêu đã chỉ định theo % trong khoảng thời gian đã chỉ định. Nhấp vào “Next: configure notification”.
Đây là bước tùy chọn giúp nhận thông báo. Tôi không cấu hình bước này vì đây là tùy chọn. Nhấp vào "Tiếp theo: Cấu hình thẻ".
Đây cũng là bước tùy chọn. Để thêm thẻ, hãy chọn Chỉnh sửa thẻ, cung cấp khóa thẻ và giá trị cho mỗi thẻ, sau đó chọn Xem lại.
Trên trang Xem lại, nhấp vào nút "Tạo nhóm Tự động mở rộng".
Nếu bạn nhận được thông báo "Không tạo được nhóm Tự động mở rộng", đừng hoảng sợ và chỉ cần nhấp vào Thử lại.
Bây giờ, hãy đến Trang Tự động mở rộng và bạn có thể xem trạng thái của nhóm Tự động mở rộng, nhấp vào Lịch sử hoạt động để xem trạng thái.
Bạn cũng có thể xem trạng thái phiên bản và số lượng phiên bản từ Trang Phiên bản.
Chúng tôi đã chỉ định 2 là số lượng mong muốn/tối thiểu của mình trong các chính sách mở rộng quy mô, nghĩa là ASG của chúng tôi phải luôn có 2 phiên bản ở trạng thái khỏe mạnh. Sau khi kết thúc, ASG sẽ đợi trong 300 giây mà chúng tôi đã chỉ định trong Chính sách mở rộng quy mô trước khi thực hiện bất kỳ hoạt động mở rộng quy mô nào.
Sau khi đợi 300 giây, ASG được gọi và cố gắng khởi chạy một phiên bản mới để duy trì số lượng mong muốn. Bạn có thể kiểm tra trạng thái trong Lịch sử hoạt động của ASG.
Để tăng tải trên máy chủ, hãy đăng nhập vào cả hai phiên bản EC2.
Để biết cách tạo phiên bản EC2 và biết các bước kết nối với phiên bản đó, hãy nhấp vào đây.
Sau khi đăng nhập, hãy cài đặt gói cần thiết để tăng tải bằng các lệnh sau.
Tăng tải CPU sử dụng lệnh sau.
Lệnh này sẽ tăng tải CPU lên 50% trong 400 giây.
Chúng tôi đã chỉ định giá trị mục tiêu là 40% trong ASG. Khi tải CPU vượt quá giá trị mục tiêu, ASG sẽ đợi trong 300 giây mà chúng tôi đã chỉ định trong Chính sách mở rộng trước khi thực hiện bất kỳ hoạt động mở rộng nào.
Sau khi đợi 300 giây, ASG được gọi và cố gắng khởi chạy một phiên bản mới để đáp ứng yêu cầu.
Bạn có thể kiểm tra trạng thái trong Lịch sử hoạt động của ASG.
Bạn cũng có thể xem số lượng phiên bản trên trang phiên bản.
Để xóa ASG, hãy đến ASG mà chúng ta đã tạo và nhấp vào Actions -> Delete và khi được nhắc, hãy nhấp vào “Yes, Delete”.
Cấu hình khởi chạy là mẫu cấu hình mà ASG sử dụng để khởi chạy các phiên bản EC2. Khi tạo cấu hình khởi chạy, chúng tôi chỉ định thông tin cho các phiên bản như Amazon Machine Image (AMI), loại phiên bản, cặp khóa, nhóm bảo mật, v.v.
Auto Scaling giám sát các ứng dụng của chúng tôi và tự động điều chỉnh dung lượng mong muốn nếu có bất kỳ sự khác biệt nào về số lượng.
Không có khoản phí bổ sung nào cho Auto Scaling. Chúng tôi chỉ cần trả tiền cho các tài nguyên AWS cần thiết để chạy các ứng dụng và phí giám sát Amazon CloudWatch.
Để biết thêm về việc thanh toán liên quan đến ASG, hãy nhấp vào đây.
Trong bài viết này, chúng ta sẽ xem cách tạo ASG và xem cách duy trì số lượng phiên bản nếu số lượng giảm hoặc tải trên hệ thống tăng.
- Tài khoản AWS (Tạo nếu bạn chưa có một).
- Đăng nhập vào AWS.
- Tạo Cấu hình khởi chạy
- Tạo Nhóm tự động mở rộng
- Kết thúc phiên bản để ASG quản lý số lượng phiên bản.
- Tăng tải trên máy chủ để ASG tăng số lượng phiên bản.
- Xóa Nhóm tự động mở rộng.
Đăng nhập vào AWS
- Nhấp vào đây để đến Trang đăng nhập AWS.
Sau khi đăng nhập thành công vào AWS, chúng ta sẽ thấy bảng điều khiển chính với tất cả các dịch vụ được liệt kê như sau.
Tạo Cấu hình khởi chạy
Để tạo Cấu hình khởi chạy, hãy nhấp vào “Services” trên thanh điều hướng ở đầu màn hình và nhấp vào “EC2” để đi đến bảng điều khiển EC2.Trên ngăn điều hướng ở bên trái màn hình, bên dưới “Auto Scaling”, chọn “Launch Configurations”.
Ở trang tiếp theo, chọn “Create launch configuration”.
Trên trang Choose AMI, chọn một AMI. Bạn thậm chí có thể chọn AMI từ My AMIs nếu bạn có AMI của riêng mình. Ở đây, tôi đang chọn một AMI Ubuntu Server 18.04 LTS áp dụng cho Free Tier.
Trên trang Choose Instance Type, hãy chọn cấu hình phần cứng cho instance của bạn. Nhấp vào chi tiết “Next: Configure”.
Ở đây, tôi đang chọn một Instance Type áp dụng cho Free Tier. Bạn có thể chọn loại phiên bản theo ý muốn.
Trên trang này, hãy đặt tên cho Cấu hình khởi chạy sẽ được tạo và giữ nguyên phần còn lại. Nhấp vào "Tiếp theo: Thêm dung lượng lưu trữ".
Chỉ định Dung lượng đĩa mong muốn và nhấp vào "Tiếp theo: Cấu hình Nhóm bảo mật".
Trên trang Đánh giá, chọn "Tạo nhóm bảo mật mới", sau đó nhấp vào Đánh giá. Thao tác này sẽ giúp cho phép truy cập ssh vào máy chủ từ bất kỳ đâu vì nguồn là 0.0.0.0/0.
Trên trang Đánh giá, chọn "Tạo cấu hình khởi chạy".
Để chọn cặp khóa hiện có hoặc tạo cặp khóa mới, hãy chọn một trong các tùy chọn được liệt kê theo ý muốn của bạn, sau đó chọn hộp kiểm xác nhận, rồi chọn Tạo cấu hình khởi chạy.
Tạo Nhóm tự động mở rộng
Sau khi hoàn tất việc tạo Cấu hình khởi chạy, bạn sẽ thấy màn hình sau. Để tạo ASG, hãy nhấp vào “Create an Auto Scaling Group using this launch configuration”.Đặt tên cho ASG cần tạo và chọn các mạng con hiện có từ VPC của bạn cho High Availability và nhấp vào “Next: configure scaling policies”.
Trên trang này, hãy chọn “use scaling policies to adjust the capacity of this group” và chỉ định số lượng phiên bản cần mở rộng giữa số lượng phiên bản mong muốn và số lượng phiên bản tối đa trong ASG. Trong loại số liệu, hãy giữ “Average CPU usage” và chỉ định “Target Value” theo lựa chọn của bạn. Điều này sẽ làm tăng số lượng phiên bản trong Nhóm nếu tải CPU vượt quá giá trị mục tiêu đã chỉ định theo % trong khoảng thời gian đã chỉ định. Nhấp vào “Next: configure notification”.
Đây là bước tùy chọn giúp nhận thông báo. Tôi không cấu hình bước này vì đây là tùy chọn. Nhấp vào "Tiếp theo: Cấu hình thẻ".
Đây cũng là bước tùy chọn. Để thêm thẻ, hãy chọn Chỉnh sửa thẻ, cung cấp khóa thẻ và giá trị cho mỗi thẻ, sau đó chọn Xem lại.
Trên trang Xem lại, nhấp vào nút "Tạo nhóm Tự động mở rộng".
Nếu bạn nhận được thông báo "Không tạo được nhóm Tự động mở rộng", đừng hoảng sợ và chỉ cần nhấp vào Thử lại.
Bây giờ, hãy đến Trang Tự động mở rộng và bạn có thể xem trạng thái của nhóm Tự động mở rộng, nhấp vào Lịch sử hoạt động để xem trạng thái.
Bạn cũng có thể xem trạng thái phiên bản và số lượng phiên bản từ Trang Phiên bản.
Kết thúc phiên bản để cho phép ASG quản lý số lượng phiên bản.
Để xem ASG có hoạt động như mong đợi không, hãy kết thúc một trong các phiên bản. Chọn phiên bản và nhấp vào Hành động -> Trạng thái phiên bản -> Kết thúc và khi được nhắc, hãy nhấp vào "Có, Kết thúc".Chúng tôi đã chỉ định 2 là số lượng mong muốn/tối thiểu của mình trong các chính sách mở rộng quy mô, nghĩa là ASG của chúng tôi phải luôn có 2 phiên bản ở trạng thái khỏe mạnh. Sau khi kết thúc, ASG sẽ đợi trong 300 giây mà chúng tôi đã chỉ định trong Chính sách mở rộng quy mô trước khi thực hiện bất kỳ hoạt động mở rộng quy mô nào.
Sau khi đợi 300 giây, ASG được gọi và cố gắng khởi chạy một phiên bản mới để duy trì số lượng mong muốn. Bạn có thể kiểm tra trạng thái trong Lịch sử hoạt động của ASG.
Tăng tải trên các phiên bản để ASG có thể tăng số lượng phiên bản.
Bây giờ, chúng ta sẽ xem ASG tăng số lượng phiên bản như thế nào nếu tải trên các máy chủ vượt quá giá trị mục tiêu mà chúng ta đã chỉ định trong chính sách mở rộng quy mô đã tạo.Để tăng tải trên máy chủ, hãy đăng nhập vào cả hai phiên bản EC2.
Để biết cách tạo phiên bản EC2 và biết các bước kết nối với phiên bản đó, hãy nhấp vào đây.
Sau khi đăng nhập, hãy cài đặt gói cần thiết để tăng tải bằng các lệnh sau.
Mã:
sudo apt-get update
Mã:
sudo apt-get install stress
Mã:
stress --cpu 50 --timeout 400
Chúng tôi đã chỉ định giá trị mục tiêu là 40% trong ASG. Khi tải CPU vượt quá giá trị mục tiêu, ASG sẽ đợi trong 300 giây mà chúng tôi đã chỉ định trong Chính sách mở rộng trước khi thực hiện bất kỳ hoạt động mở rộng nào.
Sau khi đợi 300 giây, ASG được gọi và cố gắng khởi chạy một phiên bản mới để đáp ứng yêu cầu.
Bạn có thể kiểm tra trạng thái trong Lịch sử hoạt động của ASG.
Bạn cũng có thể xem số lượng phiên bản trên trang phiên bản.
Xóa Nhóm tự động mở rộng
Chỉ xóa tất cả các phiên bản là không đủ để dọn dẹp tài nguyên. ASG sẽ tạo lại phiên bản để phù hợp với trạng thái mong muốn. Để dọn dẹp tài nguyên, chúng ta cần xóa ASG.Để xóa ASG, hãy đến ASG mà chúng ta đã tạo và nhấp vào Actions -> Delete và khi được nhắc, hãy nhấp vào “Yes, Delete”.