0
0
Lập trình
Thaycacac
Thaycacac thaycacac

Hướng Dẫn Cài Đặt Cân Bằng Tải Nội Bộ HTTP Trên GCP

Đăng vào 1 tháng trước

• 4 phút đọc

Google Cloud - Cân Bằng Tải Ứng Dụng Nội Bộ HTTP


Giới thiệu

Trong bài viết này, chúng ta sẽ tìm hiểu cách triển khai một Cân Bằng Tải Ứng Dụng Nội Bộ (Internal Application Load Balancer) sử dụng giao thức HTTP trên Google Cloud Platform (GCP). Việc thiết lập cân bằng tải nội bộ giúp chia sẻ tải giữa các máy chủ trong cùng một vùng, cải thiện hiệu suất và tính sẵn sàng của ứng dụng.

Bước 1: Chuẩn bị

Trước khi bắt đầu, bạn cần thực hiện một số bước chuẩn bị:

  • Bước 1.1: Tạo Mẫu Phiên Bản và Nhóm Phiên Bản Quản Lý. Bạn có thể tham khảo bài viết trước để thực hiện điều này:

Hướng Dẫn Tạo MIGs và Cân Bằng Tải Ngoại Bộ

Bước 2: Tạo Subnet Dành Riêng cho Cân Bằng Tải

  • Đi đến: VPC Networks -> vpc3-custom -> SUBNETS -> THÊM SUBNET
  • Tên: lb-subnet-proxyonly-us-central1
  • Mô tả: lb-subnet-proxyonly-us-central1
  • Khu vực: us-central1
  • Mục đích: Regional Managed Proxy
  • Vai trò: Active
  • Dải IPv4: 10.129.0.0/23
  • Nhấn vào: THÊM

Bước 3: Tạo Quy Tắc Tường Lửa

fw-allow-proxy-only-subnet: Quy tắc cho phép kết nối từ subnet chỉ dành cho proxy đến các backend.

bash Copy
# Quy Tắc Tường Lửa: Cho phép kết nối từ Subnet Proxy cho Tất cả Phiên Bản trong mạng
gcloud compute firewall-rules create vpc3-custom-allow-proxy-only-subnet \
    --network=vpc3-custom \
    --action=allow \
    --direction=ingress \
    --source-ranges=10.129.0.0/23 \
    --rules=tcp:80,tcp:443,tcp:8080

Bước 4: Tạo Kiểm Tra Sức Khỏe

bash Copy
# Tạo Kiểm Tra Sức Khỏe Khu Vực
gcloud compute health-checks create http regional-http-health-check --port=80 --region=us-central1 

Bước 5: Tạo Cân Bằng Tải Ứng Dụng - HTTP

  • Đi đến: Network Services -> Load Balancing -> TẠO CÂN BẰNG TẢI
  • Chọn: Application Load Balancer (HTTP/S): BẮT ĐẦU CẤU HÌNH
  • Chỉ định: Chỉ giữa các VM của tôi hoặc dịch vụ serverless
  • Toàn cầu hay Khu vực: Cân Bằng Tải Nội Bộ Khu Vực
  • Tên Cân Bằng Tải: regional-lb-internal-http
  • Khu Vực: us-central1
  • Mạng: vpc3-custom

Cấu Hình Backend

  • Nhấn vào: TẠO DỊCH VỤ BACKEND
  • Tên: regional-mybackend-svc1
  • Mô tả: regional-mybackend-svc1
  • Loại Backend: Nhóm Phiên Bản
  • Giao Thức: HTTP
  • Cổng Được Đặt Tên: webserver80 (TỰ ĐỘNG ĐIỀN KHI CHỌN BACKEND LÀ mig1-lbdemo)
  • Thời Gian Chờ: 30 giây
bash Copy
# Cấu hình Backend cho nhóm phiên bản 1
Instance Group: zmig-us-1
Port Numbers: 80
REST ALL LEAVE TO DEFAULTS
# Cấu hình Backend cho nhóm phiên bản 2
Instance Group: zmig-us-2
Port Numbers: 80
REST ALL LEAVE TO DEFAULTS
  • Kiểm Tra Sức Khỏe: regional-http-health-check
  • Bảo Mật: Chính sách bảo mật backend Cloud Armor: KHÔNG
  • Nhấn vào: TẠO

Quy Tắc Định Tuyến

  • Chế Độ: Quy tắc host và path đơn giản
  • REST ALL LEAVE TO DEFAULTS

Cấu Hình Frontend

  • Nhấn vào: THÊM IP VÀ CỔNG FRONTEND
  • Tên: frontend-http
  • Mô tả: frontend-http
  • Giao thức: HTTP
  • Subnet: mysubnet1
  • Cổng: 80
  • Địa chỉ IP: regional-internal-lb-ip1 TẠO MỘT IP TĨNH NỘI BỘ MỚI
  • Truy cập toàn cầu: Bật
  • Nhấn vào: HOÀN TẤT

Bước 6: Xác Nhận Cân Bằng Tải

  • Đi đến: Network Services -> Load Balancing -> global-lb-external-http
  • Kiểm tra các Tab
bash Copy
LOAD BALANCERS
BACKENDS
FRONTENDS

Bước 7: Kiểm Tra từ cùng một khu vực: us-central1

Lưu ý Quan Trọng: CHỜ TỪ 3 đến 5 phút trước khi Cân Bằng Tải hoàn toàn hoạt động

bash Copy
# Kết nối đến bất kỳ VM nào được tạo như một phần của MIG
gcloud compute ssh --zone "us-central1-c" "zmig-us-2-9jm9" --project "gcplearn9"

# Truy cập Ứng Dụng
curl http://INTERNAL-LB-IP
curl http://10.135.0.8

Bước 8: Kiểm Tra từ khu vực khác: us-east1 (Truy Cập Toàn Cầu Bật)

Vì Truy Cập Toàn Cầu đã được bật, xác minh xem cân bằng tải nội bộ này có thể truy cập từ các khu vực khác không

bash Copy
# Tạo VM Khách Hàng trong khu vực us-east1
gcloud compute instances create us-east1-clientvm \
    --zone=us-east1-c \
    --subnet=us-east1-subnet

# Kết nối đến VM sử dụng gcloud
gcloud compute ssh --zone "us-east1-c" "us-east1-clientvm" 

# Truy cập Ứng Dụng
curl http://INTERNAL-LB-IP
curl http://10.135.0.8

Bước 9: Xóa Cân Bằng Tải

  • Xóa Cân Bằng Tải được tạo trong bài hướng dẫn này.
  • Xóa VM Thử Nghiệm.
  • Không xóa dịch vụ backend.

Thực hành tốt nhất

  • Đảm bảo rằng bạn đã cấu hình đầy đủ các quy tắc tường lửa trước khi triển khai cân bằng tải.
  • Theo dõi hiệu suất của cân bằng tải để tối ưu hóa các tham số cấu hình.

Cạm bẫy thường gặp

  • Không cấu hình chính xác nhóm phiên bản có thể dẫn đến lỗi kết nối.
  • Quên tạo kiểm tra sức khỏe có thể gây ra sự cố về khả năng sẵn sàng.

Mẹo hiệu suất

  • Sử dụng các subnet không chồng chéo để tránh xung đột địa chỉ IP.
  • Sử dụng các chính sách bảo mật để bảo vệ backend.

Khắc phục sự cố

  • Nếu không thể kết nối đến cân bằng tải, hãy kiểm tra lại các quy tắc tường lửa và kiểm tra sức khỏe.

🌟 Cảm ơn bạn đã đọc! Nếu bài viết này hữu ích, hãy thích ❤️, 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 & Đám Mây Cao Cấp

☁️ AWS | GCP | ☸️ Kubernetes | 🔐 Bảo Mật | ⚡ Tự Động Hóa
📌 Chia sẻ hướng dẫn thực hành, thực tiễn tốt nhất & giải pháp đám mây trong thế giới thực.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào