上文有说到Global Public IP,这种类型的IP没办法给VM的NIC挂载也不能挂载到standard lb上,那么这个东西它是做什么用的呢?


这就涉及到这次要介绍的这个新产品,Cross Region LB

顾名思义,以前的Load Balancer,不管是Basic LB还是Standard LB,其实都是regional的东西,也就是说只能在特定region使用,也只能负载某一个reigon的流量,Azure其实也有一些能跨region使用的服务,比如FrontDoor,比如traffic manager,但是这些都是在四层以上生效的,而4层的跨region使用的产品之前是没有的,Cross Region Load Balancer就是专门用来应对这种场景的,虽然现在还是在preview的状态,具体可以看下下边的文档


​https://docs.microsoft.com/en-us/azure/load-balancer/cross-region-overview?WT.mc_id=AZ-MVP-5001235​


总体上来说,用了cross region LB之后,系统的架构大概是这样

Azure新知识科普 - Cross Region Load Balancer_Cloud


其实和FrontDoor之类的产品架构是比较类似的,只不过一个是四层,一个是七层

四层虽然没有七层那么多功能,不过最起码像要保留客户端IP之类的反而会比较容易


Cross Region Load Balancer主要支持以下这些功能

  • 源自多个区域的传入流量。
  • 即时全局故障转移到下一个最佳区域部署。
  • 将负载跨区域分配到延迟超低的最近 Azure 区域。
  • 可在单个终结点后面进行纵向扩展/缩减。
  • 静态任意播全局 IP 地址
  • 客户端 IP 保留
  • 无需接受培训即可在现有负载均衡器的基础上构建解决方案




下边来做个简单的测试,在east asia和east us分别创建Apache服务器,然后通过cross region lb来负载流量

首先先在上边说的两个reigon创建LB

Azure新知识科普 - Cross Region Load Balancer_Cloud_02


LB的后端就是各个region的Apache服务器

接下来目的就是创建一个cross region的LB,将流量分发给之前创建的这两个LB,一个在Asia,一个在US,这在以前是做不到的,但是cross region LB可以做到


Cross Region Load Balancer只有external类型的LB才有,internal的没有,Public 类型的才可以选GlobalTier的load balancer


Azure新知识科普 - Cross Region Load Balancer_解决方案_03


之后在Frontend IP configuration这里就可以选择添加IP了,而这个IP就是之前讲到的Global Public IP

Azure新知识科普 - Cross Region Load Balancer_Azure_04



Backend这里其实会发现和传统LB的区别,这里的backend可以选择的都是各个region的LB,而不是像传统LB一样,要选择VM和IP

Azure新知识科普 - Cross Region Load Balancer_apache_05



Inbound的规则倒是和之前差不多,凑合加个80的就完了

Azure新知识科普 - Cross Region Load Balancer_服务器_06


从离亚洲近的位置访问,并且从不同的VM测试,发现一直访问到的都是Asia的服务器

Azure新知识科普 - Cross Region Load Balancer_Cloud_07



但是从Canada这种离US近的位置访问,就会是访问到US的服务器

Azure新知识科普 - Cross Region Load Balancer_apache_08



总体来说,配置简单,功能实用,值得一试