View Categories

Hướng dẫn sử dụng tính năng AutoScaling trên Cloud Gen 4

8 phút đọc

Bài viết này sẽ giúp Quý Khách hiểu thêm Autoscaling Instance là gì, mục đích và cách sử dụng tính năng trên.

AutoScaling là gì? #

AutoScaling là tính năng cho phép hệ thống tự động tăng hoặc giảm số lượng máy ảo (VM) trong một nhóm dịch vụ (instance group) dựa trên nhu cầu thực tế về tài nguyên.

Khi tài nguyên trong nhóm không đủ để đáp ứng nhu cầu (lượt request tăng, tài nguyên chạy vượt ngưỡng, …), hệ thống sẽ phát hiện và thực hiện tăng số lượng VM để đảm bảo tài nguyên trong nhóm không bị quá tải. Sau khi nhu cầu tài nguyên giảm, hệ thống sẽ tự động điều chỉnh số lượng VM giảm để tiết kiệm tài nguyên.

Các bước chuẩn bị cho Autoscaling Instance #

AutoScaling sẽ phụ thuộc vào Load Balancing, do đó chỉ hoạt động với isolated Network hoặc VPC network với dịch vụ “Load Balancing” đã được kích hoạt. Trong bài viết này, vHost sẽ hướng dẫn sử dụng với Isolated Network. Quý Khách có thể tìm hiểu thêm trong bài viết tại đây.

Sau Isolated Network được tạo và gắn 1 IP Public, option Load Balancing sẽ xuất hiện trong phần Network > Public IP addresses và chọn IP đang được sử dụng bởi Isolated Network.

Sau đó, nhập các thông tin cần thiết:

  1. Name: Tên của Load Balancing
  2. Public port: Port khi truy cập đến Load Balancing
  3. Private port: Port của VM bên trong AutoScaling Group
  4. Source CIDR list: Dải IP được phép truy cập đến
  5. Algorithm: Thuật toán Load Balancing
  6. Protocol: Giao thức mạng
  7. AutoScale: Chọn Yes

Sau đó, mở Rule Firewall để bên ngoài truy cập đến.

  • Source CIDR: IP từ bên ngoài được phép truy cập đến.
  • Protocol: Giao thức mạng cho phép
  • Start port: Port bắt đầu – End port: Port kết thúc.

Lưu ý: nếu Quý Khách muốn cho phép các port không liên tiếp, Quý Khách cấu hình nhiều Rule với Start port và End port giống nhau.

Và mở Rule để Isolated Network bên trong có thể ra ngoài. Mặc định tất cả traffic ra ngoài sẽ bị chặn.

  • Source CIDR: IP của Instance bên trong.
  • Destination CIDR: IP bên ngoài Internet.
  • Protocol: Giao thức mạng.

Vậy là đã chuẩn bị xong cho việc tạo AutoScaling Groups

Tạo AutoScaling Groups #

Vào Instances > AutoScaling Groups và chọn New AutoScaling Group

AutoScaling GroupsAutoScaling GroupsAutoScaling GroupsAutoScaling Groups

Các bước tạo ban đầu sẽ giống các bước tạo Instances, tuy nhiên sẽ bổ sung thêm 1 số bước. Network và Load Balancing sẽ chọn Isolated Network và Load Balancing Quý Khách đã tạo ở trên.

Về phần ScaleUp và ScaleDown policies, đây sẽ phần tùy chỉnh để cấu hình ngưỡng tài nguyên quyết định khi nào VM tăng và giảm.

  • Duration (Thời lượng): Khoảng thời gian (tính bằng giây) mà các điều kiện bạn định nghĩa phải đồng thời thỏa mãn để kích hoạt hành động tự động mở rộng (scale). Điều kiện chỉ được coi là hợp lệ khi duy trì đúng trong toàn bộ thời lượng này.
  • Quiet Time (Thời gian chờ ổn định): Khoảng nghỉ sau khi một hành động AutoScale được kích hoạt. Thời gian này bao gồm cả lúc khởi tạo máy ảo từ template và thời gian ứng dụng sẵn sàng phục vụ lưu lượng. Quiet Time giúp hệ thống đạt trạng thái ổn định trước khi thực hiện hành động AutoScale tiếp theo. Giá trị mặc định: 300 giây.
  • Counter (Chỉ số giám sát): Là dữ liệu phản ánh trạng thái hoạt động của các máy ảo trong nhóm AutoScale. Có 5 chỉ số mặc định:
    • Instance CPU – average percentage: Tỷ lệ sử dụng CPU trung bình.
    • Instance Memory – average percentage: Tỷ lệ sử dụng RAM trung bình.
    • Public Network – mbps received per Instance: Băng thông trung bình nhận từ mạng Public.
    • Public Network – mbps transmit per Instance: Băng thông trung bình gửi ra mạng Public.
    • Load Balancer – average connections per Instance: Số lượng kết nối trung bình qua Load Balancer.
  • Operator (Toán tử so sánh): Hỗ trợ 5 loại:
    • Lớn hơn (>)
    • Nhỏ hơn (<)
    • Nhỏ hơn hoặc bằng (≤)
    • Lớn hơn hoặc bằng (≥)
    • Bằng (=)
  • Threshold (Ngưỡng giá trị): Giá trị so sánh với Counter. Khi chỉ số vượt ngưỡng, AutoScale sẽ thực hiện hành động ScaleUp hoặc ScaleDown tương ứng.

Quý Khách cần cấu hình tối thiểu một điều kiện (Conditions) cho mỗi chính sách. Một chính sách có thể có nhiều điều kiện.

Sau đó, Quý Khách có thể lựa chọn sử dụng SSH key hay User Data để giúp tạo Instance dễ dàng và nhanh chóng hơn. Về cách sử dụng User Data, Quý Khách có thể tham khảo bài viết tại đây.

Để demo, vHost sẽ sử dụng script User Data bên dưới.

#!/bin/bash
apt-get update -y
apt-get install -y apache2

# Bật CGI module
a2enmod cgi
a2enmod alias

# Đổi DocumentRoot thành hỗ trợ CGI
cat << 'EOF' > /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
    DocumentRoot /var/www/html

    <Directory "/var/www/html">
        Options +ExecCGI
        DirectoryIndex index.py
        AddHandler cgi-script .py
        Require all granted
    </Directory>
</VirtualHost>
EOF

# Tạo file CGI Python
cat << 'EOF' > /var/www/html/index.py
#!/usr/bin/env python3
import socket
print("Content-type: text/html\n\n")
print("<p style='text-align: center;'>Hello World!!!</p>")
print("<p style='text-align: center;'><strong>Instance:</strong> {}</p>".format(socket.gethostname()))
EOF

# Phân quyền
chmod 755 /var/www/html/index.py

# Restart Apache
systemctl enable apache2
systemctl restart apache2

Khi các Instance khởi động, cloud-init có trong Template sẽ lấy userdata này và thực hiện các hành động sau:

  • Cài đặt và cấu hình gói httpd.
  • Tạo một tập lệnh index.py (Python script), tập lệnh này sẽ trả về phản hồi HTTP sau 5 giây — được dùng để mô phỏng các yêu cầu HTTP đồng thời.
  • Kích hoạtkhởi động dịch vụ httpd.

Cuối cùng, Quý Khách cấu hình thông số của AutoScale Instance Group.

  • Name (Tên nhóm Instance): Tên của nhóm Instance. Khi tạo mới, các Instance thuộc nhóm sẽ được đặt tên dựa trên prefix là tên nhóm Instance.
  • Min Instance (Số lượng tối thiểu): Số lượng máy ảo tối thiểu luôn phải hoạt động và gắn với load balancing rule. Đây là những máy ảo ứng dụng đang chạy, phục vụ lưu lượng và được cân bằng tải. Thông số này đảm bảo luôn có ít nhất số máy ảo tối thiểu sẵn sàng phục vụ.
  • Max Instance (Số lượng tối đa): Giới hạn số lượng máy ảo tối đa có thể hoạt động đồng thời trong load balancing rule. Thông số này đặt trần cho số lượng máy ảo được phép mở rộng.
  • Lưu ý: nếu đặt giá trị quá lớn, hệ thống có thể khởi tạo nhiều máy ảo vượt mức quota của tài khoản hoặc domain.
  • Polling Interval (Chu kỳ kiểm tra): Tần suất đánh giá các điều kiện (counter, operator, threshold) trước khi quyết định Scale Up hoặc Scale Down. Lưu ý chu kỳ này phải nhỏ hơn thông số Duration của Policy.
  • Expunge Instance Grace Period (Thời gian chờ trước khi xóa Instance): Thời gian chờ (tính bằng giây) sau khi Scale Down được kích hoạt, trước khi một Instance bị expunge (xóa hoàn toàn). Khoảng thời gian này cho phép Instance xử lý nốt các phiên hoặc giao dịch còn dang dở.
  • Create (Tạo nhóm): Nhấn Create để khởi tạo AutoScale Instance Group với các thông số đã cấu hình.

Kiểm tra kết quả #

Sau khi tạo xong AutoScaling Groups, hệ thống sẽ tự tạo ra số lượng VM bằng với giá trị Min members. Để xem thông tin các VM trong AutoScaling Groups, Quý Khách nhấp vào tên của nó và chọn “View Instances“. Thao tác này sẽ giúp hiển thị danh sách đầy đủ tất cả các Instance trong nhóm.

Hai Instance đã được tạo thành công, vì số lượng thành viên tối thiểu được đặt là 2

Tiếp theo, Quý Khách có thể sử dụng Console hoặc Port Forwarding để kết nối đến VM. Bên trong VM, Quý Khách sử dụng lệnh bên dưới để mô phỏng lượng lớn truy cập đến Website và thỏa mãn điều kiện để kích hoạt Scale-up.

ab -n 10000000 -c 30 http://IP của Load Balancing/

Sau 1 khoảng thời gian, số lượng VM sẽ tự động tăng, tối đa bằng giá trị Max members.

Hủy lệnh ở trên bằng Ctrl + C, điều này sẽ khiến số lượng request giảm xuống 0, từ đó kích hoạt hành động giảm quy mô (scale-down) cho nhóm. Sau 1 khoảng thời gian, số lượng VM sẽ trở lại như ban đầu.

Tổng kết #

Như vậy là vHost đã hướng dẫn Quý Khách sử dụng chức năng AutoScaling Instance trên Cloud Gen 4. Hy vọng hướng dẫn này sẽ giúp Quý Khách có thể sử dụng dịch vụ với trải nghiệm tốt hơn.

Nếu Quý khách hàng có thắc mắc gì trong quá trình thực hiện, Quý khách có thể liên hệ qua các kênh sau:

Nếu Quý Khách có bất kỳ câu hỏi hoặc phản hồi nào, hãy để lại bình luận bên dưới.

Powered by BetterDocs

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top
Mừng sinh nhật vHost 15 năm 9/9/2010 - 9/9/2025 ưu đãi lên đến 90%
Giải thưởng Macbook Air M4 đang chờ Quý khách và vô vàn quà tặng khác
Tham gia ngay
Giải thưởng Macbook Air M4 2025
Đang chờ Quý khách nhận khi đăng ký mới dịch vụ
Đăng ký ngay
Dẹp bỏ nỗi lo hệ thống và tập trung kinh doanh
Managed VPS
Dùng thử ngay
Get a Shocking Discount!
Get 85% OFF on all our selected products
Check it out