检查点
Configure HTTP and health check firewall rules
/ 40
Configure instance templates and create instance groups
/ 30
Configure the Internal Load Balancer
/ 30
创建内部负载均衡器
GSP216
概览
Google Cloud 为基于 TCP/UDP 的流量提供内部负载均衡功能。借助内部负载均衡功能,您可以通过一个专用负载均衡 IP 地址(只能由内部虚拟机实例访问)运行和扩缩您的服务。
在本实验中,您需要在同一区域中创建两个托管式实例组。然后,需要配置一个以这些实例组作为后端的内部负载均衡器并对其进行测试,如以下网络图所示:
目标
在本实验中,您将学习如何执行以下任务:
- 创建 HTTP 防火墙规则和健康检查防火墙规则
- 配置两个实例模板
- 创建两个代管式实例组
- 配置和测试内部负载均衡器
设置和要求
点击“开始实验”按钮前的注意事项
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。
为完成此实验,您需要:
- 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
- 完成实验的时间 - 请注意,实验开始后无法暂停。
如何开始实验并登录 Google Cloud 控制台
-
点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:
- 打开 Google Cloud 控制台按钮
- 剩余时间
- 进行该实验时必须使用的临时凭据
- 帮助您逐步完成本实验所需的其他信息(如果需要)
-
点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。
该实验会启动资源并打开另一个标签页,显示登录页面。
提示:请将这些标签页安排在不同的窗口中,并将它们并排显示。
注意:如果您看见选择账号对话框,请点击使用其他账号。 -
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。
{{{user_0.username | "<用户名>"}}} 您也可以在实验详细信息面板中找到用户名。
-
点击下一步。
-
复制下面的密码,然后将其粘贴到欢迎对话框中。
{{{user_0.password | "<密码>"}}} 您也可以在实验详细信息面板中找到密码。
-
点击下一步。
重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本次实验中使用您自己的 Google Cloud 账号可能会产生额外费用。 -
继续在后续页面中点击以完成相应操作:
- 接受条款及条件。
- 由于该账号为临时账号,请勿添加账号恢复选项或双重验证。
- 请勿注册免费试用。
片刻之后,系统会在此标签页中打开 Google Cloud 控制台。
任务 1. 配置 HTTP 防火墙规则和健康检查防火墙规则
将防火墙规则配置为允许 HTTP 流量进入后端,以及允许接收来自 Google Cloud 健康检查工具的 TCP 流量。
探索 my-internal-app 网络
我们已为您配置了带有 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 防火墙规则
创建防火墙规则,以允许来自负载均衡器和互联网的 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”
- 点击创建。
点击“检查我的进度”以验证是否完成了以下目标:
任务 2. 配置实例模板并创建实例组
托管式实例组可使用实例模板来创建一组相同的实例。您可以使用这些实例来创建内部负载均衡器的后端。
配置实例模板
实例模板是一种可用于创建虚拟机实例和代管式实例组的 API 资源。实例模板可定义机器类型、启动磁盘映像、子网、标签和其他实例属性。请为 my-internal-app 网络的两个子网创建实例模板。
-
在控制台中,前往导航菜单 > Compute Engine > 实例模板。
-
点击创建实例模板。
-
在名称部分,输入 instance-template-1。
-
在位置部分,选择全球。
-
对于系列,选择 E2。
-
对于机器类型,选择共享核心 > e2-micro。
-
点击高级选项。
-
点击网络。
-
在网络标记部分,指定 lb-backend。
注意:网络标记 lb-backend 可确保将 HTTP 防火墙规则和健康检查防火墙规则应用于这些实例。 -
在网络接口部分,点击下拉菜单图标进行修改。
-
设置以下值,将所有其他值保留为默认值:
属性 值(按照说明输入值或选择选项) 网络 my-internal-app 子网 subnet-a 外部 IPv4 地址 无 -
点击完成。
-
点击管理。
-
在元数据下,点击添加项,然后指定以下内容:
键 1 值 1 startup-script-url gs://cloud-training/gcpnet/ilb/startup.sh
- 点击创建。
- 等待实例模板创建完毕。
配置下一个实例模板
通过复制 instance-template-1 为 subnet-b 创建另一个实例模板:
- 仍然在实例模板中,勾选 instance-template-1 旁边的复选框,然后点击复制。 务必将名称更新为 instance-template-2。
- 点击高级选项。
- 点击网络标签页。
- 在网络接口部分,点击下拉菜单图标进行修改。
- 选择 subnet-b 作为子网。
- 点击完成,然后点击创建。
创建托管式实例组
在 subnet-a 和 subnet-b 中各创建一个托管式实例组。
us-west2-a
,则可以为 subnet-b 选择 us-west2-b
。
-
仍然在 Compute Engine 中,点击左侧窗格中的实例组,然后点击创建实例组。
-
设置以下值,将所有其他值保留为默认值:
属性 值(按照说明输入值或选择选项) 名称 instance-group-1 实例模板 instance-template-1 位置 单个可用区 区域 可用区 自动扩缩 > 实例数下限 1 自动扩缩 > 实例数上限 5 自动扩缩 > 自动扩缩信号(点击下拉菜单图标进行修改)> 信号类型 CPU 利用率 目标 CPU 利用率 80 初始化期 45
-
点击创建。
对与 subnet-a 在同一区域中的另一个可用区中的 instance-group-2 重复执行相同的过程:
-
点击创建实例组。
-
设置以下值,将所有其他值保留为默认值:
属性 值(按照说明输入值或选择选项) 名称 instance-group-2 实例模板 instance-template-2 位置 单个可用区 区域 可用区 可用区(使用与 subnet-a 在同一区域的另一个可用区) 自动扩缩 > 实例数下限 1 自动扩缩 > 实例数上限 5 自动扩缩 > 自动扩缩信号(点击下拉菜单图标进行修改)> 信号类型 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 -
点击完成,然后点击创建。
点击“检查我的进度”以验证是否完成了以下目标:
- 请注意,后端的内部 IP 地址是
10.10.20.2
和10.10.30.2
。
- 对于 utility-vm,请点击 SSH 以启动一个终端并进行连接。
- 如需验证
instance-group-1-xxxx
的欢迎页面,请运行以下命令:
输出应如下所示:
- 如需验证
instance-group-2-xxxx
的欢迎页面,请运行以下命令:
输出应如下所示:
- 关闭 utility-vm 的 SSH 终端:
任务 3. 配置内部负载均衡器
配置内部负载均衡器,在两个后端(instance-group-1 和 instance-group-2)之间均衡流量,如下图所示。
开始配置
- 在导航菜单中,选择查看所有产品。在网络下,选择网络服务。
- 选择负载均衡页面。
- 点击创建负载均衡器。
- 在负载均衡器的类型部分,选择网络负载均衡器 (TCP/UDP/SSL)。
- 在代理或直通部分,选择直通式负载均衡器。
- 在公开或内部部分,选择内部。
- 点击配置。
- 在名称部分,输入
my-ilb
。 - 对于区域,选择
。 - 在网络部分,选择 my-internal-app。
配置区域级后端服务
后端服务可监控实例组并防止它们超出配置的使用量。
-
点击后端配置。
-
设置以下值,将所有其他值保留为默认值:
属性 值(按照说明选择选项) 实例组 instance-group-1 -
点击添加后端。
-
在实例组部分,选择 instance-group-2。
-
对于健康检查,请选择创建健康检查。
-
设置以下值,将所有其他值保留为默认值:
属性 值(按照说明选择选项) 名称 my-ilb-health-check 协议 TCP 端口 80
- 点击保存。
- 在 Cloud 控制台中确认后端配置旁边是否有蓝色对勾标记。如果没有,请仔细检查您是否完成了上述所有步骤。
配置前端
前端可将流量转发到后端。
-
点击前端配置。
-
指定以下内容,并将其余项保留为默认值:
属性 值(按照说明输入值或选择选项) 子网 subnet-b 内部 IP 在 IP 地址下,选择创建 IP 地址 -
指定以下内容,并将其余项保留为默认值:
属性 值(按照说明输入值或选择选项) 名称 my-ilb-ip 静态 IP 地址 让我选择 自定义 IP 地址 10.10.30.5 -
点击预留。
-
在端口号部分,输入
80
。 -
点击完成。
检查并创建内部负载均衡器
-
点击检查并最终确定。
-
检查后端和前端。
-
点击创建。 等待负载均衡器创建完毕,然后再执行下一个任务。
点击“检查我的进度”以验证是否完成了以下目标:
任务 4. 测试内部负载均衡器
验证 my-ilb
IP 地址将流量转发到了 instance-group-1 和 instance-group-2。
访问内部负载均衡器
- 在 Cloud 控制台中,前往导航菜单 > Compute Engine > 虚拟机实例。
- 对于 utility-vm,请点击 SSH 以启动一个终端并进行连接。
- 如需验证内部负载均衡器是否转发了流量,请运行以下命令:
输出应如下所示:
- 再运行几次同一命令。
在输出中,您应该会看到
恭喜!
在本实验中,您在
后续步骤/了解详情
如需了解负载均衡的基本概念,请参阅 Google Cloud Load Balancing 文档。
Google Cloud 培训和认证
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2024 年 10 月 2 日
上次测试实验的时间:2023 年 10 月 2 日
版权所有 2024 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。