在Global的Azure上,新的Portal和ARM已经正式发布。将来传统的portal和ASM将逐渐淡出。

China Azure将在今年下半年推出新的Portal管理界面和ARM功能(即IaaS v2)。本文将通过Azure CLI命令行的方式在ARM模式下,创建VM和负载均衡。

在ASM模式下,我们经常使用Endpoint和负载均衡SLB的功能。同样在ARM模式下,SLB也是一个非常重要的功能。但在ARM下和ASM的最重要的不同是:LoadBalancer不再是关联到VM上的属性了。就是说,VM可以没有公网IP,可以没有负载均衡对外提供服务。

这种部署模式更加符合企业应用的部署模式。在企业应用中,只有前端的展现层才会有与外部网络的连接,而其他应用层、数据库层等都不允许与外界沟通。

通过ARM部署的VM,就具有这种特性。

如图中所示:

负载均衡把Web请求分发到加入了负载均衡的VM上。

下面将一步一步的创建负载均衡的各个组件和VM。

1.创建Resource Group:

azure group create hwlb eastasia

2.在Resource Group中创建存储账户

azure storage account create -g hwlb -l eastasia --type LRS hweastasia

3.在Resource Group中创建Vnet

azure network vnet create hwlb hwlbvnet eastasia -a 10.0.0.0/

4.在Vnet中创建Subnet

azure network vnet subnet create hwlb hwlbvnet hwlbsubnet- -a 10.0.0.0/

5.创建Public-IP

azure network public-ip create -g hwlb -n hwlbpip -l eastasia -d hwlbpip -a static -i 

6.创建LoadBalancer

azure network lb create hwlb hwlb eastasia

7.定义LoadBalancer的前端IP和刚刚定义的Public-IP绑定

azure network lb frontend-ip create hwlb hwlb hwlbfndip -i hwlbpip

8.创建后端IP地址池(此时没有VM加入)

azure network lb address-pool create hwlb hwlb hwlbbndip

9.定义这个LoadBalancer的NAT规则

azure network lb inbound-nat-rule create -g hwlb -l hwlb -n ssh1 -p tcp -f  -b 

azure network lb inbound-nat-rule create -g hwlb -l hwlb -n ssh2 -p tcp -f  -b 

10.创建LoadBalancer的负载均衡规则

azure network lb rule create hwlb hwlb lbrule -p tcp -f  -b  -t hwlbfndip -o hwlbbndip

11.创建LoadBalancer的健康检查规则

azure network lb probe create -g hwlb -l hwlb -n healthprobe -p "tcp" -o  -i  -c 

12.检查创建的负载均衡

azure network lb show hwlb hwlb

至此,负载均衡已经创建完毕。下面将创建VM。

13.创建两个NIC,将NAT规则应用到两个网卡上

azure network nic create -g hwlb -n hwlbnic1-be --subnet-name hwlbsubnet- --subnet-vnet-name hwlbvnet -d "/subscriptions/xxxx/resourceGroups/hwlb/providers/Microsoft.Network/loadBalancers/hwlb/backendAddressPools/hwlbbndip" -e "/subscriptions/xxxx/resourceGroups/hwlb/providers/Microsoft.Network/loadBalancers/hwlb/inboundNatRules/ssh1" eastasia    

azure network nic create -g hwlb -n hwlbnic2-be --subnet-name hwlbsubnet- --subnet-vnet-name hwlbvnet -d "/subscriptions/xxxx/resourceGroups/hwlb/providers/Microsoft.Network/loadBalancers/hwlb/backendAddressPools/hwlbbndip" -e "/subscriptions/xxxx/resourceGroups/hwlb/providers/Microsoft.Network/loadBalancers/hwlb/inboundNatRules/ssh2" eastasia

14.创建两台VM

azure vm create --resource-group hwlb --name hwlbweb1 --location eastasia --vnet-name hwlbvnet --vnet-subnet-name hwlbsubnet- --nic-name hwlbnic1-be --availset-name hwlb-avset --storage-account-name hweastasia -u hengwei -p xxxx -z Standard_A1 --os-type Linux --image-urn openlogic:CentOS:6.5:6.5.

azure vm create --resource-group hwlb --name hwlbweb2 --location eastasia --vnet-name hwlbvnet --vnet-subnet-name hwlbsubnet- --nic-name hwlbnic2-be --availset-name hwlb-avset --storage-account-name hweastasia -u hengwei -p xxxx -z Standard_A1 --os-type Linux --image-urn openlogic:CentOS:6.5:6.5.

15.定义LoadBalancer的Distribution模式

在ASM中的SLB有3中Distribution Mode,分别是Default(5-tuple)、sourceIP(2-tuple)、sourceIP Protocol(3-tuple)。为实现Session Sticky,我们会选择sourceIP的分布模式。具体命令如下:

azure network lb rule set -d sourceIP hwlb hwlb lbrule

此命令需要最新版的Azure CLI-0.9.15。如果版本不够,请升级。

在ARM的环境下,LoadBalancer的实现方式与ASM的有类似,但要比ASM好。

在Global Azure上用Azure CLI创建ARM的VM和面向公网的负载均衡的更多相关文章

  1. 在 Azure 中使用公用 IP 创建多 NIC VM

    Russ Slaten  2014年 11 月 18日下午 4点 我们最近宣布了支持具有多个网络接口控制器 (NIC) 的虚拟机 (VM).我仍在努力了解此功能适用的所有新场景,但首先,我希望亲自测试 ...

  2. Go Global 之怎样在全球Azure上使用Azure Free Account

    随着中国用户出海的越来越多,同学们自学Azure Global 功能的积极性也越来越高.怎样开启Azure Global 账号,有哪些Global Azure的功能可以免费使用,能不能用国内的信用卡和 ...

  3. Azure上七层负载均衡APP Gateway

    Azure的SLB和ILB是最常用的4层负载均衡工具.但有些场景是7层的负载均衡,SLB和ILB就无能为力了. Azure上已经推出了APP Gateway的服务,就是7层负载均衡的负载均衡器. 如上 ...

  4. 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(一)

    (一)前言 本文主要介绍了实践部署AzurePack的Website Cloud的过程.在部署之前, 首先要对AzurePack有个基本的了解.   Azure Pack是微软的私有云方案,具有弹性. ...

  5. Azure的负载均衡机制

    负载均衡一直是一个比较重要的议题,几乎所有的Azure案例或者场景都不可避免,鉴于经常有客户会问,所以笔者觉得有必要总结一下. Azure提供的负载均衡机制,按照功能,可以分为三种:Azure Loa ...

  6. Microsoft Azure 配置负载均衡

    负载均衡大家都知道是什么了吧,就不用介绍了.如何在 microsoft Azure 上配置了?创建两台虚拟机,并加入如云服务.然后在远处登录上去,有时你想在两台虚拟机上通信,怎么办,比如mymv2 p ...

  7. Azure Load Balancer(一) 为我们的Web项目提供负载均衡

    一,引言 上节,我们讲到使用 Azure Traffic Manager 为我们的 Demo 项目提供负载均衡,以及流量转发的功能.但是Azure 提供类似的功能的服务远远不止这一个,今天我们就来讲一 ...

  8. Linux上使用Azure CLI来管理Azure

    在Windows上我们有强大的Powershell提供各种命令来管理Azure的服务,在Linux上微软提供了基于Node.JS的跨平台的Azure Command Line来帮助Linux用户来管理 ...

  9. 使用 Azure CLI 创建 Windows 虚拟机

    Azure CLI 用于从命令行或脚本创建和管理 Azure 资源. 本指南详细介绍如何使用 Azure CLI 部署运行 Windows Server 2016 的虚拟机. 部署完成后,我们连接到服 ...

随机推荐

  1. ExtJS4.2.1与Spring MVC实现Session超时控制

    假设你的项目使用ExtJS作为表现层.你会发现,SESSION超时控制将是一个问题. 本文将就自己的经验.来解决这一问题.当然,解决这个问题并不是仅仅有一种方法,我仅仅是提出我的方法. 首先.做超时控 ...

  2. python cookbook第三版学习笔记十七:委托属性

    我们想在访问实例的属性时能够将其委托到一个内部持有的对象上,这经常用到代理机制上 class A:     def spam(self,x):         print("class_A: ...

  3. 忘记apple id如何更新应用?

    最近ytkah的app有很多更新提示,之前注册的apple id好久没登录了,突然提示说登录需要验证安全问题,哪还记得噢,最要命的是邮箱收到的加密邮件也需要验证.重新注册一个吧,这次要注意保存相关信息 ...

  4. IntelliJ IDEA(2017)安装和破解(转发)

    IntelliJ IDEA(2017)安装和破解 IDEA 全称 IntelliJ IDEA,是Java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手 ...

  5. 文件传输协议FTP

    之前已经了解了TCP/IP这种低级别的协议,还有一些网络协议包括文件传输(FTP,STP).阅读Usenet新闻组(NNTP).电子邮件发送(SMTP).从服务器上下载电子邮件(POP3.IMAP)等 ...

  6. shell中替换json中指定的值

    在linux中部署软件的时候,有时会遇到用shell动态改动json格式的配置文件,比如一下rabbitmq.json文件: { "rabbitmq": { "ssl&q ...

  7. HDU - 1272 小希的迷宫 【并查集】

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1272 思路 只需要判断 这张图 无环 并且只有一个连通块 就可以了 要注意 如果 只输入 0 0 那给 ...

  8. Data Structure Stack: Reverse a stack using recursion

    http://www.geeksforgeeks.org/reverse-a-stack-using-recursion/ #include <iostream> #include < ...

  9. Python导出数据生成excel报表

    #_*_coding:utf-8_*_ import MySQLdb import xlwt from datetime import datetime def get_data(sql): # 创建 ...

  10. Android系统Recovery工作原理之使用update.zip升级过程分析(三)【转】

    本文转载自:http://blog.csdn.net/mu0206mu/article/details/7464699 以下的篇幅开始分析我们在上两个篇幅中生成的update.zip包在具体更新中所经 ...