准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Configure HTTP and health check firewall rules
/ 20
Configure instance templates and create instance groups
/ 20
Configure the HTTP Load Balancer
/ 20
Test the HTTP Load Balancer
/ 20
Create Cloud Armor Rate Limiting Policy
/ 20
Configure HTTP and health check firewall rules
/ 20
Configure instance templates and create instance groups
/ 20
Configure the HTTP Load Balancer
/ 20
Test the HTTP Load Balancer
/ 20
Create Cloud Armor Rate Limiting Policy
/ 20
Google Cloud HTTP(S) 负载均衡部署在全球各地的 Google 入网点 (POP),位于 Google 网络边缘。定向到 HTTP(S) 负载均衡器的用户流量会进入距离用户最近的 POP,然后通过 Google 的全球网络进行负载均衡,转发到具有足够可用容量的最近后端。
通过 Cloud Armor IP 许可/拒绝名单,您可以在 Google Cloud 网络边缘允许或限制对 HTTP(S) 负载均衡器的访问,从而在尽可能接近用户和恶意流量的位置筑起一道安全防线。这样可以防止恶意用户或流量占用资源,或是进入您的虚拟私有云 (VPC) 网络。
在本实验中,您将配置一个带有全球后端的 HTTP 负载均衡器,如下图所示。接着,您将对负载均衡器进行压力测试,并添加 Cloud Armor 速率限制政策,以根据 IP 地址实施流量限制。
在本实验中,您将学习如何执行以下任务:
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。
为完成此实验,您需要:
点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:
点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。
该实验会启动资源并打开另一个标签页,显示“登录”页面。
提示:将这些标签页安排在不同的窗口中,并排显示。
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。
您也可以在“实验详细信息”窗格中找到“用户名”。
点击下一步。
复制下面的密码,然后将其粘贴到欢迎对话框中。
您也可以在“实验详细信息”窗格中找到“密码”。
点击下一步。
继续在后续页面中点击以完成相应操作:
片刻之后,系统会在此标签页中打开 Google Cloud 控制台。
Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。
点击 Google Cloud 控制台顶部的激活 Cloud Shell 。
在弹出的窗口中执行以下操作:
如果您连接成功,即表示您已通过身份验证,且项目 ID 会被设为您的 Project_ID
gcloud 是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。
输出:
输出:
gcloud 的完整文档,请参阅 gcloud CLI 概览指南。
配置防火墙规则,以允许 HTTP 流量进入后端,并允许来自 Google Cloud 健康检查工具的 TCP 流量。
创建防火墙规则,以允许 HTTP 流量进入后端。
在 Cloud 控制台中,前往导航菜单 () > VPC 网络 > 防火墙。
请注意现有的 ICMP、internal、RDP 和 SSH 防火墙规则。
每个 Google Cloud 项目在创建之初都包含 default 网络以及上述防火墙规则。
点击创建防火墙规则。
设置以下值,将所有其他值保留为默认值:
| 属性 | 值(按照说明输入值或选择选项) |
|---|---|
| 名称 | default-allow-http |
| 网络 | default |
| 目标 | 指定的目标标记 |
| 目标标记 | http-server |
| 来源过滤条件 | IPv4 范围 |
| 来源 IP 地址范围 | 0.0.0.0/0 |
| 协议和端口 | 指定的协议和端口;然后勾选“tcp”,并输入“80” |
点击创建。
健康检查能够识别负载均衡器中的哪些实例可以接收新连接。对于 HTTP 负载均衡,针对负载均衡实例的健康检查探测请求来自 130.211.0.0/22 和 35.191.0.0/16 范围内的地址。您的防火墙规则必须允许这些连接。
仍然在防火墙规则页面中,点击创建防火墙规则。
设置以下值,将所有其他值保留为默认值:
| 属性 | 值(按照说明输入值或选择选项) |
|---|---|
| 名称 | default-allow-health-check |
| 网络 | default |
| 目标 | 指定的目标标记 |
| 目标标记 | http-server |
| 来源过滤条件 | IPv4 范围 |
| 来源 IP 地址范围 |
130.211.0.0/22、35.191.0.0/16
|
| 协议和端口 | 指定的协议和端口;然后勾选“tcp” |
点击创建。
点击检查我的进度,验证是否完成了以下目标:
托管式实例组使用实例模板来创建一组相同的实例。您可以使用这些实例来创建 HTTP 负载均衡器的后端。
实例模板是一种可用于创建虚拟机实例和托管式实例组的 API 资源。该模板定义了机器类型、启动磁盘映像、子网、标签以及其他实例属性。为
点击网络,对于网络标记,输入 http-server。
对于网络接口,展开 default 网络并设置以下值。
| 属性 | 值(按照说明输入值或选择选项) |
|---|---|
| 网络 | default |
| 子网 | default ( |
在元数据下,点击 +添加项,然后指定以下值:
| 键 | 值 |
|---|---|
| startup-script-url | gs://spls/gsp975/startup.sh |
startup-script-url 用于指定在实例启动时执行的脚本。此脚本会安装 Apache,并修改欢迎页面,使其包含客户端 IP 地址以及虚拟机实例的名称、区域和可用区。您可以随时查看此脚本。现在,通过复制
default 网络。在
在导航菜单 () 中,依次点击左侧菜单中的 Compute Engine > 实例组。
点击创建实例组。
设置以下值,将所有其他值保留为默认值:
| 属性 | 值(按照说明输入值或选择选项) |
|---|---|
| 名称 |
|
| 实例模板 |
|
| 位置 | 多个可用区 |
| 区域 | |
| 实例数下限 | 1 |
| 实例数上限 | 5 |
| 自动扩缩 > 自动扩缩信号(点击下拉菜单图标进行修改)> 信号类型 | CPU 利用率 |
| 目标 CPU 利用率 | 80 |
| 初始化期 | 45 |
点击创建。
现在重复上述步骤,在
点击创建实例组。
设置以下值,将所有其他值保留为默认值:
| 属性 | 值(按照说明输入值或选择选项) |
|---|---|
| 名称 |
|
| 实例模板 |
|
| 位置 | 多个可用区 |
| 区域 | |
| 实例数下限 | 1 |
| 实例数上限 | 5 |
| 自动扩缩 > 自动扩缩信号(点击下拉菜单图标进行修改)> 信号类型 | CPU 利用率 |
| 目标 CPU 利用率 | 80 |
| 初始化期 | 45 |
点击创建。
点击检查我的进度,验证是否完成了以下目标:
验证两个区域中是否都创建了虚拟机实例,并访问其 HTTP 站点。
仍然在 Compute Engine 中,点击左侧菜单中的虚拟机实例。
请注意以 和 开头的实例。
这些实例包含在上述两个托管式实例组中。
点击 中一个实例的外部 IP。
您应该会看到客户端 IP(您的 IP 地址)、主机名(以 开头)和服务器位置(
点击 中一个实例的外部 IP。
您应该会看到客户端 IP(您的 IP 地址)、主机名(以 开头)和服务器位置(
配置 HTTP 负载均衡器,在两个后端(
后端服务会将传入的流量定向到一个或多个关联的后端。每个后端由一个实例组和附加的服务容量元数据组成。
点击后端配置。
点击后端服务和后端存储桶下拉菜单,然后点击创建后端服务。
设置以下值,将所有其他值保留为默认值:
| 属性 | 值(按照说明选择选项) |
|---|---|
| 名称 | http-backend |
| 实例组 |
|
| 端口号 | 80 |
| 均衡模式 | 速率 |
| RPS 上限 | 50 |
| 容量 | 100 |
点击完成。
点击添加后端。
设置以下值,将所有其他值保留为默认值:
| 属性 | 值(按照说明选择选项) |
|---|---|
| 实例组 |
|
| 端口号 | 80 |
| 均衡模式 | 利用率 |
| 后端利用率上限 | 80 |
| 容量 | 100 |
点击完成。
对于健康检查,请选择创建健康检查。
设置以下值,将所有其他值保留为默认值:
| 属性 | 值(按照说明选择选项) |
|---|---|
| 名称 | http-health-check |
| 协议 | TCP |
| 端口 | 80 |
点击创建。
选中启用日志记录框。
将采样率设为 1:
点击创建以创建后端服务,然后点击确定。
主机和路径规则决定将如何定向您的流量。例如,您可以将视频流量定向到一个后端,将静态流量定向到另一个后端。不过,主机和路径规则的配置并不在本实验的涵盖范围内。
点击前端配置。
指定以下内容,并将所有其他值保留为默认值:
| 属性 | 值(按照说明输入值或选择选项) |
|---|---|
| 协议 | HTTP |
| IP 版本 | IPv4 |
| IP 地址 | 临时 |
| 端口 | 80 |
点击完成。
点击添加前端 IP 和端口。
指定以下内容,并将所有其他值保留为默认值:
| 属性 | 值(按照说明输入值或选择选项) |
|---|---|
| 协议 | HTTP |
| IP 版本 | IPv6 |
| IP 地址 | 自动分配 |
| 端口 | 80 |
点击完成。
点击检查并最终确定。
检查后端服务和前端。
点击创建。
等待负载均衡器创建完毕。
点击负载均衡器的名称 (http-lb)。
请记下负载均衡器的 IPv4 和 IPv6 地址,以便在下一个任务中使用。下文将分别以 [LB_IP_v4] 和 [LB_IP_v6] 来指代这两个地址。
点击检查我的进度,验证是否完成了以下目标:
现在您已经为后端创建了 HTTP 负载均衡器,请验证流量是否会转发到该后端服务。
http://[LB_IP_v4]。请务必将 [LB_IP_v4] 替换为负载均衡器的 IPv4 地址。如果您有本地 IPv6 地址,请前往 http://[LB_IP_v6],尝试使用 HTTP 负载均衡器的 IPv6 地址。请务必将 [LB_IP_v6] 替换为负载均衡器的 IPv6 地址。
使用 siege 创建一个新的虚拟机,以模拟 HTTP 负载均衡器上的负载。然后观察在高负载情况下,流量是否在两个后端之间实现了均衡。
在控制台中,前往导航菜单 () > Compute Engine > 虚拟机实例。
点击创建实例。
设置以下值,将所有其他值保留为默认值:
| 属性 | 值(按照说明输入值或选择选项) |
|---|---|
| 名称 | siege-vm |
| 区域 | |
| 可用区 | |
| 系列 | E2 |
点击检查我的进度,验证是否完成了以下目标:
[LB_IP_v4]:输出应如下所示:
http-lb。起初,流量仅会定向到
这表明在默认情况下,流量会转发到最近的后端;但如果负载过高,流量也会被分配到其他后端。
在本部分中,您将使用 Cloud Armor 设置速率限制政策,将 siege-vm 列入拒绝清单,从而禁止其访问 HTTP 负载均衡器。
在 Cloud 控制台的导航菜单 () 中,选择查看所有产品。在网络下,依次点击网络安全 > Cloud Armor 政策。
点击 rate-limit-siege。您的政策应如下所示:
点击检查我的进度,验证是否完成了以下目标:
返回 siege-vm 的 SSH 终端。
对负载均衡器 IP 执行 curl 命令,以验证您是否仍能正常连接,此时应收到 200 响应:
此命令不会产生任何输出。
查看安全政策日志,以确定此流量是否也被屏蔽。
在 Cloud 控制台的导航菜单 () 中,选择查看所有产品。在网络下,依次点击网络安全 > Cloud Armor 政策。
点击 rate-limit-siege。
点击日志。
点击查看政策日志。
在“日志记录”页面上,请务必清除“查询预览”中的所有文本。
将资源选择为应用负载均衡器 > http-lb-forwarding-rule > http-lb,然后点击应用。
现在,点击运行查询。
展开“查询结果”中的一条日志条目。
展开 httpRequest。
请求应该来自 siege-vm IP 地址。若非如此,请展开另外一条日志条目。
展开 jsonPayload。
展开 enforcedSecurityPolicy。
请注意,configuredAction 为 DENY,名称为 rate-limit-siege。
您已配置了一个在
如需了解 Cloud Armor 的基本概念,请参阅 Cloud Armor 文档。
如需详细了解负载均衡,请参阅负载均衡。
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2025 年 9 月 8 日
上次测试实验的时间:2025 年 9 月 8 日
版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验
完成此快速步骤即可开始实验。