当前位置: 首页 > Microsoft Azure > 正文

Azure Administrator认证学习指南之创建和部署高可用的Azure VM虚拟机-38

前文谈到通过使用Azure虚拟机可用性集实现VM的高可用性,但是这只是实现了虚拟化服务器本身的高可用性,因此我们还需要借助Azure中的其他服务实现业务的的可用性,例如Azure负载均衡器、Web应用程序网关等。

本文创建运行多个Windows Server 2016 虚拟机,使用Azure虚拟机可用性集以及负载均衡器服务,实现一套业务多个虚拟机之间的流量负载均衡。

记住,Azure 103考试使用Cloud Shell进行LAB操作,具体使用Bash还是PowerShell根据您自己实际情况


以下脚本代码是经过实际验证,亲测可用的。您只需要修改相关参数即可。

# 定义公共属性

$rgName=’AZ103EXAM’

$location=’eastus’

# 设置用户账户和密码

$cred = Get-Credential -Message ‘Enter a username and password for the virtual machine.’

# 创建Azure资源组

New-AzResourceGroup -Name $rgName -Location $location

# 创建虚拟网络

$subnet = New-AzVirtualNetworkSubnetConfig -Name ‘AZ103EXAMSubnet’ -AddressPrefix 192.168.1.0/24

$vnet = New-AzVirtualNetwork -ResourceGroupName $rgName -Name ‘AZ103EXAMVnet’ -AddressPrefix 192.168.0.0/16 -Location $location -Subnet $subnet

# 创建公共IP

$publicIp = New-AzPublicIpAddress -ResourceGroupName $rgName -Name ‘AZ103EXAMPublicIP’ -Location $location -AllocationMethod Dynamic

# 创建负载均衡器前端IP

$feip = New-AzLoadBalancerFrontendIpConfig -Name ‘AZ103EXAMFrontEndPool’ -PublicIpAddress $publicIp

# 创建负载均衡器后端

$bepool = New-AzLoadBalancerBackendAddressPoolConfig -Name ‘AZ103EXAMBackEndPool’

# 设置负载均衡器端口信息

$probe = New-AzLoadBalancerProbeConfig -Name ‘AZ103EXAMHealthProbe’ -Protocol Http -Port 80 -RequestPath / -IntervalInSeconds 360 -ProbeCount 5

# 设置负载均衡器端口规则信息

$rule = New-AzLoadBalancerRuleConfig -Name ‘AZ103EXAMLoadBalancerRuleWeb’ -Protocol Tcp -Probe $probe -FrontendPort 80 -BackendPort 80 -FrontendIpConfiguration $feip -BackendAddressPool $bePool

# 设置负载均衡器NAT规则

$natrule1 = New-AzLoadBalancerInboundNatRuleConfig -Name ‘AZ103EXAMLoadBalancerRDP1’ -FrontendIpConfiguration $feip -Protocol tcp -FrontendPort 4221 -BackendPort 3389

$natrule2 = New-AzLoadBalancerInboundNatRuleConfig -Name ‘AZ103EXAMLoadBalancerRDP2’ -FrontendIpConfiguration $feip -Protocol tcp -FrontendPort 4222 -BackendPort 3389

$natrule3 = New-AzLoadBalancerInboundNatRuleConfig -Name ‘AZ103EXAMLoadBalancerRDP3’ -FrontendIpConfiguration $feip -Protocol tcp -FrontendPort 4223 -BackendPort 3389

# 设置负载均衡器

$lb = New-AzLoadBalancer -ResourceGroupName $rgName -Name ‘AZ103EXAMLoadBalancer’ -Location $location -FrontendIpConfiguration $feip -BackendAddressPool $bepool -Probe $probe -LoadBalancingRule $rule -InboundNatRule $natrule1,$natrule2,$natrule3

# 设置网络安全组远程端口

$rule1 = New-AzNetworkSecurityRuleConfig -Name ‘AZ103EXAMNSGRDP’ -Description ‘Allow RDP’ -Access Allow -Protocol Tcp -Direction Inbound -Priority 1000 -SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389

# 设置网络安全组80端口

$rule2 = New-AzNetworkSecurityRuleConfig -Name ‘AZ103EXAMNSGHTTP’ -Description ‘Allow HTTP’ -Access Allow -Protocol Tcp -Direction Inbound -Priority 2000 -SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 80

# 创建网络安全组

$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $RgName -Location $location -Name ‘AZ103EXAMNSG’ -SecurityRules $rule1,$rule2

# 创建虚拟机网卡并绑定到PIP、NSG

$nicVM1 = New-AzNetworkInterface -ResourceGroupName $rgName -Location $location -Name ‘AZ103EXAMNic1’ -LoadBalancerBackendAddressPool $bepool -NetworkSecurityGroup $nsg -LoadBalancerInboundNatRule $natrule1 -Subnet $vnet.Subnets[0]

$nicVM2 = New-AzNetworkInterface -ResourceGroupName $rgName -Location $location -Name ‘AZ103EXAMNic2’ -LoadBalancerBackendAddressPool $bepool -NetworkSecurityGroup $nsg -LoadBalancerInboundNatRule $natrule2 -Subnet $vnet.Subnets[0]

$nicVM3 = New-AzNetworkInterface -ResourceGroupName $rgName -Location $location -Name ‘AZ103EXAMNic3’ -LoadBalancerBackendAddressPool $bepool -NetworkSecurityGroup $nsg -LoadBalancerInboundNatRule $natrule3 -Subnet $vnet.Subnets[0]

# 创建虚拟机可用性集

$as = New-AzAvailabilitySet -ResourceGroupName $rgName -Location $location -Name ‘AZ103EXAMAvSet’ -Sku Aligned -PlatformFaultDomainCount 3 -PlatformUpdateDomainCount 3

# 创建虚拟机

# ############## VM1 ###############

# 创建虚拟机配置文件

$vmConfig = New-AzVMConfig -VMName ‘AZ103EXAMVM1’ -VMSize Standard_B2s -AvailabilitySetID $as.Id | Set-AzVMOperatingSystem -Windows -ComputerName ‘AZ103EXAMVM1’ -Credential $cred | Set-AzVMSourceImage -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2016-Datacenter -Version latest | Add-AzVMNetworkInterface -Id $nicVM1.Id

# 创建虚拟机

$vm1 = New-AzVM -ResourceGroupName $rgName -Location $location -VM $vmConfig

# ############## VM2 ###############

# 创建虚拟机配置文件

$vmConfig = New-AzVMConfig -VMName ‘AZ103EXAMVM2’ -VMSize Standard_B2s -AvailabilitySetID $as.Id | Set-AzVMOperatingSystem -Windows -ComputerName ‘AZ103EXAMVM2’ -Credential $cred | Set-AzVMSourceImage -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2016-Datacenter -Version latest | Add-AzVMNetworkInterface -Id $nicVM2.Id

# 创建虚拟机

$vm2 = New-AzVM -ResourceGroupName $rgName -Location $location -VM $vmConfig

# ############## VM3 ###############

# 创建虚拟机配置文件

$vmConfig = New-AzVMConfig -VMName ‘AZ103EXAMVM3’ -VMSize Standard_B2s -AvailabilitySetID $as.Id | Set-AzVMOperatingSystem -Windows -ComputerName ‘AZ103EXAMVM3’ -Credential $cred | Set-AzVMSourceImage -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2016-Datacenter -Version latest | Add-AzVMNetworkInterface -Id $nicVM3.Id

# 创建虚拟机

$vm3 = New-AzVM -ResourceGroupName $rgName -Location $location -VM $vmConfig

在Azure门户中,可以看到您创建的资源





之后您就可以将您的Web业务部署到VM中,并对外发布进行使用


本文固定链接: http://365vcloud.net/2019/11/08/highly-available-azure-vm/ | Eric的学习之路

该日志由 TingXu 于2019年11月08日发表在 Microsoft Azure 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Azure Administrator认证学习指南之创建和部署高可用的Azure VM虚拟机-38 | Eric的学习之路
关键字: ,

Azure Administrator认证学习指南之创建和部署高可用的Azure VM虚拟机-38:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!