
准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Configure HTTP and health check firewall rules
/ 40
Configure instance templates and create instance groups
/ 30
Configure the Internal Load Balancer
/ 30
Google Cloud 的内部负载均衡 (ILB) 是一项用于管理和扩缩专用应用基础设施的关键服务。借助内部负载均衡,您可以高效地在内部虚拟机实例之间分配基于 TCP/UDP 的流量,从而确保应用在专用网络中具有高可用性和高性能。通过为服务提供单个稳定的专用 IP 地址,ILB 可简化内部应用通信并增强系统弹性。
在本实验中,您将通过在同一区域中创建两个托管式实例组来设置内部服务,这种部署模式常见于高可用性应用。随后,您将配置并全面测试一个内部负载均衡器,将这两个实例组作为其后端服务。此设置模拟了以下实际应用场景:内部应用(例如微服务、API 端点或数据库)可供其他内部服务或应用访问,同时避免暴露至公共互联网。
在本实验中,您将学习如何执行以下任务:
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。
为完成此实验,您需要:
点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:
点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。
该实验会启动资源并打开另一个标签页,显示“登录”页面。
提示:将这些标签页安排在不同的窗口中,并排显示。
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。
您也可以在“实验详细信息”窗格中找到“用户名”。
点击下一步。
复制下面的密码,然后将其粘贴到欢迎对话框中。
您也可以在“实验详细信息”窗格中找到“密码”。
点击下一步。
继续在后续页面中点击以完成相应操作:
片刻之后,系统会在此标签页中打开 Google Cloud 控制台。
合适的防火墙规则是构建安全且功能完备的内部负载均衡环境的基础。它们可确保只有授权流量到达后端服务,并确保负载均衡器能够准确评估实例的健康状况。
将防火墙规则配置为允许 HTTP 流量进入后端,以及允许接收来自 Google Cloud 健康检查工具的 TCP 流量。
我们已为您配置了带有 subnet-a 和 subnet-b 的网络 my-internal-app
,以及针对 RDP、SSH 和 ICMP 流量的防火墙规则。
在控制台中,前往导航菜单 > VPC 网络 > VPC 网络。
向下滚动,找到 my-internal-app 网络及其子网 subnet-a 和 subnet-b
每个 Google Cloud 项目在创建时都有一个 default 网络。此外,我们已为您创建了 my-internal-app 网络作为您的网络图的一部分。
您将在 subnet-a 和 subnet-b 中创建托管式实例组。这两个子网都在
创建防火墙规则,以允许来自负载均衡器和互联网的 HTTP 流量进入后端(以便在后端安装 Apache)。
仍然在 VPC 网络中,点击左侧窗格中的防火墙。
请注意 app-allow-icmp 和 app-allow-ssh-rdp 防火墙规则。
我们已为您创建了这些防火墙规则。
点击 + 创建防火墙规则。
设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | app-allow-http |
网络 | my-internal-app |
目标 | 指定的目标标记 |
目标标记 | lb-backend |
来源过滤条件 | IPv4 范围 |
来源 IPv4 范围 | 10.10.0.0/16 |
协议和端口 | 指定的协议和端口;然后勾选“tcp”,并输入“80” |
健康检查可确定负载均衡器的哪些实例能接收新连接。在进行内部负载均衡的过程中,对负载均衡实例的健康检查探测来自于 130.211.0.0/22
和 35.191.0.0/16
范围内的地址。您的防火墙规则必须允许这些连接。
仍然在防火墙规则页面中,点击创建防火墙规则。
设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | app-allow-health-check |
网络 | my-internal-app |
目标 | 指定的目标标记 |
目标标记 | lb-backend |
来源过滤条件 | IPv4 范围 |
来源 IPv4 范围 | 130.211.0.0/22 和 35.191.0.0/16 |
协议和端口 | 指定的协议和端口;然后勾选“tcp” |
点击“检查我的进度”,验证已完成以下目标:
实例模板和托管式实例组是构建可伸缩、弹性佳且易于管理的应用的支柱。借助它们,您可以为虚拟机定义标准配置,然后自动管理其生命周期,从而确保一致性并实现自动扩缩和自我修复。
托管式实例组可使用实例模板来创建一组相同的实例。您可以使用这些实例来创建内部负载均衡器的后端。
实例模板是一种可用于创建虚拟机实例和代管式实例组的 API 资源。实例模板可定义机器类型、启动磁盘映像、子网、标签和其他实例属性。请为 my-internal-app 网络的两个子网创建实例模板。
在控制台中,前往导航菜单 > Compute Engine > 实例模板。
点击创建实例模板。
在名称部分,输入 instance-template-1。
在位置部分,选择全球。
对于系列,选择 E2。
对于机器类型,选择共享核心 > e2-micro。
点击高级选项。
点击网络。
在网络标记部分,指定 lb-backend。
在网络接口部分,点击下拉菜单图标进行修改。
设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
网络 | my-internal-app |
子网 | subnet-a |
外部 IPv4 地址 | 无 |
点击完成。
点击管理。
在元数据下,点击添加项,然后指定以下内容:
键 1 | 值 1 |
---|---|
startup-script-url | gs://spls/gsp216/startup.sh |
通过复制 instance-template-1 为 subnet-b 创建另一个实例模板。这展示了如何轻松地在不同子网或可用区之间复制配置,以实现高可用性和灾难恢复策略。
托管式实例组 (MIG) 是构建强大、可自我修复且可动态伸缩的应用的关键。它们会自动替换健康状况不佳的实例,并可根据需求扩缩应用容量,确保您的服务始终可用且性能出色,无需不断进行人工干预。这对于处理可变负载和确保达成服务等级目标 (SLO) 至关重要。
在 subnet-a 和 subnet-b 中各配置一个托管式实例组。
us-west2-a
,则可以为 subnet-b 选择 us-west2-b
。
仍然在 Compute Engine 中,点击左侧窗格中的实例组,然后点击创建实例组。
设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | instance-group-1 |
实例模板 | instance-template-1 |
位置 | 单个可用区 |
区域 | |
可用区 | |
自动扩缩 > 实例数下限 | 1 |
自动扩缩 > 实例数上限 | 1 |
自动扩缩 > 自动扩缩信号(点击下拉菜单图标进行修改)> 信号类型 | CPU 利用率 |
目标 CPU 利用率 | 80 |
初始化期 | 45 |
点击创建。
对与 subnet-a 在同一区域中的另一个可用区中的 instance-group-2 重复执行相同的过程:
点击创建实例组。
设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | instance-group-2 |
实例模板 | instance-template-2 |
位置 | 单个可用区 |
区域 | |
可用区 | 可用区(使用与 subnet-a 在同一区域的另一个可用区) |
自动扩缩 > 实例数下限 | 1 |
自动扩缩 > 实例数上限 | 1 |
自动扩缩 > 自动扩缩信号(点击下拉菜单图标进行修改)> 信号类型 | CPU 利用率 |
目标 CPU 利用率 | 80 |
初始化期 | 45 |
点击创建。
验证这两个子网中都创建了虚拟机实例,并创建一个实用程序虚拟机来直接访问后端的 HTTP 站点。此步骤可在引入负载均衡器之前确认各个后端的功能,确保服务层级设置正确。
仍然在 Compute Engine 中,点击虚拟机实例。
请注意以 instance-group-1
和 instance-group-2
开头的两个实例。
这两个实例位于不同的可用区中,它们的内部 IP 地址是 subnet-a 和 subnet-b CIDR 块的一部分。
如需创建新实例,请点击创建实例。
在机器配置中,
选择以下值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | utility-vm |
区域 | |
可用区 | |
系列 | E2 |
机器类型 |
e2-micro (1 个共享 vCPU) |
点击网络。
对于网络接口,点击切换以修改网络接口。
指定下列内容:
属性 | 值(按照说明输入值或选择选项) |
---|---|
网络 | my-internal-app |
子网 | subnet-a |
主要内部 IPv4 地址 | 临时(自定义) |
自定义临时 IP 地址 | 10.10.20.50 |
点击完成,然后点击创建。
点击“检查我的进度”,验证已完成以下目标:
10.10.20.2
和 10.10.30.2
。instance-group-1-xxxx
的欢迎页面,请运行以下命令:输出应如下所示:
instance-group-2-xxxx
的欢迎页面,请运行以下命令:输出应如下所示:
配置 ILB 可集中访问后端服务,为内部流量提供单一入口点,并确保根据实例的健康状况和容量进行智能流量分配。此步骤对于实现前面讨论的高可用性和可伸缩性优势至关重要,可作为分布式服务的集中式接入点。
配置内部负载均衡器,在两个后端(instance-group-1 和 instance-group-2)之间均衡流量,如下图所示。
my-ilb
。后端服务是 ILB 背后的智能服务,用于定义流量分配方式和实例健康状况监控方式。这对于确保流量仅流向正常运行的实例并防止过载至关重要。您还可以在此处配置高级功能,如会话亲和性,用于保持用户与同一后端的连接;或连接排空,用于顺利完成后端更新。
后端服务可监控实例组并防止它们超出配置的用量。
点击后端配置。
设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明选择选项) |
---|---|
实例组 | instance-group-1 |
点击添加后端。
在实例组部分,选择 instance-group-2。
对于健康检查,请选择创建健康检查。
设置以下值,将所有其他值保留为默认值:
属性 | 值(按照说明选择选项) |
---|---|
名称 | my-ilb-health-check |
协议 | TCP |
端口 | 80 |
前端是 ILB 的公开接口。通过分配静态内部 IP 地址,您可以为其他内部服务提供一致且可预测的连接端点,从而简化应用架构、在 VPC 内轻松发现服务并提高可靠性。
前端可将流量转发到后端。
点击前端配置。
指定以下内容,并将其余项保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
子网 | subnet-b |
内部 IP | 在 IP 地址下,选择创建 IP 地址 |
指定以下内容,并将其余项保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | my-ilb-ip |
静态 IP 地址 | 让我选择 |
自定义 IP 地址 | 10.10.30.5 |
点击预留。
在端口号部分,输入 80
。
点击完成。
点击检查并最终确定。
检查后端和前端。
点击创建。 等待负载均衡器创建完毕,然后再执行下一个任务。
点击“检查我的进度”,验证已完成以下目标:
最后一项测试用于验证 ILB 是否正确地将流量分配给健康状况良好的后端实例。这样可以证实您的内部服务现在更具弹性和可伸缩性,能够充分利用 ILB 的核心优势,并且专用连接已正确建立。
验证 my-ilb
IP 地址将流量转发到了 instance-group-1 和 instance-group-2。
输出应如下所示:
在输出中,您应该会看到
您成功配置并测试了内部负载均衡器,了解了它在 Google Cloud 上构建强大、可伸缩且安全的内部应用方面发挥的关键作用。
如需了解负载均衡的基本概念,请参阅 Google Cloud Load Balancing 文档。
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2025 年 9 月 15 日
上次测试实验的时间:2025 年 5 月 26 日
版权所有 2025 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验