在经典的使用场景中,我们一般使用AzureLoadBalancer来面向公网提供负载均衡服务,而使用Azure Internal Load Balancer提供内部那些不愿意将服务暴露给公网的服务,比如数据库层。经典场景示例如下图所示:

但在一些特殊的使用场景中,相同的web服务,用户会希望既能用LB通过公网来访问,也可以使用ILB通过内网来访问,并且访问端口,访问方式完全一样,我画了一个简单的示意图,如下图所示:

本文介绍一下如何配置该种场景的LB和ILB,为测试方便,需要提前做如下准备:

  1. 安装并且配置Azure Powershell,请使用0.9.8版本,因为1.0以上版本使用了AzureResourceManager,配置方法和命令会有所不同,我后续文章会介绍:

  1. 在Azure上建立vNet,我们测试的3台VM都需要放在这个vNet里面
  2. 创建2台WEB VM,在我的测试用例中,为了直观,使用两台Ubuntu 14.04作为WEB服务器,放在同样的vNet里面,一个cloudservice中,并且配置了高可用集合,这也是生产环境中配置高可用的最佳实践
  3. 创建一台测试VM,我的测试中用的是Windowsserver 2012,放在和webvm同样的vNet中

为了区分两台web VM和测试web服务,我们来做一些简单的修改,基本上做两件事情:

  1. 安装Nginx作为web服务器
  2. 修改默认页面,加上VM1和VM2这样的字样来区分服务的请求响应的VM。

具体做法如下:

  1. 首先安装Nginx

  1. 配置Nginx默认页面做测试:
  • sudo vi /usr/share/nginx/html/index.html
  • 添加标识语句,来区分不同的VM:<h2>THIS IS VM1</h2>
  • 保存退出,按照这个方法,修改第二个VM

最新文章

  1. java强引用、软引用、弱引用、虚引用
  2. Shell基础-环境变量配置文件
  3. C#3.0 特性
  4. APP更新名称
  5. C#委拖小例子
  6. 表现层(jsp)、持久层(类似dao)、业务层(逻辑层、service层)、模型(javabean)、控制层(action)
  7. LeetCode Shortest Word Distance III
  8. tar 实现增量备份
  9. HashMap和Hashtable的区别(1)
  10. 树-伸展树(Splay Tree)
  11. C语言知识总结
  12. 逻辑很重要:一句sql语句的事,自己却想了半天,绕了个大弯子
  13. 用ajax写分页查询-----2017-05-17
  14. 老男孩Python全栈学习 S9 日常作业 011
  15. SVN 安装后右键出现点击鼠标右键弹出错误提示:CrashHandler initialization error
  16. mongo数据库的各种查询语句示例
  17. django之模型层(model)--建表、查询、删除基础
  18. 同步IO、异步IO、阻塞IO、非阻塞IO之间的联系与区别
  19. python作业之用户管理程序
  20. app流畅度测试--使用FPS Meter

热门文章

  1. C语言数据类型转换
  2. Meteor Shower(POJ 3669)
  3. PyQt4.11.3(python3.4+QT4)ui文件生成py文件
  4. android Unable to resolve target &#39;android-XX&#39;错误和conversion to dalvik format failed with error 1错误
  5. USBASP下载线制作教程
  6. 嵌入式设备web服务器
  7. UESTC_基爷与加法等式 2015 UESTC Training for Search Algorithm &amp; String&lt;Problem C&gt;
  8. FVANCOP/ChartNew.js
  9. SQL DCL数据控制语言,用来定义訪问权限和安全级别;
  10. 【快速选择算法与nth_element函数】【续UVA11300 】