Tự động tối ưu số lượng Cloud Server với FPT Cloud Autoscale

Tự động tối ưu số lượng Cloud Server với FPT Cloud Autoscale

Tác giả: fpt fpt
00:00

Autoscale email

Dưới đây là các bước hướng dẫn giúp người dùng có thể thiết lập hệ thống với FPT Cloud Autoscale và FPT Load Balancer dễ dàng và nhanh chóng. Trường hợp giả lập được thiết kế trong video hướng dẫn là Khách hàng đang có ứng dụng web bán hàng đã cài đặt sẵn các phần mềm liên quan, mong muốn cấu hình Autoscale tự động clone thêm số lượng VM khi tải CPU trung bình vượt qua 80%, các VM tạo ra hoặc xóa đi đều được gán vào pool của một Load Balancer. Dưới đây là video hướng dẫn thiết lập FPT Cloud Autoscale để giải quyết vấn đề trên:

 

Bước 1: Tắt vm-template đã khởi tạo đầy đủ Network, security Group và các thành phần liên quan. Sau đó tạo VM-Template đã cài sẵn ứng dụng để tạo Custom Image mẫu cho các VM Clone của FPT Cloud Autoscale

Picture3

Picture4

Note: Khách hàng có thể sử dụng cloud-init thay vì custom image để cài đặt ứng dụng tự động cho các vm của autoscale
Note 1: Trong trường hợp người dùng cần thay đổi nội dung phần mềm trên các VM thuộc autoscale group (ví dụ cần cập nhật phiên bản phần mềm, hoặc thay đổi thông số hệ thống) sẽ có các phương án sau đây:
– Đối với Autoscale Group tạo từ custom image: Người dùng tạo ra một image mới với các thay đổi và tạo ra Autoscale Profile mới tương ứng để update vào Autoscale Group từ đó các VM scale sẽ tự động cập nhật theo template mới của khách hàng.
– Đối với trường hợp sử dụng cloud-init script: Thông thường người dùng nên chuẩn bị đoạn script chạy để cài đặt VM scale sẽ luôn lấy config hoặc version mới của phần mềm để cài vào. Trong trường hợp người dùng muốn thay đổi cloud-init script có thể tạo Autoscale Profile mới với đoạn script được cập nhật và tiến hành Update cho Autoscale Group để các VM scale sử dụng script mới nhất khi chạy cài đặt cấu hình.
Note 2: Khách hàng cần chuẩn bị trước security group mở sẵn rule cần thiết cho vm. E.g allow 80,443 để public dịch vụ web, …

Bước 2: Tạo autoscale profile sử dụng custom image đã tạo bước trên cùng với các cấu hình tùy chỉnh theo ứng dụng của KH cho từng VM.
Picture5

 

Picture6

Bước 3: Khi đã chuẩn bị đầy đủ thông tin tiến hành tạo autoscaling group với cấu hình mong muốn theo yêu cầu của khách hàng
Note 1: Nên để min=1 để đảm bảo ít nhất 1 VM dịch vụ trong group để đảm bảo dịch vụ web của khách hàng luôn được duy trì.
Picture7

Picture8

Bước 4: Khởi tạo load-balancer để public dịch vụ web của khách hàng ra bên ngoài từ đó có thể map domain với ip public từ dịch vụ FPT Loadbalancer
Picture9
Bước 5: Cấu hình loadbalancer cho autoscaling group để đảm bảo các thay đổi số lượng VM trong group sẽ được tự động gán vào loadbalancer san tải cho dịch vụ của khách hàng.
Tạo cấu hình autoscale policy tương ứng với LB vừa tạo ra:

Picture10

Picture11
Gán Policy này với autoscaling group tương ứng:

Picture12

Picture13

Picture14

Picture15

Đến đây chúng ta đã cơ bản hoàn thành việc cấu hình dịch vụ Autoscale cho ứng dụng web. Ngoài ra, tính năng autoscaling còn thể áp dụng vào các ứng dụng hoạt động cluster như K8S, kafka, elastic search, training AI/ML node, streaming worker, … sẽ được FPT Cloud đưa vào ở các video hướng dẫn sau. Ở đây khách hàng đã có thể sử dụng tính năng Scale Out, Scale In, Resize để cập nhật số lượng VM trong group theo nhu cầu sử dụng hoặc cấu hình dịch vụ Cloud Guard monitor và scale tự động theo thông số % CPU, % RAM như sau:

Bước 6: Chuyển đến mục Cloud Guard – Alert và lựa chọn tạo mới một alert tương ứng đồng thời cấu hình các thông số cảnh báo, action như hình sau:
Picture16

 

Picture17

 

Picture18

Như cấu hình trên, hệ thống sẽ tự động scale-out một group khi trung bình CPU của toàn bộ vm trong group vượt ngưỡng 80% trong 5 phút, khi xảy ra alert đồng thời sẽ gửi email về cho người liên quan ở mục notified to để giúp thông báo cho người dùng. Ngoài ra người dùng còn có thể đặt cảnh báo ngưỡng % RAM hoặc tạo nhiều cảnh báo hoạt động cùng lúc để tổ hợp nhiều điều kiện (ví dụ CPU > 80% hoặc RAM >= 90% ) để thực hiện mở rộng hoặc thu hồi VM theo mong muốn.
Với cấu hình trên tất cả các VM scale out web đều được gán vào một pool của dịch vụ LoadBalancer sau khi khởi động thành công, nhờ vào khả năng health check của LB giúp đảm bảo cho ứng dụng trong VM khách hàng chỉ UP và nhận request khi ứng dụng đã sẵn sàng. Trường hợp khách hàng mong muốn cấu hình scale in khi tải đã trờ về CPU < 80% mà vẫn đảm bảo ứng dụng hoạt động ổn định có thể tự thực hiện manual scale-in trên giao diện hoặc đặt thêm giám sát thực hiện scale-in khi tải trở về ngưỡng an toàn (vd CPU < 10%) mà khi đó ứng dụng có thể xóa bớt các VM Scale.

Chi phí khi sử dụng tính năng Autoscaling linh hoạt theo dạng “Pay as you go”. Khách hàng chỉ cần trả tiền theo đúng những tài nguyên đã sử dụng Ví dụ: Ứng dụng được scale ra 10 VM vào giờ làm việc hành chính và sẽ scale về 1 VM sau 18h được tính tiền theo sử dụng vCPU, RAM, Disk của 10 VM trong 10 giờ, và 1 VM cho 14 giờ còn lại. Giúp tiết kiệm tối đa chi phí khách hàng khi sử dụng Cloud.
Trong một số trường hợp khi ứng dụng của khách hàng xảy ra tải vượt ngưỡng trong thời gian dài và Autoscale Group đã scale đạt tới số lượng MAX VM (Ví dụ: Hệ thống bị tấn công DDoS). Khách hàng sẽ được nhận liên tục email cảnh báo nhắc nhở vượt ngưỡng CPU, RAM theo chu kỳ đã cấu hình , khi đó hãy liên hệ ngay với trung tâm hỗ trợ kỹ thuật của FPT Cloud để được tư vấn và khắc phục để tránh bị lãng phí tài nguyên sử dụng hoặc ảnh hưởng đến chất lượng dịch vụ của khách hàng.

 

Liên hệ với chúng tôi để được tư vấn chi tiết về các dịch vụ của FPT Cloud dành cho doanh nghiệp.