1. Giới thiệu
Tính năng cân bằng tải HTTP(S) của Google Cloud được triển khai ở rìa mạng của Google tại các điểm hiện diện Google (POP) trên toàn thế giới. Lưu lượng truy cập của người dùng được chuyển đến trình cân bằng tải HTTP(S) sẽ nhập vào POP gần người dùng nhất và sau đó được cân bằng tải qua mạng toàn cầu của Google tới phần phụ trợ gần nhất có đủ dung lượng.
Cloud Armor là hệ thống phát hiện tường lửa ứng dụng web (WAF) và từ chối dịch vụ phân tán của Google. Cloud Armor được kết hợp chặt chẽ với Trình cân bằng tải HTTP của Google Cloud và cho phép bạn kiểm tra lưu lượng truy cập đến đối với các yêu cầu không mong muốn. Tính năng giới hạn số lượng yêu cầu của dịch vụ này cho phép bạn hạn chế lưu lượng truy cập vào các tài nguyên phụ trợ dựa trên số lượng yêu cầu, đồng thời ngăn lưu lượng truy cập không mong muốn sử dụng tài nguyên trên mạng đám mây riêng tư ảo (VPC) của bạn.
Trong phòng thí nghiệm này, bạn sẽ định cấu hình một Trình cân bằng tải HTTP bằng các phần phụ trợ chung, như minh hoạ trong sơ đồ dưới đây. Sau đó, bạn sẽ kiểm thử nghiêm ngặt Trình cân bằng tải và thêm chính sách giới hạn tốc độ của Cloud Armor để hạn chế lưu lượng truy cập vào các tài nguyên phụ trợ.
Kiến thức bạn sẽ học được
- Cách thiết lập Trình cân bằng tải HTTP với các biện pháp kiểm tra tình trạng thích hợp.
- Cách tạo chính sách giới hạn số lượng yêu cầu của Cloud Armor.
- Cách xác thực rằng chính sách giới hạn số lượng yêu cầu đang chặn lưu lượng truy cập khi chạy quy trình kiểm thử nghiêm ngặt qua máy ảo.
Bạn cần có
- Kết nối mạng cơ bản và kiến thức cơ bản về HTTP
- Kiến thức cơ bản về dòng lệnh Unix/Linux
2. Thiết lập và yêu cầu
Thiết lập môi trường theo tiến độ riêng
- Đăng nhập vào Google Cloud Console rồi tạo dự án mới hoặc sử dụng lại dự án hiện có. Nếu chưa có tài khoản Gmail hoặc Google Workspace, bạn phải tạo một tài khoản.
- Tên dự án là tên hiển thị của những người tham gia dự án này. Đây là một chuỗi ký tự không được API của Google sử dụng và bạn có thể cập nhật chuỗi này bất cứ lúc nào.
- Mã dự án phải là duy nhất trong tất cả các dự án Google Cloud và không thể thay đổi (bạn không thể thay đổi mã này sau khi đặt). Cloud Console sẽ tự động tạo một chuỗi duy nhất; thường bạn không quan tâm đến sản phẩm đó là gì. Trong hầu hết các lớp học lập trình, bạn sẽ cần tham chiếu đến Mã dự án (và mã này thường được xác định là
PROJECT_ID
). Vì vậy, nếu không thích, bạn có thể tạo một mã ngẫu nhiên khác hoặc bạn có thể thử mã của riêng mình để xem có mã này chưa. Sau đó, video sẽ được "đóng băng" sau khi tạo dự án. - Có giá trị thứ ba là Project Number (Số dự án) mà một số API sử dụng. Tìm hiểu thêm về cả ba giá trị này trong tài liệu này.
- Tiếp theo, bạn sẽ cần bật tính năng thanh toán trong Cloud Console để sử dụng tài nguyên/API trên Cloud. Việc chạy qua lớp học lập trình này sẽ không tốn nhiều chi phí. Để tắt các tài nguyên để bạn không phải chịu thanh toán ngoài hướng dẫn này, hãy làm theo mọi thao tác "dọn dẹp" hướng dẫn ở cuối lớp học lập trình. Người dùng mới của Google Cloud đủ điều kiện tham gia chương trình Dùng thử miễn phí 300 USD.
Khởi động Cloud Shell
Mặc dù bạn có thể vận hành Google Cloud từ xa trên máy tính xách tay, nhưng trong lớp học lập trình này, bạn sẽ sử dụng Google Cloud Shell, một môi trường dòng lệnh chạy trong Đám mây.
Trong Bảng điều khiển GCP, hãy nhấp vào biểu tượng Cloud Shell ở thanh công cụ trên cùng bên phải:
Sẽ chỉ mất một chút thời gian để cấp phép và kết nối với môi trường. Sau khi hoàn tất, bạn sẽ thấy như sau:
Máy ảo này chứa tất cả các công cụ phát triển mà bạn cần. Phiên bản này cung cấp thư mục gốc có dung lượng ổn định 5 GB và chạy trên Google Cloud, giúp nâng cao đáng kể hiệu suất và khả năng xác thực của mạng. Bạn có thể thực hiện tất cả công việc trong phòng thí nghiệm này chỉ bằng một trình duyệt.
Trước khi bắt đầu
Bên trong Cloud Shell, hãy đảm bảo rằng bạn thiết lập mã dự án
gcloud config list project gcloud config set project [YOUR-PROJECT-NAME] PROJECT_ID=[YOUR-PROJECT-NAME] echo $PROJECT_ID
Cho phép API
Bật tất cả dịch vụ cần thiết
gcloud services enable compute.googleapis.com gcloud services enable logging.googleapis.com gcloud services enable monitoring.googleapis.com
3. Định cấu hình quy tắc tường lửa để cho phép lưu lượng truy cập HTTP gửi đến các phần phụ trợ
Định cấu hình các quy tắc về tường lửa để cho phép lưu lượng truy cập HTTP đến máy chủ phụ trợ từ tính năng kiểm tra tình trạng của Google Cloud và Trình cân bằng tải.
Chúng tôi sẽ dùng mạng VPC mặc định mà bạn đã tạo trong dự án. Tạo quy tắc tường lửa để cho phép lưu lượng truy cập HTTP gửi đến các phần phụ trợ. Tính năng kiểm tra tình trạng xác định phiên bản nào của trình cân bằng tải có thể nhận các kết nối mới. Đối với tính năng cân bằng tải HTTP, đầu dò kiểm tra tình trạng cho các thực thể cân bằng tải đến từ các địa chỉ trong các dải 130.211.0.0/22 và 35.191.0.0/16. Các quy tắc về tường lửa VPC của bạn phải cho phép những kết nối này. Ngoài ra, trình cân bằng tải còn trao đổi với máy chủ phụ trợ trên cùng một dải IP.
- Trong Cloud Console, hãy chuyển đến Trình đơn điều hướng ( ) > Mạng VPC > Tường lửa.
- Hãy lưu ý các quy tắc tường lửa ICMP, internal, RDP và SSH hiện có.Mỗi dự án trên Google Cloud đều bắt đầu bằng mạng mặc định và các quy tắc về tường lửa này.
- Nhấp vào Create Firewall Rule (Tạo quy tắc tường lửa).
- Thiết lập các giá trị sau đây, giữ nguyên tất cả các giá trị khác theo mặc định:
Thuộc tính | Giá trị (loại giá trị hoặc chọn một giá trị theo chỉ định) |
Tên | default-allow-health-check |
Mạng | mặc định |
Mục tiêu | Thẻ mục tiêu được chỉ định |
Thẻ mục tiêu | http-server |
Bộ lọc nguồn | Dải IP |
Dải IP nguồn | 130.211.0.0/22, 35.191.0.0/16 |
Giao thức và cổng | Giao thức và cổng được chỉ định, sau đó kiểm tra tcp |
- Nhấp vào Tạo.
Hoặc, nếu bạn đang sử dụng dòng lệnh gcloud. Dưới đây là lệnh:
gcloud compute firewall-rules create default-allow-health-check --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp --source-ranges=130.211.0.0/22,35.191.0.0/16 --target-tags=http-server
4. Định cấu hình mẫu thực thể và tạo nhóm thực thể được quản lý
Một nhóm thực thể được quản lý sẽ dùng mẫu thực thể để tạo một nhóm các thực thể giống nhau. Sử dụng các công cụ này để tạo phần phụ trợ của Trình cân bằng tải HTTP.
Định cấu hình các mẫu thực thể
Mẫu thực thể là một tài nguyên API mà bạn dùng để tạo các phiên bản máy ảo và nhóm thực thể được quản lý. Mẫu thực thể xác định loại máy, hình ảnh khởi động đĩa, mạng con, nhãn và các thuộc tính thực thể khác. Tạo một mẫu thực thể cho us-east1 và một mẫu cho europe-west1.
- Trong Cloud Console, hãy chuyển đến Trình đơn điều hướng ( ) > Compute Engine > (Công cụ điện toán) > Mẫu phiên bản, rồi nhấp vào Tạo mẫu phiên bản.
- Đối với Name (Tên), hãy nhập us-east1-template.
- Đối với Bộ sách, hãy chọn N1.
- Nhấp vào Nối mạng, Ổ đĩa, Bảo mật, Quản lý , Ổn định.
- Chuyển đến phần Quản lý -
- Trong Siêu dữ liệu, hãy nhấp vào Thêm mặt hàng và chỉ định những thông tin sau:
Khóa | Giá trị |
startup-script-url | gs://cloud-training/gcpnet/httplb/startup.sh |
- Nhấp vào Kết nối mạng.
- Đặt các giá trị sau và để tất cả các giá trị khác ở chế độ mặc định -
Thuộc tính | Giá trị (loại giá trị hoặc chọn một giá trị theo chỉ định) |
Mạng (Trong giao diện mạng) | mặc định |
Mạng con (Trong giao diện mạng) | mặc định (us-east1) |
Thẻ mạng | http-server |
- Nhấp vào Tạo.
- Chờ mẫu thực thể được tạo.
Bây giờ, hãy tạo một mẫu thực thể khác cho subnet-b bằng cách sao chép us-east1-template:
- Nhấp vào us-east1-template rồi nhấp vào lựa chọn Sao chép ở trên cùng.
- Đối với Name (Tên), hãy nhập europe-west1-template.
- Nhấp vào Nối mạng, Ổ đĩa, Bảo mật, Quản lý , Ổn định.
- Nhấp vào Kết nối mạng.
- Trong phần Network Interfaces (Giao diện mạng), hãy chỉnh sửa giao diện mặc định. Đối với Subnet, hãy chọn default (europe-west1).
- Nhấp vào Tạo.
Tạo nhóm thực thể được quản lý
Tạo một nhóm thực thể được quản lý trong us-east1 và một nhóm ở europe-west1.
- Vẫn trong Compute Engine, hãy nhấp vào Instance groups (Nhóm phiên bản) trên trình đơn bên trái.
- Nhấp vào Tạo nhóm thực thể. Chọn Nhóm thực thể được quản lý mới (không có trạng thái).
- Thiết lập các giá trị sau đây, giữ nguyên tất cả các giá trị khác theo mặc định:
Thuộc tính | Giá trị (loại giá trị hoặc chọn một giá trị theo chỉ định) |
Tên | CANNOT TRANSLATE |
Vị trí | Nhiều vùng |
Khu vực | hoa-đông-1 |
Mẫu phiên bản | Mẫu |
Tự động cấp tài nguyên bổ sung > Chính sách về phương thức tự động cấp tài nguyên bổ sung > Nhấp vào biểu tượng Bút chì > Loại chỉ số | Sử dụng CPU |
Sử dụng CPU mục tiêu | 80, nhấp vào Xong. |
Thời gian chờ | 45 |
Số lượng thực thể tối thiểu | 1 |
Số lượng thực thể tối đa | 5 |
- Nhấp vào Tạo.
Bây giờ, hãy lặp lại quy trình tương tự để tạo nhóm thực thể thứ hai cho europe-west1-mig trong europe-west1:
- Nhấp vào Tạo nhóm phiên bản.
- Thiết lập các giá trị sau đây, giữ nguyên tất cả các giá trị khác theo mặc định:
Thuộc tính | Giá trị (loại giá trị hoặc chọn một giá trị theo chỉ định) |
Tên | châu âu tây 1mig |
Vị trí | Nhiều vùng |
Khu vực | châu âu tây 1 |
Mẫu phiên bản | mẫu châu âu và tây 1 |
Tự động cấp tài nguyên bổ sung > Chính sách về phương thức tự động cấp tài nguyên bổ sung > Nhấp vào biểu tượng Bút chì > Loại chỉ số | Sử dụng CPU |
Sử dụng CPU mục tiêu | 80, nhấp vào Xong. |
Thời gian chờ | 45 |
Số lượng thực thể tối thiểu | 1 |
Số lượng thực thể tối đa | 5 |
- Nhấp vào Tạo.
5. Định cấu hình Trình cân bằng tải HTTP
Định cấu hình Trình cân bằng tải HTTP để cân bằng lưu lượng truy cập giữa 2 phần phụ trợ (us-east1-mig ở us-east1 và europe-west1-mig ở europe-west1), như minh hoạ trong sơ đồ mạng:
Bắt đầu định cấu hình
- Trong Cloud Console, hãy nhấp vào Trình đơn điều hướng ( ) > nhấp vào Dịch vụ mạng > Tải cân bằng, rồi nhấp vào Tạo trình cân bằng tải.
- Trong HTTP(S) Load Balancing, nhấp vào Start configuration (Bắt đầu cấu hình).
- Chọn Từ Internet đến máy ảo của tôi, Trình cân bằng tải HTTP(S) cổ điển rồi nhấp vào Tiếp tục.
- Đặt Tên thành http-lb.
Định cấu hình phần phụ trợ
Các dịch vụ phụ trợ hướng lưu lượng truy cập đến đến một hoặc nhiều phần phụ trợ đi kèm. Mỗi phần phụ trợ bao gồm một nhóm thực thể và siêu dữ liệu về khả năng phân phát bổ sung.
- Nhấp vào Cấu hình phần phụ trợ.
- Đối với Dịch vụ phụ trợ & bộ chứa phụ trợ, hãy nhấp vào Tạo dịch vụ phụ trợ.
- Thiết lập các giá trị sau đây, giữ nguyên tất cả các giá trị khác theo mặc định:
Thuộc tính | Giá trị (chọn một lựa chọn theo chỉ định) |
Tên | http-backend |
Nhóm bản sao | CANNOT TRANSLATE |
Số cổng | 80 |
Chế độ cân bằng | Đánh giá |
RPS tối đa | 50 (mỗi phiên bản) |
Công suất | 100 |
- Nhấp vào Xong.
- Nhấp vào Thêm phần phụ trợ.
- Thiết lập các giá trị sau đây, giữ nguyên tất cả các giá trị khác theo mặc định:
Thuộc tính | Giá trị (chọn một lựa chọn theo chỉ định) |
Nhóm bản sao | châu âu tây 1mig |
Số cổng | 80 |
Chế độ cân bằng | Sử dụng |
Sử dụng phần phụ trợ tối đa | 80 |
Công suất | 100 |
- Nhấp vào Xong.
- Đối với phần Kiểm tra tình trạng, hãy chọn Tạo quy trình kiểm tra tình trạng.
- Thiết lập các giá trị sau đây, giữ nguyên tất cả các giá trị khác theo mặc định:
Thuộc tính | Giá trị (chọn một lựa chọn theo chỉ định) |
Tên | http-health-check |
Giao thức | TCP |
Cổng | 80 |
- Nhấp vào Lưu.
- Chọn hộp Bật tính năng ghi nhật ký.
- Đặt Tốc độ lấy mẫu thành 1:
- Nhấp vào Tạo để tạo dịch vụ phụ trợ.
Định cấu hình giao diện người dùng
Các quy tắc về đường dẫn và máy chủ lưu trữ xác định cách hướng lưu lượng truy cập của bạn. Ví dụ: bạn có thể chuyển hướng lưu lượng truy cập video đến một phần phụ trợ và lưu lượng truy cập tĩnh đến một phần phụ trợ khác. Tuy nhiên, bạn chưa định cấu hình các quy tắc Máy chủ lưu trữ và đường dẫn trong phòng thí nghiệm này.
- Nhấp vào Cấu hình giao diện người dùng.
- Chỉ định như sau, để tất cả các giá trị khác theo mặc định:
Thuộc tính | Giá trị (loại giá trị hoặc chọn một giá trị theo chỉ định) |
Giao thức | HTTP |
Phiên bản IP | IPv4 |
Địa chỉ IP | Tạm thời |
Cổng | 80 |
- Nhấp vào Xong.
- Nhấp vào Thêm IP giao diện người dùng và cổng.
- Chỉ định như sau, để tất cả các giá trị khác theo mặc định:
Thuộc tính | Giá trị (loại giá trị hoặc chọn một giá trị theo chỉ định) |
Giao thức | HTTP |
Phiên bản IP | IPv6 |
Địa chỉ IP | Tạm thời |
Cổng | 80 |
- Nhấp vào Xong.
Xem lại và tạo Trình cân bằng tải HTTP
- Nhấp vào Xem lại và hoàn tất.
- Xem Dịch vụ phụ trợ và Giao diện người dùng.
- Nhấp vào Tạo.
- Chờ trình cân bằng tải được tạo.
- Nhấp vào tên của trình cân bằng tải (http-lb).
- Hãy ghi lại địa chỉ IPv4 và IPv6 của trình cân bằng tải cho tác vụ tiếp theo. Các giá trị này sẽ lần lượt được tham chiếu là [LB_IP_v4] và [LB_IP_v6].
6. Kiểm thử Trình cân bằng tải HTTP
Bây giờ, bạn đã tạo Trình cân bằng tải HTTP cho phần phụ trợ của mình, hãy xác minh rằng lưu lượng truy cập được chuyển tiếp đến dịch vụ phụ trợ.
Sử dụng Trình cân bằng tải HTTP
Để kiểm tra quyền truy cập IPv4 vào Trình cân bằng tải HTTP, hãy mở một thẻ mới trong trình duyệt và chuyển đến http://[LB_IP_v4]. Hãy nhớ thay thế [LB_IP_v4] bằng địa chỉ IPv4 của trình cân bằng tải.
Nếu bạn có địa chỉ IPv6 cục bộ, hãy thử địa chỉ IPv6 của Trình cân bằng tải HTTP bằng cách điều hướng đến http://[LB_IP_v6]. Hãy nhớ thay thế [LB_IP_v6] bằng địa chỉ IPv6 của trình cân bằng tải.
Kiểm thử tính ổn định của Trình cân bằng tải HTTP
Tạo máy ảo mới để mô phỏng tải trên Trình cân bằng tải HTTP bằng cách bao vây. Sau đó, xác định xem lưu lượng truy cập có được cân bằng trên cả hai phần phụ trợ hay không khi tải cao.
- Trong Bảng điều khiển, hãy chuyển đến Trình đơn điều hướng ( ) > Compute Engine > (Công cụ điện toán) > Thực thể máy ảo.
- Nhấp vào Tạo phiên bản.
- Thiết lập các giá trị sau đây, giữ nguyên tất cả các giá trị khác theo mặc định:
Thuộc tính | Giá trị (loại giá trị hoặc chọn một giá trị theo chỉ định) |
Tên | vây hãm-vm |
Khu vực | us-west1 |
Vùng | us-west1-c |
Chương trình dài tập | N1 |
- Nhấp vào Tạo.
- Chờ tạo thực thể siege-vm.
- Đối với siege-vm, hãy nhấp vào SSH để chạy một thiết bị đầu cuối và kết nối.
- Chạy lệnh sau để cài đặt trò chơi bao vây:
sudo apt-get -y install siege
- Để lưu trữ địa chỉ IPv4 của Trình cân bằng tải HTTP trong một biến môi trường, hãy chạy lệnh sau, thay thế [LB_IP_v4] bằng địa chỉ IPv4:
export LB_IP=[LB_IP_v4]
- Để mô phỏng một quá trình tải, hãy chạy lệnh sau:
siege -c 250 http://$LB_IP
Kết quả đầu ra sẽ có dạng như sau (đừng sao chép; đây là kết quả mẫu):
New configuration template added to /home/student/.siege Run siege -C to view the current settings in that file ** SIEGE 4.0.4 ** Preparing 250 concurrent users for battle. The server is now under siege...
- Trong Cloud Console, hãy nhấp vào Trình đơn điều hướng ( ), nhấp vào Dịch vụ mạng > Cân bằng tải.
- Nhấp vào http-lb.
- Nhấp vào thẻ Giám sát. Theo dõi lưu lượng truy cập giữa Bắc Mỹ và hai phần phụ trợ trong 2 đến 3 phút.
Ban đầu, lưu lượng truy cập chỉ nên chuyển đến us-east1-mig nhưng khi RPS tăng, lưu lượng truy cập cũng được chuyển đến europe-west1-mig.
Điều này minh hoạ rằng theo mặc định, lưu lượng truy cập được chuyển tiếp đến chương trình phụ trợ gần nhất, nhưng nếu mức tải rất cao, thì lưu lượng truy cập có thể được phân phối trên các phần phụ trợ.
- Quay lại thiết bị đầu cuối SSH của siege-vm.
- Hãy nhấn tổ hợp phím Ctrl+C để dừng bao vây.
7. Tạo chính sách giới hạn số lượng yêu cầu trong Cloud Armor
Trong phần này, bạn sẽ sử dụng Cloud Armor để ngăn siege-vm truy cập vào Trình cân bằng tải HTTP bằng cách thiết lập một chính sách giới hạn số lượng yêu cầu.
- Trong Cloud Shell(tham khảo phần "Bắt đầu Cloud Shell" trong phần "Thiết lập và yêu cầu" để xem hướng dẫn về cách sử dụng Cloud Shell), hãy tạo chính sách bảo mật qua gcloud:
gcloud compute security-policies create rate-limit-siege \ --description "policy for rate limiting"
- Tiếp theo, hãy thêm một quy tắc giới hạn số lượng yêu cầu:
gcloud beta compute security-policies rules create 100 \ --security-policy=rate-limit-siege \ --expression="true" \ --action=rate-based-ban \ --rate-limit-threshold-count=50 \ --rate-limit-threshold-interval-sec=120 \ --ban-duration-sec=300 \ --conform-action=allow \ --exceed-action=deny-404 \ --enforce-on-key=IP
- Đính kèm chính sách bảo mật vào phần phụ trợ của dịch vụ phụ trợ:
gcloud compute backend-services update http-backend \ --security-policy rate-limit-siege –-global
- Trong Bảng điều khiển, hãy chuyển đến Trình đơn điều hướng > Bảo mật mạng > Cloud Armor.
- Hành vi bao vây giới hạn tỷ lệ lượt nhấp. Chính sách của bạn phải có dạng như sau:
Xác minh Chính sách bảo mật
- Quay lại thiết bị đầu cuối SSH của siege-vm.
- Chạy một vòng lặp trên IP LB để xác minh rằng bạn vẫn có thể kết nối với IP này và sẽ nhận được phản hồi 200.
curl http://$LB_IP
- Trong thiết bị đầu cuối SSH của siege-vm, để mô phỏng quá trình tải, hãy chạy lệnh sau:
siege -c 250 http://$LB_IP
Kết quả đầu ra sẽ có dạng như sau (đừng sao chép; đây là kết quả mẫu):
** SIEGE 4.0.4 ** Preparing 250 concurrent users for battle. The server is now under siege...
- Xem nhật ký chính sách bảo mật để xác định xem lưu lượng truy cập này có bị chặn hay không.
- Trong Bảng điều khiển, hãy chuyển đến Trình đơn điều hướng > Bảo mật mạng > Cloud Armor.
- Nhấp vào rate-limit-siege (giới hạn tỷ lệ).
- Nhấp vào Nhật ký.
- Nhấp vào Xem nhật ký chính sách.
- Trên trang Ghi nhật ký, hãy nhớ xoá tất cả văn bản trong bản xem trước Truy vấn.
- Chọn tài nguyên làm Trình cân bằng tải của Cloud HTTP > http-lb-chuyển tiếp-quy tắc > http-lb sau đó nhấp vào Thêm. Ngoài ra, dưới đây là truy vấn MQL(giám sát ngôn ngữ truy vấn), bạn có thể sao chép và dán vào trình chỉnh sửa truy vấn -
resource.type="http_load_balancer" resource.labels.forwarding_rule_name="http-lb-forwarding-rule" resource.labels.url_map_name="http-lb"
- Bây giờ, hãy nhấp vào Run Query (Chạy truy vấn).
- Mở rộng một mục nhập nhật ký trong kết quả Truy vấn.
- Mở rộng httpRequest. Yêu cầu phải được gửi từ địa chỉ IP siege-vm. Nếu không, hãy mở rộng một mục nhập nhật ký khác.
- Mở rộng jsonPayload.
- Mở rộng khổ bảo mật được thực thi.
Lưu ý rằng configurationAction được đặt thành RATE_BASED_BAN với tên là rate-limit-siege.
- Để kiểm tra thêm, hãy chuyển tới Trình đơn điều hướng ( ), nhấp vào Dịch vụ mạng > Cân bằng tải. Nhấp vào http-lb. Nhấp vào thẻ Giám sát.
Bạn có thể xem lưu lượng truy cập bị vây trong biểu đồ. Bạn cũng sẽ lưu ý rằng lưu lượng truy cập bị giới hạn tốc độ sẽ không truy cập được vào phần phụ trợ và bị chặn theo chính sách của Cloud Armor.
Xin chúc mừng! Bạn đã hoàn thành phòng thí nghiệm này về Giới hạn số lần yêu cầu bằng Cloud Armor
©2020 Google LLC Bảo lưu mọi quyền. Google và biểu trưng Google là các nhãn hiệu của Google LLC. Tất cả các tên công ty và sản phẩm khác có thể là nhãn hiệu của công ty liên quan tương ứng.
8. Vệ sinh phòng thí nghiệm
- Chuyển đến phần Bảo mật mạng >> Giáp mây >> %POLICY NAME% và chọn xóa –
- Chuyển đến phần Kết nối mạng >> Dịch vụ mạng >> Cân bằng tải. Chọn trình cân bằng tải bạn đã tạo và nhấp vào xoá.
Chọn dịch vụ phụ trợ và tính năng kiểm tra tình trạng làm tài nguyên bổ sung sẽ bị xoá –
- Chuyển đến Trình đơn điều hướng ( ) > Compute Engine > (Công cụ điện toán) > Nhóm thực thể. Chọn cả hai nhóm thực thể được quản lý rồi nhấp vào xoá –
Xác nhận xoá bằng cách nhập "xoá" vào hộp văn bản.
Chờ hệ thống xoá các nhóm thực thể được quản lý. Thao tác này cũng sẽ xoá các thực thể trong nhóm. Bạn chỉ có thể xoá mẫu sau khi xoá nhóm thực thể.
- Chuyển đến mục Instance mẫu (Mẫu thực thể) trong ngăn bên trái**.** Chọn cả hai mẫu phiên bản rồi nhấp vào xoá –
- Chuyển đến phiên bản máy ảo từ ngăn bên trái**.** Chọn dấu ba chấm bên cạnh thực thể siege-vm rồi nhấp vào xoá.
- Chuyển đến Trình đơn điều hướng ( ) > Mạng VPC > Tường lửa. Chọn default- allow-health-check rồi nhấp vào Delete (Xoá)
9. Xin chúc mừng!
Bạn đã triển khai thành công giới hạn số lượng yêu cầu bằng Cloud Armor. Bạn đã định cấu hình Trình cân bằng tải HTTP bằng các chương trình phụ trợ ở us-east1 và europe-west1. Sau đó, bạn kiểm thử Trình cân bằng tải trên một máy ảo rồi đưa địa chỉ IP vào danh sách từ chối thông qua giới hạn số lượng yêu cầu bằng Cloud Armor. Bạn có thể tìm hiểu nhật ký chính sách bảo mật để xác định lý do lưu lượng truy cập bị chặn.
Nội dung đã đề cập
- Cách thiết lập mẫu thực thể và tạo nhóm thực thể được quản lý.
- Cách thiết lập Trình cân bằng tải HTTP.
- Cách tạo chính sách giới hạn số lượng yêu cầu của Cloud Armor.
- Cách xác thực rằng Chính sách giới hạn số lần yêu cầu đang hoạt động như dự kiến.
Các bước tiếp theo
- Hãy thử thiết lập một Chính sách giới hạn số lần yêu cầu dựa trên dải IP nguồn. Lệnh mẫu dưới đây:
gcloud alpha compute security-policies rules create 105 \ --security-policy sec-policy \ --src-ip-ranges "1.2.3.0/24" \ --action throttle \ --rate-limit-threshold-count 100 \ --rate-limit-threshold-interval-sec 60 \ --conform-action allow \ --exceed-action deny-429 \ --enforce-on-key IP
- Hãy thử thiết lập một Chính sách giới hạn số lần yêu cầu dựa trên mã vùng. Lệnh mẫu dưới đây:
gcloud alpha compute security-policies rules create 101 \ --security-policy sec-policy \ --expression "origin.region_code == 'US'" \ --action rate-based-ban \ --rate-limit-threshold-count 10 \ --rate-limit-threshold-interval-sec 60 \ --ban-duration-sec 300 \ --ban-threshold-count 1000 \ --ban-threshold-interval-sec 600 \ --conform-action allow \ --exceed-action deny-403 \ --enforce-on-key IP