在经典的使用场景中,我们一般使用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

混合使用Azure LB和ILB访问相同web服务(1)的更多相关文章

  1. 混合使用Azure LB和ILB访问相同web服务(3)

    接下来我们来配置Azure Load balancer,就是面向公网的负载均衡器: 1.在该测试中,为了保持内网访问和外网访问一样的体验,本地端口和public端口和ILB一样,同样是80: PS C ...

  2. 混合使用Azure LB和ILB访问相同web服务(2)

    那么现在开始,我们配置下两台WEB服务器的Internal Load  balancer: 打开Powershell,检查当前两台虚拟机的端点配置: Get-AzureVM  -ServiceName ...

  3. [linux]主机访问虚拟机web服务(CentOS)

    目的为了实现主机和虚拟机的通信,访问虚拟机中架设的web服务.按理说通过虚拟机ip + web服务端口,即可在浏览器访问虚拟机的web服务.但是由于CentOS的防火墙问题,对应web端口无法访问.通 ...

  4. 在虚拟机上搭建物理机可访问的web服务(IIS)

    0x0 前言 安装webug4.0的时候突发奇想,想学下如何在虚拟机里搭建网站,然后让主机像访问互联网的网站一样访问虚拟机的网站,为以后渗透测试搭建环境做准备 0x1 虚拟机安装win2003[以防万 ...

  5. 通过公网ip访问虚拟机web服务

    工作中有需要进行通过外网ip访问虚拟机上的web服务,通过查阅资料,将配置过程整理如下: 思路:通过路由器的端口映射访问虚拟机上的web服务 1. 前提是在虚拟机上的web服务已经部署好,并且可以通过 ...

  6. 主机不能访问虚拟机web服务的问题

    虚拟机是CentOs 7 iptables -Fiptables -P INPUT ACCEPT 参考:http://blog.csdn.net/abnereel/article/details/41 ...

  7. centos7无法访问虚拟机web服务

    第一种: 先看下防火墙状态:firewall-cmd --state 关闭防火墙再试试:systemctl stop firewalld.service 第二种,不想关闭防火墙 放开http服务 fi ...

  8. Azure机器学习入门(四)模型发布为Web服务

    接Azure机器学习(三)创建Azure机器学习实验,下一步便是真正地将Azure机器学习的预测模型发布为Web服务.要启用Web服务发布任务,首先点击底端导航栏的运行即"Run" ...

  9. Android开发9:网络访问&Web服务开发

    前言 啦啦啦各位小伙伴们好~ 一起进入我们今天的主题.今天我们将和大家学习网络访问和Web服务开发的相关知识,一起学习熟练使用 HttpURLConnection 访问 WebService,熟悉使用 ...

随机推荐

  1. Effective Java2读书笔记-创建和销毁对象(一)

    第1条:考虑用静态工厂方法代替构造器 通常情况下,我们创建一个对象采取new的形式,但是还有一种方法也是经常使用到的,它的名称叫做静态工厂方法. 例如,java中基本类型boolean的包装类Bool ...

  2. Ubuntu14.0.4 64位安装Chrome浏览器

    下载链接:translate.google.com.hk/translate?hl=zh-CN&sl=en&u=http://95.31.35.30/chrome/pool/main/ ...

  3. 在 .pro里加入 QMAKE_CXXFLAGS += /MP 将并行编译,加快编译速度(姚冬的办法)

    但是只对VC编译器有效果. 另外还可以自己设置stdafx.h文件 http://www.zhihu.com/question/23045749

  4. Android Fragment中使用Intent组件拍照

    要在activity里面去接受,然后传递给fragment对象,fragment有很多回调调用不到 你的设备有摄像头吗? 为了确保市场上的大多数设备都能运行你的程序,必须在项目中做一些检测,保证使用的 ...

  5. Android studio修改debug.keystore

    在android studio项目中配置自定义的debug keystore 方法/步骤   在项目的build.gradle中添加如下内容: android {    signingConfigs ...

  6. j2ee概览

    J2EE诞生的背景是什么?Java 2平台企业版,也就是J2EE,定义了开发多层企业应用程序的标准.它的诞生并不是偶然的,它是在各种条件积累成熟之下的产物.原因之一:java语言的巨大成功.1994年 ...

  7. 一个人的旅行(floyd+dijskra+SPFA+Bellman)

    一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  8. Collections你用对了吗?

    .Net有两类基础的集合类型:List和Dictionary.List是基于Index的,Dictionary是基于key的.集合类型一般实现了IEnumberable,ICollection或者Il ...

  9. PHP流程控制中不经常使用的替代语法

    准备做个wordpress的主题.结果看到了例如以下的语法: <div id="primary" class="content-area"> < ...

  10. 对于IE6及以下版本的处

    判断IE6 CSS 通过判断浏览器类型而加载不同的css样式 所有的IE都起作用: <!--[if IE]> <link rel="stylesheet" typ ...