Azure CLI创建ARM的VM和面向公网的负载均衡

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

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

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

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

如图中所示:

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

https://github.com/Azure/azure-xplat-cli

azure login -u  XXXX@microsoftinternal.partner.onm51CTO提醒您,请勿滥发广告!  -e AzureChinaCloud

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

1.创建Resource Group:

azure group create wrflb chinaeast

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

azure storage account create -g wrflb -l chinaeast wrfchinaeast

选择复制类型

1) LRS   Local Redundant Storage

2) ZRS  Zone Redundant Storage

3) GRS  Geo Rudundant Storage

4) RAGRS Read-Access Geographically Redundant Storage

5) PLRS

选择存储类型

1) Storage

2) BlobStorage


3.在Resource Group中创建Vnet

azure network vnet create wrflb wrflbvnet chinaeast -a 10.0.0.0/16

4.在Vnet中创建Subnet

azure network vnet subnet create wrflb wrflbvnet wrflbsubnet-1 -a 10.0.0.0/24

5.创建Public-IP

azure network public-ip create -g wrflb -n wrflbpip -l chinaeast -d wrflbpip -a static -i 4

6.创建LoadBalancer

azure network lb create wrflb wrflb chinaeast

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

azure network lb frontend-ip create wrflb wrflb wrflbfndip -i wrflbpip

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

azure network lb address-pool create wrflb wrflb wrflbbndip

9.定义这个LoadBalancer的NAT规则

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

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

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

azure network lb rule create wrflb wrflb lbrule -p tcp -f 80 -b 80 -t wrflbfndip -o wrflbbndip

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

azure network lb probe create -g wrflb -l wrflb -n healthprobe -p "tcp" -o 80 -i 15 -c 4

12.检查创建的负载均衡

azure network lb show wrflb wrflb

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

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

在管理门户创建好Subnetà wrflbsubnet01

azure network nic create -g wrflb -n wrflbnic1-be --subnet-name wrflbsubnet01 --subnet-vnet-name wrflbvnet -d "/subscriptions/48985d9f-798c-4d2c-ac2b-adf252bc9464/resourceGroups/wrflb/providers/Microsoft.Network/loadBalancers/wrflb/backendAddressPools/wrflbbndip" -e "/subscriptions/48985d9f-798c-4d2c-ac2b-adf252bc9464/resourceGroups/wrflb/providers/Microsoft.Network/loadBalancers/wrflb/inboundNatRules/ssh1" chinaeast



azure network nic create -g wrflb -n wrflbnic2-be --subnet-name wrflbsubnet01 --subnet-vnet-name
wrflbvnet -d "/subscriptions/48985d9f-798c-4d2c-ac2b-adf252bc9464/resource