你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:使用 Azure 门户对多个 IP 配置进行负载均衡
若要托管多个网站,可以使用与虚拟机关联的另一个网络接口。 Azure 负载均衡器支持通过部署负载均衡来支持网站的高可用性。
在本教程中,你将了解如何:
- 创建和配置虚拟网络、子网和 NAT 网关。
- 创建两个 Windows 服务器虚拟机
- 为每个虚拟机创建辅助 NIC 和网络配置
- 在每个虚拟机上创建两个 Internet Information Server (IIS) 网站
- 将网站绑定到网络配置
- 创建和配置 Azure 负载均衡器
- 测试负载均衡器
先决条件
- 具有活动订阅的 Azure 帐户。 免费创建帐户。
创建虚拟网络和堡垒主机
在本部分中,你将创建一个包含资源子网、Azure Bastion 子网和 Azure Bastion 主机的虚拟网络。
重要
小时定价从部署 Bastion 的时刻开始计算,而无论出站数据使用情况如何。 有关详细信息,请参阅定价和 SKU。 如果要将 Bastion 部署为教程或测试的一部分,建议在使用完此资源后将其删除。
在门户中,搜索并选择“虚拟网络”。
在“虚拟网络”页面上,选择“+ 创建”。
在创建虚拟网络的基本信息选项卡上输入或选择以下信息:
设置 值 项目详细信息 订阅 选择订阅。 资源组 选择“新建”。
在“名称”中输入“load-balancer-rg”。
选择“确定”。实例详细信息 名称 输入“lb-vnet”。 区域 选择美国东部。 选择“安全性”选项卡或页面底部的“下一步”按钮。
在“Azure Bastion”下,输入或选择以下信息:
设置 “值” Azure Bastion 启用 Azure Bastion 选中复选框。 Azure Bastion 主机名 输入“lb-bastion”。 Azure Bastion 公共 IP 地址 选择“新建”。
在“名称”中输入“lb-bastion-ip”。
选择“确定”。选择“IP 地址”选项卡,或选择页面底部的“下一步”。
在“创建虚拟网络”页面上,输入或选择以下信息:
设置 “值” 添加 IPv4 地址空间 IPv4 地址空间 输入“10.0.0.0/16 (65,356 个地址)”。 子网 选择要编辑的默认子网链接。 子网模板 保留默认值“默认”。 名称 输入“backend-subnet”。 开始地址 输入“10.0.0.0”。 子网大小 输入 /24(256 个地址)。 安全性 NAT 网关 选择“lb-nat-gateway”。 选择“保存”。
选择屏幕底部的“查看 + 创建”,然后在验证通过时选择“创建”。
重要
小时定价从部署 Bastion 的时刻开始计算,而无论出站数据使用情况如何。 有关详细信息,请参阅定价和 SKU。 如果要将 Bastion 部署为教程或测试的一部分,建议在使用完此资源后将其删除。
创建 NAT 网关
在此部分中,你将为虚拟网络中的资源创建用于出站 Internet 访问的 NAT 网关。 有关出站规则的其他选项,请查看用于出站连接的网络地址转换 (SNAT)
登录 Azure 门户。
在门户顶部的搜索框中,输入“NAT 网关”。 在搜索结果中选择“NAT 网关”。
选择“+ 新建”。
在“创建网络地址转换(NAT)网关”的“基本信息”选项卡中,输入或选择以下值:
设置 值 项目详细信息 订阅 选择订阅。 资源组 选择“新建”。
在“名称”中输入“load-balancer-rg”。
选择“确定”。实例详细信息 NAT 网关名称 输入“lb-nat-gateway”。 区域 选择“美国东部”。 可用性区域 选择“无”。 空闲超时(分钟) 输入 15。 选择“出站 IP”选项卡,或者选择“下一步: 出站 IP”按钮(位于页面底部) 。
在“公共 IP 地址”下,选择“创建新的公共 IP 地址”。
在“添加公共 IP 地址”的“名称”中,输入“nat-gw-public-ip”。
选择“确定”。
选择页面底部的“查看 + 创建”按钮,或选择“查看 + 创建”选项卡 。
选择“创建”。
创建虚拟机
在本部分中,你将创建两个虚拟机来托管 IIS 网站
在门户顶部的搜索框中,输入“虚拟机”。 在搜索结果中,选择“虚拟机”。
在“虚拟机”中,依次选择“+ 创建”、“Azure 虚拟机”。
在“创建虚拟机”中,输入或选择以下信息:
设置 值 项目详细信息 订阅 选择 Azure 订阅 资源组 选择“load-balancer-rg” 实例详细信息 虚拟机名称 输入“myVM1” 区域 选择(US)美国东部 可用性选项 选择“可用性区域” 可用性区域 选择“1” 安全类型 保留默认值标准。 映像 选择“Windows Server 2022 Datacenter - Gen2” 大小 选择 VM 大小或采用默认设置 管理员帐户 用户名 输入用户名 密码 输入密码 确认密码 重新输入密码 入站端口规则 公共入站端口 选择“无” 选择“网络”选项卡,或选择“下一步: 磁盘”,然后选择“下一步: 网络”。
在“网络”选项卡中,选择或输入:
设置 值 网络接口 虚拟网络 选择“myVNet”。 子网 选择“backend-subnet(10.1.0.0/24)” 公共 IP 选择无。 NIC 网络安全组 选择“高级” 配置网络安全组 选择“新建”。
在“创建网络安全组”的“名称”中输入“myNSG”。
在“入站规则”中,选择“+添加入站规则”。
在“服务”中,选择“HTTP”。
在“优先级”中,输入“100”。
在“名称”中,输入“myNSGrule”
选择“添加”
选择“确定”选择“查看 + 创建”。
检查设置,然后选择“创建”。
按照步骤 1 到 7 操作,使用以下值创建另一个 VM,所有其他设置均与 myVM1 相同:
设置 VM 2 名称 myVM2 可用性区域 2 网络安全组 选择现有的“myNSG”
注意
Azure 会为未分配公共 IP 地址的 VM 或位于内部基本 Azure 负载均衡器的后端池中的 VM 提供默认出站访问 IP。 默认出站访问 IP 机制会提供不可配置的出站 IP 地址。
发生以下事件之一时,将禁用默认出站访问 IP:
- 将公共 IP 地址分配给 VM。
- 虚拟机被放置在标准负载平衡器的后端池中,有无出站规则均可。
- 向 VM 的子网分配了 Azure NAT 网关资源。
在灵活业务流程模式下通过使用虚拟机规模集创建的 VM 没有默认的出站访问权限。
有关 Azure 中的出站连接的详细信息,请参阅 Azure 中的默认出站访问权限和使用用于出站连接的源网络地址转换 (SNAT)。
创建辅助网络配置
在本部分中,你要将每个虚拟机的现有 NIC 的专用 IP 地址更改为“静态”。 接着,为每个具有“静态”专用 IP 地址配置的虚拟机添加新的 NIC 资源。
有关在虚拟机配置中配置浮动 IP 的更多信息,请参阅浮动 IP 来宾 OS 配置。
在门户顶部的搜索框中,输入“虚拟机”。 在搜索结果中,选择“虚拟机”。
选择 myVM1。
如果虚拟机正在运行,则将其停止。
在“设置”中选择“网络” 。
在“网络”中,选择“网络接口”旁边的网络接口名称 。 该网络接口以 VM 的名称开头,并分配有一个随机数。 在本示例中,它为 myVM1266。
在网络接口页上的“设置”中,选择“IP 配置” 。
在“IP 配置”中,选择“ipconfig1” 。
在 ipconfig1 配置的“分配”中选择 “静态”。
选择“保存” 。
返回到 myVM1 的“概述”页。
在“设置”中选择“网络” 。
在“网络”页中,选择“附加网络接口”。
在“附加网络接口”中,选择“创建并附加网络接口” 。
在“创建网络接口”中,输入或选择以下信息:
设置 值 项目详细信息 资源组 选择“load-balancer-rg”。 网络接口 名称 输入“myVM1NIC2” 子网 选择“backend-subnet (10.1.0.0/24)”。 NIC 网络安全组 选择“高级”。 配置网络安全组 选择 myNSG。 专用 IP 地址分配 选择“静态”。 专用 IP 地址 输入 10.1.0.6。 选择“创建”。
启动虚拟机。
对 myVM2 重复步骤 1 到 16,并替换以下信息:
设置 myVM2 名称 myVM2NIC2 专用 IP 地址 10.1.0.7
配置虚拟机
在本部分中,你将使用 Azure Bastion 连接到 myVM1 和 myVM2,并配置辅助网络配置。 你将为辅助网络配置的网关添加一个路由。 然后,在每个虚拟机上安装 IIS,并自定义网站以显示虚拟机的主机名。
在门户顶部的搜索框中,输入“虚拟机”。 在搜索结果中,选择“虚拟机”。
选择 myVM1。
启动 myVM1。
在“概述”中,依次选择“连接”、“Bastion” 。
输入创建虚拟机时输入的用户名和密码。
选择“允许”让 Bastion 使用剪贴板。
在服务器桌面上,导航到“开始”>“Windows 管理工具”>“Windows PowerShell”>“Windows PowerShell”。
在 PowerShell 窗口中执行
route print
命令,此命令将返回类似于以下虚拟机输出的输出,该虚拟机包含两个附加的网络接口:=========================================================================== Interface List 4...60 45 bd 9c c7 00 ......Microsoft Hyper-V Network Adapter 11...60 45 bd 8d 44 fa ......Microsoft Hyper-V Network Adapter #3 1...........................Software Loopback Interface 1 =========================================================================== IPv4 Route Table =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 10.1.0.1 10.1.0.4 10 10.1.0.0 255.255.255.0 On-link 10.1.0.4 266 10.1.0.0 255.255.255.0 On-link 10.1.0.6 266 10.1.0.4 255.255.255.255 On-link 10.1.0.4 266 10.1.0.6 255.255.255.255 On-link 10.1.0.6 266 10.1.0.255 255.255.255.255 On-link 10.1.0.4 266 10.1.0.255 255.255.255.255 On-link 10.1.0.6 266 127.0.0.0 255.0.0.0 On-link 127.0.0.1 331 127.0.0.1 255.255.255.255 On-link 127.0.0.1 331 127.255.255.255 255.255.255.255 On-link 127.0.0.1 331 168.63.129.16 255.255.255.255 10.1.0.1 10.1.0.4 11 169.254.169.254 255.255.255.255 10.1.0.1 10.1.0.4 11 224.0.0.0 240.0.0.0 On-link 127.0.0.1 331 224.0.0.0 240.0.0.0 On-link 10.1.0.4 266 224.0.0.0 240.0.0.0 On-link 10.1.0.6 266 255.255.255.255 255.255.255.255 On-link 127.0.0.1 331 255.255.255.255 255.255.255.255 On-link 10.1.0.4 266 255.255.255.255 255.255.255.255 On-link 10.1.0.6 266 =========================================================================== Persistent Routes: None IPv6 Route Table =========================================================================== Active Routes: If Metric Network Destination Gateway 1 331 ::1/128 On-link 4 266 fe80::/64 On-link 11 266 fe80::/64 On-link 11 266 fe80::382:8783:5d2:f71e/128 On-link 4 266 fe80::1575:ced8:3e94:f23a/128 On-link 1 331 ff00::/8 On-link 4 266 ff00::/8 On-link 11 266 ff00::/8 On-link =========================================================================== Persistent Routes: None
在本示例中,Microsoft Hyper-V 网络适配器 #3(接口 13)是辅助网络接口,系统不会向其分配默认网关。
在 PowerShell 窗口中执行
ipconfig /all
命令,以查看分配给辅助网络接口的 IP 地址。 在本例中,10.1.0.6 被分配到接口 13。 辅助网络接口没有返回任何默认网关地址。Connection-specific DNS Suffix . : pbu0t5vjr3sevaritkncspakhd.ax.internal.cloudapp.net Description . . . . . . . . . . . : Microsoft Hyper-V Network Adapter #3 Physical Address. . . . . . . . . : 60-45-BD-A1-75-FB DHCP Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes Link-local IPv6 Address . . . . . : fe80::dfb3:b93e:3516:c5b6%12(Preferred) IPv4 Address. . . . . . . . . . . : 10.1.0.6(Preferred) Subnet Mask . . . . . . . . . . . : 255.255.255.0 Lease Obtained. . . . . . . . . . : Monday, December 12, 2022 7:42:31 PM Lease Expires . . . . . . . . . . : Friday, January 19, 2159 2:17:19 AM Default Gateway . . . . . . . . . : DHCP Server . . . . . . . . . . . : 168.63.129.16 DHCPv6 IAID . . . . . . . . . . . : 207635901 DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-2B-28-C9-C0-60-45-BD-9B-ED-AE DNS Servers . . . . . . . . . . . : 168.63.129.16 NetBIOS over Tcpip. . . . . . . . : Enabled
若要将子网外地址的所有流量路由到网关,请执行以下命令:
route -p add 0.0.0.0 MASK 0.0.0.0 10.1.0.1 METRIC 5015 IF 13
在本示例中,10.1.0.1 是之前创建的虚拟网络的默认网关。
执行以下命令或将代码复制并粘贴到 PowerShell 窗口中,以安装并配置 IIS 和测试网站:
## Install IIS and the management tools. ## Install-WindowsFeature -Name Web-Server -IncludeManagementTools ## Set the binding for the Default website to 10.1.0.4:80. ## $para1 = @{ Name = 'Default Web Site' BindingInformation = '10.1.0.4:80:' Protocol = 'http' } New-IISSiteBinding @para1 ## Remove the default site binding. ## $para2 = @{ Name = 'Default Web Site' BindingInformation = '*:80:' } Remove-IISSiteBinding @para2 ## Remove the default htm file. ## Remove-Item c:\inetpub\wwwroot\iisstart.htm ## Add a new htm file that displays the Contoso website. ## $para3 = @{ Path = 'c:\inetpub\wwwroot\iisstart.htm' Value = $("Hello World from www.contoso.com" + "-" + $env:computername) } Add-Content @para3 ## Create folder to host website. ## $para4 = @{ Path = 'c:\inetpub\' Name = 'fabrikam' Type = 'directory' } New-Item @para4 ## Create a new website and site binding for the second IP address 10.1.0.6. ## $para5 = @{ Name = 'Fabrikam' PhysicalPath = 'c:\inetpub\fabrikam' BindingInformation = '10.1.0.6:80:' } New-IISSite @para5 ## Add a new htm file that displays the Fabrikam website. ## $para6 = @{ Path = 'C:\inetpub\fabrikam\iisstart.htm' Value = $("Hello World from www.fabrikam.com" + "-" + $env:computername) } Add-Content @para6
关闭 Bastion 与 myVM1 的连接。
对 myVM2 重复步骤 1 到 12。 使用下面的 PowerShell 代码为 myVM2 安装 IIS。
## Install IIS and the management tools. ## Install-WindowsFeature -Name Web-Server -IncludeManagementTools ## Set the binding for the Default website to 10.1.0.5:80. ## $para1 = @{ Name = 'Default Web Site' BindingInformation = '10.1.0.5:80:' Protocol = 'http' } New-IISSiteBinding @para1 ## Remove the default site binding. ## $para2 = @{ Name = 'Default Web Site' BindingInformation = '*:80:' } Remove-IISSiteBinding @para2 ## Remove the default htm file. ## Remove-Item C:\inetpub\wwwroot\iisstart.htm ## Add a new htm file that displays the Contoso website. ## $para3 = @{ Path = 'c:\inetpub\wwwroot\iisstart.htm' Value = $("Hello World from www.contoso.com" + "-" + $env:computername) } Add-Content @para3 ## Create folder to host website. ## $para4 = @{ Path = 'c:\inetpub\' Name = 'fabrikam' Type = 'directory' } New-Item @para4 ## Create a new website and site binding for the second IP address 10.1.0.7. ## $para5 = @{ Name = 'Fabrikam' PhysicalPath = 'c:\inetpub\fabrikam' BindingInformation = '10.1.0.7:80:' } New-IISSite @para5 ## Add a new htm file that displays the Fabrikam website. ## $para6 = @{ Path = 'C:\inetpub\fabrikam\iisstart.htm' Value = $("Hello World from www.fabrikam.com" + "-" + $env:computername) } Add-Content @para6
创建负载均衡器
在本部分中,你将创建一个对虚拟机进行负载均衡的区域冗余负载均衡器。
使用区域冗余时,一个或多个可用性区域可能会发生故障,而数据路径可以幸存,但前提是该区域中有一个局部区域保持正常。
在创建负载均衡器的过程中,配置以下内容:
- 两个前端 IP 地址,每个网站一个。
- 后端池
- 入站负载均衡规则
在门户顶部的搜索框中,输入“负载均衡器”。 在搜索结果中选择“负载均衡器”。
在“负载均衡器”页上,选择“创建” 。
在“创建负载均衡器”页的“基本信息”选项卡中,输入或选择以下信息:
设置 值 项目详细信息 订阅 选择订阅。 资源组 选择“load-balancer-rg”。 实例详细信息 名称 输入“myLoadBalancer” 区域 选择“美国东部”。 SKU 保留默认值“标准”。 类型 选择“公共”。 层 保留默认值“区域”。 选择“下一步: 前端 IP 配置”。
在“前端 IP 配置”中,选择“+ 添加前端 IP 配置”。
在“添加前端 IP 配置”中,输入或选择以下信息:
设置 值 名称 输入“Frontend-contoso”。 IP 版本 选择“IPv4”。 IP 类型 选择“IP 地址”。 公共 IP 地址 选择“新建”。
在“名称”中输入“myPublicIP-contoso”
在“可用性区域”中选择“区域冗余”。
保留“路由首选项”的默认值“Microsoft 网络”。
选择“确定”。注意
IPv6 目前不支持路由首选项或跨区域负载平衡(全局层)。
有关 IP 前缀的详细信息,请参阅 Azure 公共 IP 地址前缀。
在提供可用性区域设置的区域中,可以选择无区域(默认选项)、特定区域或区域冗余。 请根据特定的域故障要求做出选择。 在不提供“可用性区域”设置的区域中,不会显示此字段。
有关可用性区域的详细信息,请参阅可用性区域概述。选择 添加 。
选择“+ 添加前端 IP 配置”。
在“添加前端 IP 配置”中,输入或选择以下信息:
设置 值 名称 输入“Frontend-fabrikam”。 IP 版本 选择“IPv4”。 IP 类型 选择“IP 地址”。 公共 IP 地址 选择“新建”。
在“名称”中输入“myPublicIP-fabrikam”
在“可用性区域”中选择“区域冗余”。
保留“路由首选项”的默认值“Microsoft 网络”。
选择“确定”。选择 添加 。
选择“下一步: 后端池”。
在“后端池”选项卡上,选择“+ 添加后端池” 。
在“添加后端池”中,输入或选择以下信息:
设置 值 名称 输入“myBackendPool-contoso”。 虚拟网络 选择“myVNet”。 后端池配置 选择“NIC”。 在“IP 配置”中,选择“+ 添加” 。
选择与 ipconfig1 (10.1.0.4) 和 ipconfig1 (10.1.0.5) 对应的 myVM1 和 myVM2 。
选择 添加 。
选择“保存” 。
选择“+ 添加后端池”。
在“添加后端池”中,输入或选择以下信息:
设置 值 名称 输入“myBackendPool-fabrikam”。 虚拟网络 选择“myVNet”。 后端池配置 选择“NIC”。 在“IP 配置”中,选择“+ 添加” 。
选择与 ipconfig1 (10.1.0.6) 和 ipconfig1 (10.1.0.7) 对应的 myVM1 和 myVM2 。
选择 添加 。
选择“保存”。
选择“下一步: 入站规则”。
在“入站规则”选项卡的“负载均衡规则”中,选择“+ 添加负载均衡规则” 。
在“添加负载均衡规则”中,输入或选择以下信息:
设置 值 名称 输入“myHTTPRule-contoso” IP 版本 选择“IPv4”。 前端 IP 地址 选择“Frontend-contoso”。 后端池 选择“myBackendPool-contoso”。 协议 选择“TCP”。 端口 输入 80。 后端端口 输入 80。 运行状况探测 选择“新建”。
在“名称”中,输入“myHealthProbe-contoso”。
在“协议”中选择“TCP”。
将剩余的字段保留为默认值,然后选择“确定”。会话暂留 选择“无”。 空闲超时(分钟) 输入或选择“15”。 TCP 重置 选择“启用”。 浮动 IP 选择“已禁用”。 出站源网络地址转换 (SNAT) 保留默认值“(建议)使用出站规则为后端池成员提供对 Internet 的访问权限。” 选择 添加 。
选择“+ 添加负载均衡规则”。
在“添加负载均衡规则”中,输入或选择以下信息:
设置 值 名称 输入“myHTTPRule-fabrikam” IP 版本 选择“IPv4”。 前端 IP 地址 选择“Frontend-fabrikam”。 后端池 选择“myBackendPool-fabrikam”。 协议 选择“TCP”。 端口 输入 80。 后端端口 输入 80。 运行状况探测 选择“新建”。
在“名称”中,输入“myHealthProbe-fabrikam”。
在“协议”中选择“TCP”。
将剩余的字段保留为默认值,然后选择“确定”。会话暂留 选择“无”。 空闲超时(分钟) 输入或选择“15”。 TCP 重置 选择“启用”。 浮动 IP 选择“已禁用”。 出站源网络地址转换 (SNAT) 保留默认值“(建议)使用出站规则为后端池成员提供对 Internet 的访问权限。” 选择 添加 。
选择页面底部的“查看 + 创建”蓝色按钮。
选择“创建”。
注意
本示例创建了一个 NAT 网关来提供出站 Internet 访问。 绕过了配置中的出站规则选项卡,因为它是可选选项,且 NAT 网关不需要它。 有关 Azure NAT 网关的详细信息,请参阅什么是虚拟网络 NAT?若要详细了解 Azure 中的出站连接,请参阅出站连接的源网络地址转换 (SNAT)
测试负载均衡器
在本部分中,你将发现每个网站的公共 IP 地址。 你将在浏览器中输入相应 IP,以测试之前创建的网站。
在门户顶部的搜索框中,输入“公共 IP”。 在搜索结果中,选择“公共 IP 地址”。
选择“myPublicIP-contoso”。
复制 myPublicIP-contoso 的概述页中的“IP 地址”。
打开 Web 浏览器并将公共 IP 地址粘贴到地址栏中。
返回到“公共 IP 地址”。 选择“myPublicIP-fabrikam”。
复制 myPublicIP-fabrikam 的概述页中的“IP 地址”。
打开 Web 浏览器并将公共 IP 地址粘贴到地址栏中。
若要测试负载均衡器,请刷新浏览器或关闭其中一个虚拟机。
清理资源
如果你不打算继续使用此应用程序,请按以下步骤删除虚拟机和负载均衡器:
在门户顶部的搜索框中输入“资源组”。 在搜索结果中选择“资源组”。
在“资源组”中选择“load-balancer-rg”。
选择“删除资源组”。
在“键入资源组名称:”中输入 load-balancer-rg。 选择“删除”。
后续步骤
请继续学习下一篇文章,了解如何创建跨区域负载均衡器: