注意:
- 此教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间示例值。完成实验室时,请将这些值替换为特定于您的云环境的值。
使用公共 OCI 灵活网络负载平衡器将 Web 服务器池公开到 Internet
简介
在本教程中,我们将介绍如何设置三个充当 Web 服务器的 Oracle Cloud Infrastructure (OCI) 实例。这些 Web 服务器将全部连接到专用子网,并使用 OCI 灵活网络负载平衡器从互联网访问。网络负载平衡器不仅将通过互联网提供网站,还将平衡与这三个 OCI 计算实例的传入连接负载。
目标
-
我们将创建三个 OCI 计算实例,这些实例将充当 Web 服务器并将它们附加到专用子网。然后,我们将创建可从 Internet 访问的 OCI 灵活网络负载平衡器。因此,OCI 灵活网络负载平衡器将根据 5 元组负载平衡策略来平衡 OCI 计算实例的负载。我们还将通过关闭三个 OCI 计算实例中的两个来进行一些广泛的测试,并验证 OCI 灵活网络负载平衡器是否可以检测到这一点并按预期执行操作。
-
任务 1:创建新的虚拟云网络 (virtual cloud network,VCN)。
-
任务 2:创建新公共子网和专用子网。
-
任务 3:创建新的 OCI 计算实例。
-
任务 4:创建新的 OCI 灵活网络负载平衡器。
-
任务 5:测试新的 OCI 灵活网络负载平衡器。
-
任务 1:创建新的虚拟云网络 (VCN)
我们已创建 VCN,但如果您仍需要创建新的 VCN,请按照以下教程操作:在启用 IPv6 的情况下创建新 VCN 。
单击左上角的汉堡菜单。单击虚拟云网络以验证虚拟云网络是否存在。
任务 2:创建新的公共子网和专用子网
我们已经创建了一个公共和专用子网,但是如果您仍然需要创建新子网,请按照以下教程操作:在启用了 IPv6 的情况下创建新公共子网和在 VCN 中创建专用子网。
-
单击 VCN 查看子网。
- 在此 VCN 中,我们有一个公共子网和专用子网可用。
- 单击左上角的汉堡菜单以导航到 OCI 实例。
我们将 OCI 计算实例连接到公共子网,将 OCI 数据库连接到专用子网。
任务 3:创建新的 OCI 计算实例
-
单击实例以创建新的 OCI 计算实例。
-
要创建第一个实例,请单击创建实例。
- 输入实例的名称。
- 向下滚动。
-
单击更改图像。
注:
-
我们正在部署定制映像,因为要部署的实例需要安装 Web 服务器。在前面的教程中,我们已经创建了一个实例,其中我们安装了带有 PHP 的 NGINX webserver,并基于此实例创建了一个定制映像,这样我们就不必在三个单独的实例上安装带有 PHP 的 NGINX。有关详细信息,请参阅使用 Oracle Cloud Infrastructure 发布可从 Internet 访问的 Web 服务器(使用 IPv6)。
-
要使用 PHP 安装 NGINX Web 服务器,请参见 Task 6:Install a Webserver on Instance 。
- 单击我的映像。
- 向下滚动。
- 对于本教程,我们将选择之前创建的自定义映像,该映像预安装了带有 PHP 的 NGINX Web 服务器。
- 单击选择图像。
-
查看所选定制映像。
-
向下滚动。
注:
-
如果您没有任何定制映像,可以随意选择 Oracle Linux 8 映像。
-
要手动安装 NGINX 和 PHP,请参见 Task 6:Install a Webserver on Instance 。
-
要安装用于测试的定制网页,请参阅任务 8:使用 NGINX 和 PHP 创建定制网站。
-
- 对于 Primary network(主网络),选择 Select existing virtual cloud network(选择现有虚拟云网络)。
- 选择在任务 1 中创建的 VCN。
- 对于 private subnet ,选择 Select existing subnet 。
- 选择在任务 2 中创建的子网。
- 向下滚动。
- 对于 Private IPv4 address ,选择 Automatically assign private IPv4 address 。
- 向下滚动。
-
-
对于本教程,我们将使用现有的 SSH 密钥。如果您没有任何现有密钥,可以选择为我生成密钥对。
- 选择上载公共密钥文件 (
.pub
) 。 - 单击浏览并选择已可用的公钥。
- 确保选择了
.pub
SSH 密钥。 - 向下滚动。
- 选择上载公共密钥文件 (
-
单击创建。
-
创建第一个 OCI 计算实例后,再重复两次步骤以创建两个附加实例。因此,结果应该是运行了三个 OCI 实例。
- 确保第一个 OCI 计算实例正在运行。对于本教程,它是
IH-WEBSERVER-01
。 - 确保第二个 OCI 计算实例正在运行。对于本教程,它是
IH-WEBSERVER-02
。 - 确保第三个 OCI 计算实例正在运行。对于本教程,它是
IH-WEBSERVER-03
。 - 单击左上角的汉堡菜单以导航到网络负载平衡器。
- 确保第一个 OCI 计算实例正在运行。对于本教程,它是
我们有三个已分配专用 IP 地址的 Web 服务器。
实例上的 Web 服务器和网站
对于本教程,我们已经部署了一个自定义映像,并且此映像已经安装了 NGINX 和 PHP 的 Web 服务器。如果选择部署新的 vanilla Oracle Linux 映像,则需要手动安装带有 PHP 和定制网页的 NGINX。这是测试网络负载平衡器所必需的。如果您没有任何定制映像,可以随意选择 Oracle Linux 8 映像。
-
要手动安装 NGINX 和 PHP,请参见 Task 6:Install a Webserver on Instance 。
-
要创建用于测试的定制网页,请参阅任务 8:使用 NGINX 和 PHP 创建定制网站。确保在所有三个 OCI 计算实例上都执行此操作。
任务 4:创建新的 OCI 灵活网络负载平衡器
-
我们已创建 OCI 计算实例。让我们创建一个新的网络负载平衡器。
- 单击网络。
- 单击 Network load balancer 。
-
单击创建网络负载平衡器。
-
在创建网络负载平衡器中,输入以下信息。
- 输入 Load balancer name 。
- 选择公共以查看类型,因为我们希望可以从 Internet 访问此网络负载平衡器。
- 选择 Ephemeral IPv4 address 作为公共 IP 地址。
- 单击下一步。
- 选择在任务 1 中创建的 VCN。
- 选择在任务 2 中创建的公共子网。
- 单击下一步。
-
在配置监听程序中,输入以下信息。
- 输入发布人名称。
- 为网络负载平衡器需要侦听的流量类型选择 TCP 。
- 选择指定端口并指定端口
80
,因为我们希望网络负载平衡器在 TCP 端口80
上侦听传入连接。 - 单击下一步。
-
在配置后端中,输入以下信息。
- 输入 Backend set name 。
- 单击添加后端。
- 确保选择第一个 OCI 计算实例时端口正确。我们现在将保留默认权重。
- 单击 + Another backend 。
- 确保选择了具有正确端口的第二个 OCI 计算实例。我们现在将保留默认权重。
- 确保选择了具有正确端口的第三个 OCI 计算实例。我们现在将保留默认权重。
- 单击添加后端。
- 查看后端。
- 单击下一步。
-
在指定运行状况检查策略部分中,输入以下信息。
- 选择 HTTP 作为用于检查后端服务器的协议。
- 选择端口
80
作为用于检查后端服务器的端口。 - 单击下一步。
- 查看负载平衡器详细信息和监听程序详细信息。
- 向下滚动。
- 复查后端集详细信息。
- 向下滚动。
- 查看 Health check policy 。
- 单击创建网络负载平衡器。
-
创建网络负载平衡器后,状态将从 CREATING 开始。
- 几分钟后,状态将更改为 ACTIVE 。
- 由于运行状况检查策略仍需要启动,因此总体运行状况可能以 Unknown 状态启动。
- 后端集运行状况也可能以 Unknown 状态开始。
- 有时,整体运行状况设置为 OK 。
- 此外,后端集健康状况也设置为 OK 。
- 记下分配给网络负载平衡器的公共 IP 地址。
我们已构建了下图中所示的设置。
任务 5:测试新的 OCI 网络负载平衡器
-
我们创建了所有三个 OCI 实例和网络负载平衡器。是时候测试网络负载平衡器了。
- 打开浏览器并输入网络负载平衡器的公共 IP 地址。
- 请注意我们正在从中浏览的公共客户端 IP 地址。
- 请注意专用服务器 IP 地址,该地址是 OCI 计算实例之一的 IP 地址。
-
选择用于 OCI 计算实例的算法。
- 向下滚动
- 请注意,默认负载平衡策略设置为 5-tuple-hash 。
- 要更改此项或查看其他选项,请单击三个点。
- 单击编辑。
- 请注意,已选择 5-tuple-hash 。
- 单击取消。
-
返回浏览器。
- 单击“Refresh(刷新)”图标。
- 请注意,作为 OCI 计算实例之一的 IP 地址的专用服务器 IP 地址已从
10.0.2.140
更改为10.0.2.7
。这确认网络负载平衡器正在工作。
所采用路径的可视化表示形式。
- 在隐私或隐身模式下打开浏览器。
- 浏览找到网络负载平衡器的公共 IP 地址。
- 请注意,作为 OCI 计算实例之一的 IP 地址的专用服务器 IP 地址已从
10.0.2.7
更改为10.0.2.140
。
所采用路径的可视化表示形式。
- 单击“Refresh(刷新)”图标。
- 请注意,作为 OCI 计算实例之一的 IP 地址的专用服务器 IP 地址已从
10.0.2.140
更改为10.0.2.150
。
所采用路径的可视化表示形式。
-
让我们进行一次最终测试,并关闭两个 OCI 计算实例。
- 单击左上角的汉堡菜单
- 单击实例。
- 选择第一个 OCI 计算实例。
- 选择第二个 OCI 计算实例。
- 单击操作。
- 单击停止。
-
单击停止。
正在处理停止。
-
单击关闭。
- 请注意,第一个 OCI 计算实例已停止。
- 请注意,第二个 OCI 计算实例已停止。
- 请注意,第三个 OCI 计算实例仍在运行。
OCI 计算实例的可视化表示形式。
- 单击左上角的汉堡菜单。
- 单击网络。
- 单击 Network load balancer 。
- 查看总体运行状况,状态为严重。
- 单击网络负载平衡器。
- 查看总体运行状况,状态为严重。
- 查看后端集运行状况,状态为严重。
- 向下滚动。
- 查看总体运行状况,状态为严重。
- 单击后端集。
- 查看总体健康状况,状态为严重。
- 后端健康状况在关键旁边有 2 个,这与已关闭的 OCI 计算实例相对应。
- 1 为 OK ,是唯一一个仍在运行的 OCI 计算实例。
- 单击后端。
- 请注意,第一个 OCI 计算实例的运行状况为严重。
- 请注意,第二个 OCI 计算实例的运行状况为严重。
- 请注意,第三个 OCI 计算实例的运行状况为正常。
- 刷新网页。
- 请注意,专用服务器 IP 地址是唯一已启动的 OCI 计算实例的 IP 地址。
所采用路径的可视化表示形式。
- 返回到实例页。
- 选择第一个 OCI 计算实例。
- 选择第二个 OCI 计算实例。
- 单击操作。
- 单击开始。
-
单击开始。
正在处理开始。
-
单击关闭。
请注意,第一个和第二个 OCI 计算实例正在重新运行。
- 返回到网络负载平衡器页。
- 查看总体运行状况,状态为确定。
- 单击网络负载平衡器。
- 查看 health ,状态为 OK 。
- 查看后端集运行状况,状态为确定。
- 单击后端集。
- 查看 health ,状态为 OK 。
- 单击后端集。
- 查看 Health ,状态为 OK 。
- 3 为 OK ,是唯一一个已启动的 OCI 计算实例。
- 单击后端。
请注意,所有 OCI 计算实例的运行状况都正常。
确认
- 作者 - Iwan Hoogendoorn(OCI 网络专家)
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Use the Public OCI Flexible Network Load Balancer to Expose your Webserver Pool to the Internet
F94503-01
March 2024