Giới thiệu về Load Balancing Cloud - Network Load Balancer (TCP/TLS)
Load Balancing là một dịch vụ quan trọng trong điện toán đám mây, cho phép phân phối lưu lượng truy cập đến nhiều máy chủ, từ đó nâng cao hiệu suất và độ tin cậy của ứng dụng. Trong bài viết này, chúng ta sẽ tìm hiểu cách triển khai Load Balancer Mạng Toàn Cầu với TCP Proxy trên Google Cloud Platform (GCP).
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ị:
- Tạo Instance Templates và Managed Instance Groups như một phần của demo này. Bạn có thể tham khảo hướng dẫn này để biết cách thực hiện.
Bước 2: Tạo Health Check - TCP
Health Check là một phần quan trọng trong việc đảm bảo rằng các backend của bạn hoạt động bình thường. Để tạo một health check cho TCP, hãy sử dụng lệnh sau:
bash
# Tạo health check cho TCP
gcloud compute health-checks create tcp global-tcp-health-check --port 80
Bước 3: Tạo Global External Network Load Balancer
- Đi tới: Network Services -> Load Balancing -> CREATE LOAD BALANCER
- Chọn: Network Load Balancer (TCP/SSL): START CONFIGURATION
- Lựa chọn: Internet facing or internal only: Chọn từ Internet đến các VM của tôi
- Chọn: Multiple regions or single region: Nhiều vùng (hoặc nếu bạn không chắc chắn)
- Chọn: Classic or advanced traffic management: Quản lý lưu lượng nâng cao
- Đặt tên: global-lb-external-tcp
Cấu Hình Backend
- Nhấp vào CREATE A BACKEND SERVICE
- Tên: global-lb-external-tcp
- Mô tả: global-lb-external-tcp
- Loại backend: Instance Group
- Giao thức: TCP
- Cổng: webserver80 (tự động điền khi backend được chọn là mig1-lbdemo)
- Timeout: 30 giây
- Chính sách lựa chọn địa chỉ IP: Chỉ IPv4
Cấu hình BACKENDS:
bash
IP stack type: IPv4 (single stack)
Instance Group: mig1-us-central1
Port Numbers: 80
REST ALL LEAVE TO DEFAULTS
Click on DONE
Instance Group: mig1-us-east1
Port Numbers: 80
REST ALL LEAVE TO DEFAULTS
Click on DONE
- Health Check: global-tcp-health-check
Cấu Hình Frontend
- Nhấp vào ADD FRONTEND IP AND PORT
- Tên: frontend-tcp
- Mô tả: frontend-tcp
- Giao thức: TCP
- Network Service Tier: Premium
- Phiên bản IP: IPv4
- Địa chỉ IP: global-lb-ip5 TẠO ĐỊA CHỈ IP TĨNH MỚI
- Cổng: 80
- Giao thức proxy: OFF
Bước 4: Xem lại và hoàn tất
- Kiểm tra tất cả các thiết lập
- Nhấp vào CREATE
Bước 5: Xác minh Load Balancer
- Truy cập: Network Services -> Load Balancing -> global-lb-external-tcp
- Xem lại các tab:
bash
LOAD BALANCERS
BACKENDS
FRONTENDS
Bước 6: Truy Cập Ứng Dụng Sử Dụng Địa Chỉ IP của LB trên Trình Duyệt
- Lưu ý quan trọng: CHỜ TỪ 3 ĐẾN 5 PHÚT trước khi Load Balancer hoạt động hoàn toàn.
Bước 7: Kiểm tra chức năng đa vùng (gửi lưu lượng đến vùng gần nhất với người dùng)
Để mô phỏng một người dùng ở vùng địa lý khác, bạn có thể kết nối với một trong những instance máy ảo của bạn ở vùng khác, và sau đó chạy lệnh curl từ instance đó để thấy yêu cầu được gửi đến instance ở vùng gần nhất.
bash
# Đặt Project
gcloud config set project PROJECT_ID
gcloud config set project gcpdemos
# Vùng: us-central1
gcloud compute ssh --zone "us-central1-c" "mig1-us-central1-xq12"
curl http://LB-IP
# Vùng: us-east1
gcloud compute ssh --zone "us-east1-d" "mig2-us-east1-693l"
curl http://LB-IP
Bước 8: Xóa Load Balancer
- Xóa Load Balancer đã tạo như một phần của demo này.
Thực Hành Tốt Nhất
- Luôn kiểm tra các cài đặt của bạn trước khi hoàn tất cấu hình Load Balancer.
- Sử dụng Health Checks để đảm bảo rằng backend của bạn luôn hoạt động.
Những Cạm Bẫy Thường Gặp
- Quên cấu hình Health Checks có thể dẫn đến việc Load Balancer không hoạt động đúng cách.
- Chọn sai loại IP (IPv4/IPv6) có thể gây ra lỗi.
Mẹo Hiệu Suất
- Thường xuyên theo dõi hiệu suất của Load Balancer để đảm bảo tối ưu hóa.
- Sử dụng các công cụ phân tích lưu lượng để tối ưu hóa chi phí và hiệu suất.
Xử Lý Sự Cố
- Nếu Load Balancer không hoạt động, kiểm tra lại cấu hình Health Checks và các backend.
- Đảm bảo rằng firewall cho phép lưu lượng truy cập đến Load Balancer.
Kết Luận
Triển khai Load Balancer Mạng Toàn Cầu trên GCP không chỉ giúp cải thiện hiệu suất và độ tin cậy cho ứng dụng mà còn mang lại trải nghiệm tốt hơn cho người dùng. Hãy thực hiện theo hướng dẫn này và bắt đầu tối ưu hóa ứng dụng của bạn ngay hôm nay! Nếu bạn thấy 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 ra nhiều nội dung hơn.
— Latchu | Kỹ Sư DevOps & Cloud Cấp Cao
☁️ AWS | GCP | ☸️ Kubernetes | 🔐 Bảo Mật | ⚡ Tự Động Hóa
📌 Chia sẻ hướng dẫn thực hành, các thực tiễn tốt nhất & giải pháp đám mây thực tế.