Giới thiệu
Trong Google Cloud Platform (GCP), việc tạo Managed Instance Group (MIG) và Load Balancer là rất quan trọng để quản lý các phiên bản máy ảo (VM) và tối ưu hóa hiệu suất ứng dụng. Bài viết này sẽ hướng dẫn bạn cách tạo một Zonal Managed Instance Group và triển khai Regional External Load Balancer trong GCP.
Mục tiêu
- Tạo Regional Health Check
- Tạo Quy tắc Tường lửa
- Tạo Mẫu Phiên bản
- Tạo Zonal Managed Instance Group
Tạo Zonal Managed Instance Group (MIG)
Khái niệm về Zonal Managed Instance Group
Một Managed Instance Group (MIG) là một tập hợp các phiên bản VM giống hệt nhau, được quản lý như một thực thể duy nhất. Khi nói đến zonal managed instance group, nghĩa là:
- Các phiên bản trong nhóm được tạo ra trong một khu vực duy nhất (ví dụ: us-central1-a).
- Nhóm này bị ràng buộc với khu vực đó, vì vậy tất cả các tài nguyên (VM, đĩa, v.v.) đều thuộc về khu vực đó.
- Nếu khu vực đó gặp sự cố, tất cả các VM trong MIG sẽ bị ảnh hưởng.
Bước 1: Tạo Regional Health Check - TCP
Để đảm bảo tính khả dụng của ứng dụng, bạn cần tạo một Health Check cho các dịch vụ của mình.
bash
# Tạo Regional Health Check
gcloud compute health-checks create tcp regional-tcp-health-check \
--port=80 \
--region=us-central1
Bước 2: Tạo Quy tắc Tường lửa
Tạo quy tắc tường lửa cho phép lưu lượng từ các hệ thống kiểm tra sức khỏe của Google Cloud.
bash
# Quy tắc Tường lửa - Cho phép lưu lượng từ hệ thống kiểm tra sức khỏe
gcloud compute firewall-rules create vpc3-custom-allow-health-check \
--network=vpc3-custom \
--description=Cho phép lưu lượng từ hệ thống kiểm tra sức khỏe \
--direction=ingress \
--source-ranges=130.211.0.0/22,35.191.0.0/16 \
--action=allow \
--rules=tcp:80
Bước 3: Tạo Mẫu Phiên bản
Trước khi tạo mẫu phiên bản, đảm bảo rằng tệp nginx-webserver.sh có sẵn trong Google Cloud Shell.
bash
#!/bin/bash
sudo apt install -y telnet
sudo apt install -y nginx
sudo systemctl enable nginx
sudo chmod -R 755 /var/www/html
HOSTNAME=$(hostname)
sudo echo "<!DOCTYPE html> <html>
<body style='background-color:rgb(250, 210, 210);'>
<h1>Chào mừng đến với Latchu@DevOps - Ứng dụng WebVM App1 </h1>
<p><strong>Hostname của VM:</strong> $HOSTNAME</p>
<p><strong>Địa chỉ IP của VM:</strong> $(hostname -I)</p>
<p><strong>Phiên bản ứng dụng:</strong> V1</p>
<p>Google Cloud Platform - Demo</p>
</body></html>" | sudo tee /var/www/html/index.htm
Bước 4: Tạo Zonal Managed Instance Groups
Tạo các nhóm phiên bản quản lý trong các khu vực khác nhau.
bash
# Tạo Managed Instance Groups trong khu vực us-central1-a
gcloud compute instance-groups managed create zmig-us-1 \
--zone us-central1-a \
--size 2 \
--template it-rlbdemo-us-central1
# Tạo Managed Instance Groups trong khu vực us-central1-c
gcloud compute instance-groups managed create zmig-us-2 \
--zone us-central1-c \
--size 2 \
--template it-rlbdemo-us-central1
Tạo Regional Application Load Balancer HTTP
Bước 1: Tạo Load Balancer
Sau khi đã tạo xong các nhóm phiên bản, bạn có thể tiến hành tạo Load Balancer.
Bước 2: Đặt tên và cấu hình Frontend
- Tên: regional-lb-external-http
- Khu vực: us-central1
- Mạng: vpc3-custom
Bước 3: Cấu hình Backend
- Tên dịch vụ backend: regional-mybackend-svc1
- Loại backend: Instance Group
- Thời gian chờ: 30 giây
bash
# Cấu hình backend cho Load Balancer
gcloud compute backend-services create regional-mybackend-svc1 \
--protocol=HTTP \
--health-checks=regional-http-health-check \
--global
Bước 4: Xác nhận và hoàn tất cấu hình
Xem lại tất cả các cấu hình và nhấn "Tạo". Đừng quên kiểm tra lại trước khi hoàn tất.
Bước 5: Kiểm tra Load Balancer
bash
# Kiểm tra Load Balancer
gcloud compute forwarding-rules list
Bước 6: Truy cập Ứng dụng
Sau khi load balancer đã hoạt động, bạn có thể truy cập ứng dụng qua địa chỉ IP mà Load Balancer cung cấp.
Lưu ý quan trọng: Chờ khoảng 3 đến 5 phút trước khi Load Balancer hoạt động hoàn toàn.
bash
http://34.135.38.113/
Mẹo và Thực hành tốt
- Luôn kiểm tra sức khỏe của các dịch vụ để đảm bảo tính khả dụng cao.
- Sử dụng các nhóm phiên bản để dễ dàng quản lý và mở rộng quy mô.
- Đảm bảo cấu hình tường lửa đúng cách để bảo vệ ứng dụng của bạn.
Câu hỏi thường gặp (FAQ)
1. Zonal Managed Instance Group là gì?
Zonal Managed Instance Group là một nhóm các phiên bản VM được tạo ra và quản lý trong một khu vực cụ thể.
2. Load Balancer là gì?
Load Balancer giúp phân phối lưu lượng truy cập đến các phiên bản VM, đảm bảo hiệu suất và tính khả dụng của ứng dụng.
3. Làm thế nào để kiểm tra tình trạng của Load Balancer?
Bạn có thể sử dụng lệnh gcloud compute forwarding-rules list để kiểm tra tình trạng của Load Balancer.
Kết luận
Việc tạo Zonal Managed Instance Group và Load Balancer trong GCP không chỉ giúp bạn quản lý tài nguyên dễ dàng mà còn tối ưu hóa hiệu suất ứng dụng. Hãy bắt đầu thực hiện ngay hôm nay để nâng cao khả năng hoạt động của hệ thống của bạn!
🌟 Cảm ơn bạn đã đọc! Nếu bài viết này hữu ích, hãy nhấn like ❤️, theo dõi hoặc chia sẻ để tôi có động lực tạo thêm nhiều nội dung hơn nữa.
— Latchu | Kỹ sư DevOps & Cloud hàng đầu
☁️ AWS | GCP | ☸️ Kubernetes | 🔐 Bảo mật | ⚡ Tự động hóa
📌 Chia sẻ hướng dẫn thực hành, thực hành tốt và giải pháp cloud thực tế.