Självstudie: Skapa en gateway-lastbalanserare med Hjälp av Azure PowerShell
Azure Load Balancer består av SKU:er för Standard, Basic och Gateway. Gateway Load Balancer används för transparent infogning av virtuella nätverksinstallationer (NVA). Använd Gateway Load Balancer för scenarier som kräver höga prestanda och hög skalbarhet för NVA:er.
I den här självstudien lär du dig att:
- Skapa ett virtuellt nätverk.
- Skapa en nätverkssäkerhetsgrupp.
- Skapa en gateway-lastbalanserare.
- Länka en lastbalanserares klientdel till gatewayens lastbalanserare.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration.Skapa ett konto kostnadsfritt.
- En befintlig offentlig SKU Azure Load Balancer. Mer information om hur du skapar en lastbalanserare finns i Skapa en offentlig lastbalanserare med Azure PowerShell.
- I den här självstudien heter den befintliga lastbalanseraren i exemplen myLoadBalancer.
- Azure PowerShell installerat lokalt eller Azure Cloud Shell
Om du väljer att installera och använda PowerShell lokalt kräver den här artikeln version 5.4.1 eller senare av Azure PowerShell-modulen. Kör Get-Module -ListAvailable Az
för att hitta den installerade versionen. Om du behöver uppgradera kan du läsa Install Azure PowerShell module (Installera Azure PowerShell-modul). Om du kör PowerShell lokalt måste du också köra Connect-AzAccount
för att skapa en anslutning till Azure.
Skapa en resursgrupp
En Azure-resursgrupp är en logisk container där Azure-resurser distribueras och hanteras.
Skapa en resursgrupp med New-AzResourceGroup:
New-AzResourceGroup -Name 'TutorGwLB-rg' -Location 'eastus'
Skapa virtuella nätverk
Ett virtuellt nätverk krävs för de resurser som finns i serverdelspoolen i gatewayens lastbalanserare. Använd New-AzVirtualNetwork för att skapa det virtuella nätverket. Använd New-AzBastion för att distribuera en skyddsvärd för säker hantering av resurser i det virtuella nätverket.
Viktigt!
Priserna per timme börjar från det ögonblick då Bastion distribueras, oavsett utgående dataanvändning. Mer information finns i Priser och SKU:er. Om du distribuerar Bastion som en del av en självstudie eller ett test rekommenderar vi att du tar bort den här resursen när du har använt den.
## Create backend subnet config ##
$subnet = @{
Name = 'myBackendSubnet'
AddressPrefix = '10.1.0.0/24'
}
$subnetConfig = New-AzVirtualNetworkSubnetConfig @subnet
## Create Azure Bastion subnet. ##
$bastsubnet = @{
Name = 'AzureBastionSubnet'
AddressPrefix = '10.1.1.0/24'
}
$bastsubnetConfig = New-AzVirtualNetworkSubnetConfig @bastsubnet
## Create the virtual network ##
$net = @{
Name = 'myVNet'
ResourceGroupName = 'TutorGwLB-rg'
Location = 'eastus'
AddressPrefix = '10.1.0.0/16'
Subnet = $subnetConfig,$bastsubnetConfig
}
$vnet = New-AzVirtualNetwork @net
## Create public IP address for bastion host. ##
$ip = @{
Name = 'myBastionIP'
ResourceGroupName = 'TutorGwLB-rg'
Location = 'eastus'
Sku = 'Standard'
AllocationMethod = 'Static'
}
$publicip = New-AzPublicIpAddress @ip
## Create bastion host ##
$bastion = @{
ResourceGroupName = 'TutorGwLB-rg'
Name = 'myBastion'
PublicIpAddress = $publicip
VirtualNetwork = $vnet
}
New-AzBastion @bastion -AsJob
Skapa en nätverkssäkerhetsgrupp
Använd följande exempel för att skapa en nätverkssäkerhetsgrupp. Du konfigurerar de NSG-regler som behövs för nätverkstrafik i det virtuella nätverk som skapades tidigare.
Använd New-AzNetworkSecurityRuleConfig för att skapa regler för NSG. Använd New-AzNetworkSecurityGroup för att skapa nätverkssäkerhetsgruppen.
## Create rule for network security group and place in variable. ##
$nsgrule1 = @{
Name = 'myNSGRule-AllowAll'
Description = 'Allow all'
Protocol = '*'
SourcePortRange = '*'
DestinationPortRange = '*'
SourceAddressPrefix = '0.0.0.0/0'
DestinationAddressPrefix = '0.0.0.0/0'
Access = 'Allow'
Priority = '100'
Direction = 'Inbound'
}
$rule1 = New-AzNetworkSecurityRuleConfig @nsgrule1
$nsgrule2 = @{
Name = 'myNSGRule-AllowAll-TCP-Out'
Description = 'Allow all TCP Out'
Protocol = 'TCP'
SourcePortRange = '*'
DestinationPortRange = '*'
SourceAddressPrefix = '0.0.0.0/0'
DestinationAddressPrefix = '0.0.0.0/0'
Access = 'Allow'
Priority = '100'
Direction = 'Outbound'
}
$rule2 = New-AzNetworkSecurityRuleConfig @nsgrule2
## Create network security group ##
$nsg = @{
Name = 'myNSG'
ResourceGroupName = 'TutorGwLB-rg'
Location = 'eastus'
SecurityRules = $rule1,$rule2
}
New-AzNetworkSecurityGroup @nsg
Skapa gateway load balancer
I det här avsnittet skapar du konfigurationen och distribuerar gatewayens lastbalanserare. Använd New-AzLoadBalancerFrontendIpConfig för att skapa klientdels-IP-konfigurationen för lastbalanseraren.
Du använder New-AzLoadBalancerTunnelInterface för att skapa två tunnelgränssnitt för lastbalanseraren.
Skapa en serverdelspool med New-AzLoadBalancerBackendAddressPoolConfig för NVA:erna.
En hälsoavsökning krävs för att övervaka hälsotillståndet för serverdelsinstanserna i lastbalanseraren. Använd New-AzLoadBalancerProbeConfig för att skapa hälsoavsökningen.
Trafik som är avsedd för serverdelsinstanserna dirigeras med en belastningsutjämningsregel. Använd New-AzLoadBalancerRuleConfig för att skapa belastningsutjämningsregeln.
Om du vill skapa distributionen av lastbalanseraren använder du New-AzLoadBalancer.
## Place virtual network configuration in a variable for later use. ##
$net = @{
Name = 'myVNet'
ResourceGroupName = 'TutorGwLB-rg'
}
$vnet = Get-AzVirtualNetwork @net
## Create load balancer frontend configuration and place in variable. ##
$fe = @{
Name = 'myFrontend'
SubnetId = $vnet.subnets[0].id
}
$feip = New-AzLoadBalancerFrontendIpConfig @fe
## Create backend address pool configuration and place in variable. ##
$int1 = @{
Type = 'Internal'
Protocol = 'Vxlan'
Identifier = '800'
Port = '10800'
}
$tunnelInterface1 = New-AzLoadBalancerBackendAddressPoolTunnelInterfaceConfig @int1
$int2 = @{
Type = 'External'
Protocol = 'Vxlan'
Identifier = '801'
Port = '10801'
}
$tunnelInterface2 = New-AzLoadBalancerBackendAddressPoolTunnelInterfaceConfig @int2
$pool = @{
Name = 'myBackendPool'
TunnelInterface = $tunnelInterface1,$tunnelInterface2
}
$bepool = New-AzLoadBalancerBackendAddressPoolConfig @pool
## Create the health probe and place in variable. ##
$probe = @{
Name = 'myHealthProbe'
Protocol = 'http'
Port = '80'
IntervalInSeconds = '360'
ProbeCount = '5'
RequestPath = '/'
}
$healthprobe = New-AzLoadBalancerProbeConfig @probe
## Create the load balancer rule and place in variable. ##
$para = @{
Name = 'myLBRule'
Protocol = 'All'
FrontendPort = '0'
BackendPort = '0'
FrontendIpConfiguration = $feip
BackendAddressPool = $bepool
Probe = $healthprobe
}
$rule = New-AzLoadBalancerRuleConfig @para
## Create the load balancer resource. ##
$lb = @{
ResourceGroupName = 'TutorGwLB-rg'
Name = 'myLoadBalancer-gw'
Location = 'eastus'
Sku = 'Gateway'
LoadBalancingRule = $rule
FrontendIpConfiguration = $feip
BackendAddressPool = $bepool
Probe = $healthprobe
}
New-AzLoadBalancer @lb
Lägga till virtuella nätverksinstallationer i gatewayens lastbalanserares serverdelspool
Distribuera NVA:er via Azure Marketplace. När de har distribuerats lägger du till de virtuella datorerna i serverdelspoolen med Add-AzVMNetworkInterface
Länka Load Balancer-klientdelen till Gateway-lastbalanseraren
I det här exemplet ska du länka klientdelen för en standardlastbalanserare till gatewayens lastbalanserare.
Du lägger till klientdelen till klientdels-IP-adressen för en befintlig lastbalanserare i din prenumeration.
Använd Set-AzLoadBalancerFrontendIpConfig för att länka gateway-lastbalanserarens klientdel till din befintliga lastbalanserare.
## Place the gateway load balancer configuration into a variable. ##
$par1 = @{
ResourceGroupName = 'TutorGwLB-rg'
Name = 'myLoadBalancer-gw'
}
$gwlb = Get-AzLoadBalancer @par1
## Place the existing load balancer into a variable. ##
$par2 = @{
ResourceGroupName = 'CreatePubLBQS-rg'
Name = 'myLoadBalancer'
}
$lb = Get-AzLoadBalancer @par2
## Place the existing public IP for the existing load balancer into a variable.
$par3 = @{
ResourceGroupName = 'CreatePubLBQS-rg'
Name = 'myPublicIP'
}
$publicIP = Get-AzPublicIPAddress @par3
## Chain the gateway load balancer to your existing load balancer frontend. ##
$par4 = @{
Name = 'myFrontEndIP'
PublicIPAddress = $publicIP
LoadBalancer = $lb
GatewayLoadBalancerId = $gwlb.FrontendIpConfigurations.Id
}
$config = Set-AzLoadBalancerFrontendIpConfig @par4
$config | Set-AzLoadBalancer
Länka virtuell dator till Gateway Load Balancer
Du kan också länka en virtuell dators IP-konfiguration för nätverkskort till gatewayens lastbalanserare.
Du lägger till gateway-lastbalanserarens klientdel i en befintlig virtuell dators IP-konfiguration för nätverkskort.
Använd Set-AzNetworkInterfaceIpConfig för att länka gateway-lastbalanserarens klientdel till den befintliga virtuella datorns IP-konfiguration för nätverkskort.
## Place the gateway load balancer configuration into a variable. ##
$par1 = @{
ResourceGroupName = 'TutorGwLB-rg'
Name = 'myLoadBalancer-gw'
}
$gwlb = Get-AzLoadBalancer @par1
## Place the existing NIC into a variable. ##
$par2 = @{
ResourceGroupName = 'MyResourceGroup'
Name = 'myNic'
}
$nic = Get-AzNetworkInterface @par2
## Chain the gateway load balancer to your existing VM NIC. ##
$par3 = @{
Name = 'myIPconfig'
NetworkInterface = $nic
GatewayLoadBalancerId = $gwlb.FrontendIpConfigurations.Id
}
$config = Set-AzNetworkInterfaceIpConfig @par3
$config | Set-AzNetworkInterface
Rensa resurser
När du inte längre behöver det kan du använda kommandot Remove-AzResourceGroup för att ta bort resursgruppen, lastbalanseraren och de återstående resurserna.
Remove-AzResourceGroup -Name 'TutorGwLB-rg'
Nästa steg
Skapa virtuella nätverksinstallationer i Azure.
När du skapar nva:erna väljer du de resurser som skapades i den här självstudien:
Virtuellt nätverk
Undernät
Nätverkssäkerhetsgrupp
Gateway Load Balancer
Gå vidare till nästa artikel för att lära dig hur du skapar en Azure Load Balancer mellan regioner.