混合使用Azure LB和ILB访问相同web服务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了混合使用Azure LB和ILB访问相同web服务相关的知识,希望对你有一定的参考价值。
在经典的使用场景中,我们一般使用AzureLoadBalancer来面向公网提供负载均衡服务,而使用Azure Internal Load Balancer提供内部那些不愿意将服务暴露给公网的服务,比如数据库层。经典场景示例如下图所示:
但在一些特殊的使用场景中,相同的web服务,用户会希望既能用LB通过公网来访问,也可以使用ILB通过内网来访问,并且访问端口,访问方式完全一样,我画了一个简单的示意图,如下图所示:
本文介绍一下如何配置该种场景的LB和ILB,为测试方便,需要提前做如下准备:
安装并且配置Azure Powershell,请使用0.9.8版本,因为1.0以上版本使用了AzureResourceManager,配置方法和命令会有所不同,我后续文章会介绍:
在Azure上建立vNet,我们测试的3台VM都需要放在这个vNet里面
创建2台WEB VM,在我的测试用例中,为了直观,使用两台Ubuntu 14.04作为WEB服务器,放在同样的vNet里面,一个cloudservice中,并且配置了高可用集合,这也是生产环境中配置高可用的最佳实践
创建一台测试VM,我的测试中用的是Windowsserver 2012,放在和webvm同样的vNet中
为了区分两台web VM和测试web服务,我们来做一些简单的修改,基本上做两件事情:
安装nginx作为web服务器
修改默认页面,加上VM1和VM2这样的字样来区分服务的请求响应的VM。
具体做法如下:
首先安装Nginx
配置Nginx默认页面做测试:
sudo vi /usr/share/nginx/html/index.html
添加标识语句,来区分不同的VM:<h2>THIS IS VM1</h2>
保存退出,按照这个方法,修改第二个VM
以上是关于混合使用Azure LB和ILB访问相同web服务的主要内容,如果未能解决你的问题,请参考以下文章
将应用部署到 Azure 内部应用服务环境 (ASE ILB) 内的 Azure 应用服务
如何使用 Azure 管理 SDK 创建内部负载均衡器 (ILB)?
Azure 内部负载平衡 - 创建 ILB 时需要传递哪个 IP 地址