![](https://cdn.qwiklabs.com/assets/labs/start_lab-f45aca49782d4033c3ff688160387ac98c66941d.png)
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you restart it, you'll have to start from the beginning.
- On the top left of your screen, click Start lab to begin
Configure HTTP and health check firewall rules
/ 25
Configure instance templates and instance group
/ 25
Configure the HTTP Load Balancer
/ 25
Blacklist the siege-vm
/ 25
Google Cloud 应用负载均衡在全球 Google 入网点 (POP) 的 Google 网络边缘实施。定向到应用负载均衡器的用户流量会进入距离用户最近的入网点,然后在 Google 全球网络上实现负载均衡,以便将其传输到具有足够可用容量的最近后端。
通过 Cloud Armor IP 许可/拒绝名单,您可以在尽量靠近用户位置的 Google Cloud 网络边缘允许对应用负载均衡器的访问,而在尽量靠近恶意流量位置的 Google Cloud 网络边缘限制对应用负载均衡器的访问。这样可以防止恶意用户或流量占用资源,或是进入您的虚拟私有云 (VPC) 网络。
在本实验中,您将利用全球后端配置应用负载均衡器,如下图所示。随后您需要对该负载均衡器进行压力测试,并使用 Cloud Armor 将压力测试 IP 地址加入拒绝名单。
在本实验中,您将学习如何执行以下任务:
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。
为完成此实验,您需要:
点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:
点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。
该实验会启动资源并打开另一个标签页,显示登录页面。
提示:请将这些标签页安排在不同的窗口中,并将它们并排显示。
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。
您也可以在实验详细信息面板中找到用户名。
点击下一步。
复制下面的密码,然后将其粘贴到欢迎对话框中。
您也可以在实验详细信息面板中找到密码。
点击下一步。
继续在后续页面中点击以完成相应操作:
片刻之后,系统会在此标签页中打开 Google Cloud 控制台。
将防火墙规则配置为允许 HTTP 流量进入后端,以及允许接收来自 Google Cloud 健康检查工具的 TCP 流量。
创建防火墙规则,以允许 HTTP 流量进入后端。
在 Cloud 控制台中,前往导航菜单 () > VPC 网络 > 防火墙。
请注意现有的 ICMP、internal、RDP 和 SSH 防火墙规则。
每个 Google Cloud 项目都从 default 网络和上述防火墙规则开始。
点击创建防火墙规则。
设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | default-allow-http |
网络 | default |
目标 | 指定的目标标记 |
目标标记 | http-server |
来源过滤条件 | IPv4 范围 |
来源 IPv4 范围 | 0.0.0.0/0 |
协议和端口 | 指定的协议和端口;然后勾选“TCP”,并输入“80” |
确保在来源 IPv4 范围中包含 /0,以指定所有网络。
健康检查可确定负载均衡器的哪些实例能接收新连接。在进行应用负载均衡的过程中,对负载均衡实例的健康检查探测来自于 130.211.0.0/22
和 35.191.0.0/16
范围内的地址。您的防火墙规则必须允许这些连接。
仍然在防火墙政策页面中,点击创建防火墙规则。
设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | default-allow-health-check |
网络 | default |
目标 | 指定的目标标记 |
目标标记 | http-server |
来源过滤条件 | IPv4 范围 |
来源 IPv4 范围 |
130.211.0.0/22 , 35.191.0.0/16
|
协议和端口 | 指定的协议和端口;然后勾选“TCP” |
点击创建。
点击“检查我的进度”以验证是否完成了以下目标:
托管式实例组可使用实例模板来创建一组相同的实例。您可以使用这些实例来创建应用负载均衡器的后端。
实例模板是一种用于创建虚拟机实例和托管式实例组的 API 资源。实例模板可定义机器类型、启动磁盘映像、子网、标签和其他实例属性。
分别为
在 Cloud 控制台中,前往导航菜单 () > Compute Engine > 实例模板,随后点击创建实例模板。
在名称部分,输入
在位置部分,选择全球。
对于系列,选择 E2。
对于机器类型,选择 e2-micro。
点击高级选项。
点击网络。设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
网络标记 | http-server |
点击网络接口下的默认。设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
网络 | default |
子网 | default |
点击完成。
网络标记 http-server 可确保将 HTTP 防火墙规则和健康检查防火墙规则应用于这些实例。
点击管理标签页。
在元数据下,点击 + 添加项,然后指定以下内容:
键 | 值 |
---|---|
startup-script-url | gs://cloud-training/gcpnet/httplb/startup.sh |
startup-script-url
指定实例启动时执行的脚本。此脚本会安装 Apache,并更改欢迎页面以包含客户端 IP 地址以及虚拟机实例的名称、区域和可用区。您可以随时查看此脚本。
现在复制
在
仍然在 Compute Engine 中,点击左侧菜单中的实例组。
点击创建实例组。
设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 |
|
实例模板 |
|
位置 | 多个可用区 |
区域 | |
实例数下限 | 1 |
实例数上限 | 2 |
“自动扩缩信号” > 点击下拉菜单 > “信号类型” | CPU 利用率 |
目标 CPU 利用率 | 80;点击完成。 |
初始化期 | 45 |
借助托管式实例组提供的自动扩缩功能,您可以根据负载的增减自动在托管式实例组中添加或移除实例。自动扩缩可帮助您的应用顺利应对流量增加的情况,并在资源需求量减少时降低费用。您只需定义自动扩缩政策,自动扩缩器即可根据测量到的负载执行自动扩缩。
接下来重复相同的过程,在
点击创建实例组。
设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 |
|
实例模板 |
|
位置 | 多个可用区 |
区域 | |
实例数下限 | 1 |
实例数上限 | 2 |
“自动扩缩信号” > 点击下拉菜单 > “信号类型” | CPU 利用率 |
目标 CPU 利用率 | 80;点击完成。 |
初始化期 | 45 |
点击创建。
点击“检查我的进度”以验证是否完成了以下目标:
验证在这两个区域中都创建了虚拟机实例,并访问其 HTTP 站点。
仍然在 Compute Engine 中,点击左侧菜单中的虚拟机实例。
请注意以
这些实例属于这两个托管式实例组。
点击
您应该会看到客户端 IP(您的 IP 地址)、主机名(以
点击
您应该会看到客户端 IP(您的 IP 地址)、主机名(以
配置应用负载均衡器,在两个后端(
在 Cloud 控制台中,依次点击导航菜单 () > 查看所有产品 > 网络 > 网络服务 > 负载均衡。
点击创建负载均衡器。
在应用负载均衡器 HTTP(S) 下,点击“下一步”。
在公共或内部字段中,选择公共(外部),然后点击“下一步”。
在全球或单区域部署字段中,选择最适合全球性工作负载,然后点击“下一步”。
在创建负载均衡器中,点击配置。
将负载均衡器名称设置为 http-lb
。
主机和路径规则决定将如何定向您的流量。例如,您可以将视频流量定向到一个后端,将静态流量定向到另一个后端。不过,主机和路径规则的配置并不在本实验的涵盖范围内。
点击前端配置。
指定以下内容,并将所有其他值保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
协议 | HTTP |
IP 版本 | IPv4 |
IP 地址 | 临时 |
端口 | 80 |
点击完成。
点击添加前端 IP 和端口。
指定以下内容,并将所有其他值保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
协议 | HTTP |
IP 版本 | IPv6 |
IP 地址 | 自动分配 |
端口 | 80 |
点击完成。
应用负载均衡支持使用 IPv4 和 IPv6 地址来路由客户端流量。客户端 IPv6 请求会在全球负载均衡层终止,然后通过 IPv4 代理传输到您的后端。
后端服务会将传入的流量定向到一个或多个关联的后端。每个后端由一个实例组和附加的服务容量元数据组成。
点击后端配置。
对于后端服务和后端存储桶,点击创建后端服务。
设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明选择选项) |
---|---|
名称 | http-backend |
实例组 |
|
端口号 | 80 |
均衡模式 | 请求速率 |
RPS 上限 | 50 |
容量 | 100 |
此配置意味着负载均衡器会尽力将
点击完成。
点击添加后端。
设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明选择选项) |
---|---|
实例组 |
|
端口号 | 80 |
均衡模式 | 利用率 |
后端利用率上限 | 80 |
容量 | 100 |
此配置意味着负载均衡器会尽力将
点击完成。
对于健康检查,请选择创建健康检查。
设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明选择选项) |
---|---|
名称 | http-health-check |
协议 | TCP |
端口 | 80 |
健康检查确定哪些实例能接收新连接。此 HTTP 健康检查每 5 秒轮询一次实例,最多等待 5 秒来接收响应,并将 2 次成功尝试或 2 次失败尝试分别视为状况良好或状况不佳的判断标准。
1
。[LB_IP_v4]
和 [LB_IP_v6]
来引用这两个地址。点击“检查我的进度”以验证是否完成了以下目标:
现在您已经为自己的后端创建了应用负载均衡器,接下来验证流量会不会转发到该后端服务。
若要使用 IPv4 地址来测试对应用负载均衡器的访问,请在浏览器中打开一个新标签页,并转到 http://[LB_IP_v4]
。请务必将 [LB_IP_v4]
替换为负载均衡器的 IPv4 地址。
如果您有本地 IPv6 地址,请转到 http://[LB_IP_v6]
,尝试使用应用负载均衡器的 IPv6 地址。请务必将 [LB_IP_v6]
替换为负载均衡器的 IPv6 地址。
使用 siege
,创建一个新的虚拟机来模拟应用负载均衡器上的负载。然后确定当负载较高时,系统是否在两个后端之间均衡流量。
在控制台中,前往导航菜单 () > Compute Engine > 虚拟机实例。
点击创建实例。
设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | siege-vm |
区域 | |
可用区 | |
系列 | E2 |
由于
[LB_IP_v4]
:在 Cloud 控制台中,依次点击导航菜单 () > 查看所有产品 > 网络 > 网络服务 > 负载均衡。
点击后端。
点击 http-backend。
前往 http-lb。
点击监控标签页。
花两三分钟时间,监控在北美区域和这两个后端之间的前端位置(总入站流量)。
流量最初应该仅会定向到
这表示流量默认会转发到最近的后端,但如果负载过高,流量也会被分配到其他后端。
输出应如下所示:
使用 Cloud Armor 将 siege-vm 列入拒绝名单,以禁止其访问该应用负载均衡器。
创建 Cloud Armor 安全政策,在其中包含一项用于 siege-vm 的拒绝名单规则。
[SIEGE_IP]
引用此外部 IP 地址。在 Cloud 控制台中,依次点击导航菜单 () > 查看所有产品 > 网络 > 网络安全 > Cloud Armor 政策。
点击创建政策。
设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | denylist-siege |
默认规则操作 | 允许 |
点击下一步。
点击添加规则。
设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
条件 > 匹配 | 输入 SIEGE_IP |
操作 | 拒绝 |
响应代码 | 403(已禁止) |
优先级 | 1000 |
点击完成。
点击下一步。
点击添加目标。
在类型部分,选择后端服务(外部应用负载均衡器)。
在目标部分,选择 http-backend。
点击创建政策。
点击“检查我的进度”以验证是否完成了以下目标:
验证 siege-vm 是否不能访问此应用负载均衡器。
输出应如下所示:
http://[LB_IP_v4]
。请务必将 [LB_IP_v4]
替换为负载均衡器的 IPv4 地址。此命令不会产生任何输出。
浏览安全政策日志,确定系统是否也阻止了此流量。
请求应该来自 siege-vm IP 地址。若非如此,请展开另外一条日志条目。
DENY
,name 为 denylist-siege
。Cloud Armor 安全政策会创建日志,您可以查看该日志来确定系统何时拒绝了流量、何时允许了流量,还可确定流量来源。
您配置了具有
如需了解 Cloud Armor 的基本概念,请参阅 Cloud Armor 文档。
如需详细了解负载均衡,请参阅负载均衡文档。
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2024 年 10 月 24 日
上次测试实验的时间:2024 年 4 月 18 日
版权所有 2025 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。