Azure 负载均衡器的多个 VIP
您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.
Azure 负载均衡器的多个 VIP
重要
Azure 负载均衡器支持两种不同的类型:“基本”和“标准”。 本文介绍基本负载均衡器。 虽然基本负载均衡器已推出正式版,但标准负载均衡器目前仍以公共预览版提供。 有关标准负载均衡器的详细信息,请参阅标准负载均衡器概述。
使用 Azure 负载均衡器可对多个端口和/或多个 IP 地址上的服务进行负载均衡。 可以使用公共和内部负载均衡器定义来对一组 VM 之间的流量进行负载均衡。
本文介绍此功能的基础知识、重要概念和约束。 如果只想要公开一个 IP 地址上的服务,可以查看公共或内部负载均衡器配置的简要说明。 添加多个 VIP 是对单个 VIP 配置的递增。 使用本文中的概念,随时可以扩展简化的配置。
定义 Azure 负载均衡器时,前端和后端配置与规则相连接。 规则引用的运行状况探测用于确定如何将新流量发送到后端池中的节点。 前端由虚拟 IP (VIP) 定义,VIP 是由 IP 地址(公共或内部)、传输协议(UDP 或 TCP)和端口号组成的 3 元组。 DIP 是附加到后端池中 VM 的 Azure 虚拟 NIC 上的 IP 地址。
下表包含一些示例前端配置:
| VIP | IP 地址 | 协议 | 端口 |
|---|---|---|---|
| 1 | 65.52.0.1 | TCP | 80 |
| #N/A | 65.52.0.1 | TCP | 8080 |
| 3 | 65.52.0.1 | UDP | 80 |
| 4 | 65.52.0.2 | TCP | 80 |
该表显示了四个不同的前端。 前端 #1、#2 和 #3 是具有多个规则的单一 VIP。 每个前端使用相同的 IP 地址,但端口或协议不同。 前端 #1 和 #4 是多个 VIP 的示例,在多个 VIP 中重复使用相同的前端协议和端口。
在 Azure 负载均衡器中可以灵活定义负载均衡规则。 规则声明如何将前端上的地址和端口映射到后端上的目标地址和端口。 是否在不同的规则中重复使用后端端口取决于规则的类型。 每种类型的规则有特定的要求,可能会影响主机配置和探测设计。 有两种类型的规则:
- 默认规则,不重复使用后端端口
- 浮动 IP 规则,重复使用后端端口
Azure Load Balancer 允许在相同的负载均衡器配置中混用这两种规则类型。 负载均衡器可以针对给定的 VM 同时使用这两种规则或两者的任意组合,只要遵守规则的约束即可。 选择哪种规则类型取决于应用程序要求以及支持该配置的复杂性。应该评估哪种规则类型最适合自己的方案。
我们将从默认行为开始进一步探讨这些方案。
规则类型 #1:不重复使用后端端口

在此方案中,前端 VIP 的配置如下:
| VIP | IP 地址 | 协议 | 端口 |
|---|---|---|---|
1 |
65.52.0.1 | TCP | 80 |
#N/A |
65.52.0.2 | TCP | 80 |
DIP 是入站流量的目标。 在后端池中,每个 VM 公开 DIP 上唯一端口上的所需服务。 此服务通过规则定义与前端关联。
我们定义了两个规则:
| 规则 | 映射前端 | 目标后端池 |
|---|---|---|
| 1 | VIP1:80 |
DIP1:80, DIP2:80 |
| #N/A | VIP2:80 |
DIP1:81, DIP2:81 |
现在,Azure 负载均衡器的完整映射如下:
| 规则 | VIP IP 地址 | 协议 | 端口 | 目标 | 端口 |
|---|---|---|---|---|---|
1 |
65.52.0.1 | TCP | 80 | DIP IP 地址 | 80 |
#N/A |
65.52.0.2 | TCP | 80 | DIP IP 地址 | 81 |
每个规则必须生成具有目标 IP 地址和目标端口唯一组合的流量。 通过改变流量的目标端口,多个规则可将流量发送到不同端口上的相同 DIP。
运行状况探测始终定向到 VM 的 DIP。 必须确保探测反映 VM 的运行状况。
规则类型 #2:使用浮动 IP 来重复使用后端端口
使用 Azure 负载均衡器可以灵活地在多个 VIP 中重复使用前端端口,无论使用哪种规则类型。 此外,在某些应用程序方案中,后端池中单个 VM 上的多个应用程序实例偏好或必须使用相同端口。 重复使用端口的常见示例包括提供高可用性群集、网络虚拟设备,以及公开多个不重新加密的 TLS 终结点。
如果想要在多个规则中重复使用后端端口,必须在规则定义中启用浮动 IP。
浮动 IP 是所谓的直接服务器返回 (DSR) 的一部分。 DSR 包括两个组成部分:流拓扑和 IP 地址映射方案。 在平台级别,Azure 负载均衡器始终在 DSR 流拓扑中运行,无论是否已启用浮动 IP。 这意味着,流的出站部分始终正确重写为直接流回到来源。
使用默认规则类型时,Azure 将公开传统的负载均衡 IP 地址映射方案以便于使用。启用浮动 IP 会更改 IP 地址映射方案,提供更大的灵活性,请参阅下面的说明。
下图演示了此配置:

此方案中,后端池中的每个 VM 有三个网络接口:
- DIP:与 VM 关联的虚拟 NIC(Azure NIC 资源的 IP 配置)
- VIP1:来宾 OS 中的环回接口,该接口上已配置 VIP1 的 IP 地址
- VIP2:来宾 OS 中的环回接口,该接口上已配置 VIP2 的 IP 地址
重要
逻辑接口的配置在来宾 OS 中执行。 此配置不是由 Azure 执行或管理。 如果没有此配置,规则将无法正常运行。 运行状况探测定义使用 VM 的 DIP,而不是逻辑 VIP。 因此,服务必须在 DIP 端口上提供探测响应,反映逻辑 VIP 上提供的服务的状态。
假设上述方案使用相同的前端配置:
| VIP | IP 地址 | 协议 | 端口 |
|---|---|---|---|
1 |
65.52.0.1 | TCP | 80 |
#N/A |
65.52.0.2 | TCP | 80 |
我们定义了两个规则:
| 规则 | 映射前端 | 目标后端池 |
|---|---|---|
| 1 | VIP1:80 |
VIP1:80(在 VM1 和 VM2 中) |
| #N/A | VIP2:80 |
VIP2:80(在 VM1 和 VM2 中) |
下表显示负载均衡器中的完整映射:
| 规则 | VIP IP 地址 | 协议 | 端口 | 目标 | 端口 |
|---|---|---|---|---|---|
1 |
65.52.0.1 | TCP | 80 | 与 VIP 相同 (65.52.0.1) | 与 VIP 相同 (80) |
#N/A |
65.52.0.2 | TCP | 80 | 与 VIP 相同 (65.52.0.2) | 与 VIP 相同 (80) |
入站流量的目标是 VM 中环回接口上的 VIP 地址。 每个规则必须生成具有目标 IP 地址和目标端口唯一组合的流量。 通过改变流量的目标 IP 地址,可以在同一 VM 上重复使用端口。 通过将服务绑定到 VIP 的 IP 地址和相应环回接口的端口,可以向负载均衡器公开服务。
请注意,本示例未更改目标端口。 这是一个浮动 IP 方案,不过 Azure 负载均衡器也支持定义规则来重写后端的目标端口,使其与前端的目标端口不同。
浮动 IP 规则类型是多种负载均衡器配置模式的基础。 具有多个侦听器的 SQL AlwaysOn 配置是目前提供的示例之一。 一段时间后,我们会介绍更多此类方案。
限制
- 只有 IaaS VM 支持多个 VIP 配置。
- 使用浮点 IP 规则时,应用程序必须为出站流量使用 DIP。 如果应用程序绑定到来宾 OS 中环回接口上配置的 VIP 地址,则无法使用 SNAT 来重写出站流量,此时流量处理会失败。
- 公共 IP 地址会影响计费。 有关详细信息,请参阅 IP 地址定价
- 订阅有所限制。 有关详细信息,请参阅服务限制。
Azure 负载均衡器的多个 VIP的更多相关文章
- Azure 负载均衡器介绍
您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. Azure 负载均衡器 ...
- Azure PowerShell (8) 使用PowerShell设置Azure负载均衡器规则
<Windows Azure Platform 系列文章目录> 注意:如果Azure面对的客户只是企业级客户,企业级客户使用NAT设备访问Internet的话,因为多个客户端使用相同的So ...
- Azure ARM (12) ARM模式下,在负载均衡器上设置多个公网IP地址
<Windows Azure Platform 系列文章目录> 最近在帮助一个客户设置WAF (Web Application Firewall),WAF厂商要求在负载均衡器上,设置多个公 ...
- Azure ARM (11) ARM模式下,创建虚拟机并配置负载均衡器
<Windows Azure Platform 系列文章目录> 本文内容比较多,请大家仔细阅读,谢谢! 在前几章中,我们做了准备工作: 1.创建ARM Resouce Group,叫Lei ...
- 最全的Windows Azure学习教程汇总
Windows Azure 是微软基于云计算的操作系统,能够为开发者提供一个平台,帮助开发可运行在云服务器.数据中心.Web 和 PC 上的应用程序. Azure 是一种灵活和支持互操作的平台,能够将 ...
- Windows Azure Virtual Machine (28) 使用Azure实例级别IP,Instance-Level Public IP Address (PIP)
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 熟悉Azure平台的读者都知道,我们在使用Azure Virtual ...
- 什么是 Azure 中的虚拟机规模集?
虚拟机规模集是一种 Azure 计算资源,可用于部署和管理一组相同的 VM. 由于所有 VM 的配置都相同,因此无需对 VM 进行任何预先配置. 这样就可以更方便地构建面向大型计算.大数据.容器化工作 ...
- Azure 中的虚拟网络和虚拟机
创建 Azure 虚拟机 (VM) 时,必须创建虚拟网络 (VNet) 或使用现有的 VNet. 此外,还需要确定如何在 VNet 上访问 VM. 在创建资源之前必须做好规划,确保了解网络资源的限制. ...
- Azure上的那些IP
相信第一次接触Azure的读者都会碰到这样一个问题,就是Azure的IP地址,笔者第一次接触Azure也是被搞懵逼了,一会儿VIP,不知道的还以为是会员的意思呢,一会儿又是DIP,后来又来了个PIP, ...
随机推荐
- 【转】winform程序textbox滚动条保持在最下面 内容不闪烁
在开发winform程序时,会用到textbox控件来显示信息,当把textbox的Multiline属性改为Ture时(即多行显示状态),ScrollBars属性改为Vertical(内容过多时,显 ...
- 八个常用的js正则表达式
开篇:开发中如果有input输入框,难免就要写正则表达式,因此在这里总结了一些常见常用的正则表达式的书写方法,希望会大家有所帮助: 附图: 一.手机号码 $(document).ready(funct ...
- [转]OPEN(SAP) UI5 学习入门系列之一:扫盲与热身(上)
本文转自:http://www.cnblogs.com/qianmarv/p/4671394.html 1 扫盲 什么是SAP Fiori? 了解SAP UI5必须要从SAP Fiori开始,两者概念 ...
- [转]Creating an OData v3 Endpoint with Web API 2
本文转自:https://docs.microsoft.com/en-us/aspnet/web-api/overview/odata-support-in-aspnet-web-api/odata- ...
- SQL Serever学习10——T-SQL语句
在sqlserver2018中使用的是Transact-SQL语言,简称T-SQL. 数据库的创建和管理 数据定义语言DDL DDL功能包括数据库,表,索引,视图,存储过程 数据库:CREATE DA ...
- Knockout.js hasFocus
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...
- 集群搭建之Hive配置要点
注意点: 在启动Hive 的时候要先启动Hadoop和MySQL服务. Mysql 和 Hive 搭建在 yan00机器上. part1:MySQL配置相关 安装和配置相关命令: Yum instal ...
- 撩课-Web大前端每天5道面试题-Day3
1. javascript的typeof返回哪些数据类型? 答案: undefined string boolean number symbol(ES6) Object Function 2. 列举3 ...
- SpringBoot之整合Redis
一.SpringBoot整合单机版Redis 1.在pom.xml文件中加入redis的依赖 <dependency> <groupId>org.springframework ...
- 关于META你知道多少
META标签,是HTML语言head区的一个辅助性标签.在几乎所有的page里,我们都可以看 到类似下面这段html代码: -------------------------------------- ...
1
#N/A