Delen via


Zelfstudie: Een gateway load balancer maken met behulp van Azure PowerShell

Azure Load Balancer bestaat uit Standard-, Basic- en Gateway-SKU's. Gateway Load Balancer wordt gebruikt voor transparante invoeging van virtuele netwerkapparaten (NVA). Gebruik Gateway Load Balancer voor scenario's die hoge prestaties en hoge schaalbaarheid van NVA's vereisen.

In deze zelfstudie leert u het volgende:

  • Virtueel netwerk maken.
  • Maak een netwerkbeveiligingsgroep.
  • Maak een gateway load balancer.
  • Koppel een load balancer-front-end aan gateway load balancer.

Vereisten

  • Een Azure-account met een actief abonnement.Maak gratis een account.
  • Een bestaande openbare standaard-SKU Azure Load Balancer. Zie Een openbare load balancer maken met behulp van Azure PowerShell voor meer informatie over het maken van een load balancer.
    • Voor deze zelfstudie wordt de bestaande load balancer in de voorbeelden myLoadBalancer genoemd.
  • Azure PowerShell lokaal geïnstalleerd of Azure Cloud Shell

Als u PowerShell lokaal wilt installeren en gebruiken, is voor dit artikel versie 5.4.1 of hoger van de Azure PowerShell-module vereist. Voer Get-Module -ListAvailable Az uit om te kijken welke versie is geïnstalleerd. Als u PowerShell wilt upgraden, raadpleegt u De Azure PowerShell-module installeren. Als u PowerShell lokaal uitvoert, moet u ook Connect-AzAccount uitvoeren om verbinding te kunnen maken met Azure.

Een brongroep maken

Een Azure-resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd.

Maak een resourcegroep met New-AzResourceGroup:

New-AzResourceGroup -Name 'TutorGwLB-rg' -Location 'eastus'

Een virtueel netwerk maken

Er is een virtueel netwerk nodig voor de resources die zich in de back-endpool van de load balancer van de gateway bevinden. Gebruik New-AzVirtualNetwork om het virtuele netwerk te maken. Gebruik New-AzBastion om een bastionhost te implementeren voor veilig beheer van resources in een virtueel netwerk.

Belangrijk

De prijzen per uur beginnen vanaf het moment dat Bastion wordt geïmplementeerd, ongeacht het uitgaande gegevensgebruik. Zie Prijzen en SKU's voor meer informatie. Als u Bastion implementeert als onderdeel van een zelfstudie of test, raden we u aan deze resource te verwijderen nadat u deze hebt gebruikt.

## 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

NSG’s maken

Gebruik het volgende voorbeeld om een netwerkbeveiligingsgroep te maken. U configureert de NSG-regels die nodig zijn voor netwerkverkeer in het virtuele netwerk dat u eerder hebt gemaakt.

Gebruik New-AzNetworkSecurityRuleConfig om regels voor de NSG te maken. Gebruik New-AzNetworkSecurityGroup om de NSG te maken.

## 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

Gateway Load Balancer maken

In deze sectie maakt u de configuratie en implementeert u de load balancer van de gateway. Gebruik New-AzLoadBalancerFrontendIpConfig om de front-end-IP-configuratie van de load balancer te maken.

U gebruikt New-AzLoadBalancerTunnelInterface om twee tunnelinterfaces voor de load balancer te maken.

Maak een back-endpool met New-AzLoadBalancerBackendAddressPoolConfig voor de NVA's.

Er is een statustest vereist om de status van de back-endinstanties in de load balancer te bewaken. Gebruik New-AzLoadBalancerProbeConfig om de statustest te maken.

Verkeer dat is bestemd voor de back-endinstanties wordt gerouteerd met een taakverdelingsregel. Gebruik New-AzLoadBalancerRuleConfig om de taakverdelingsregel te maken.

Als u de load balancer wilt maken, gebruikt u 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

Virtuele netwerkapparaten toevoegen aan de back-endpool van gateway load balancer

NVA's implementeren via Azure Marketplace. Voeg na de implementatie de virtuele machines toe aan de back-endpool met Add-AzVMNetworkInterface

Load balancer-front-end koppelen aan Gateway Load Balancer

In dit voorbeeld koppelt u de front-end van een standaard load balancer aan de load balancer van de gateway.

U voegt de front-end toe aan het front-end-IP-adres van een bestaande load balancer in uw abonnement.

Gebruik Set-AzLoadBalancerFrontendIpConfig om de front-end van de gateway load balancer aan uw bestaande load balancer te koppelen.

## 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

Virtuele machine koppelen aan Gateway Load Balancer

U kunt ook de NIC-IP-configuratie van een virtuele machine koppelen aan de load balancer van de gateway.

U voegt de front-end van de gateway load balancer toe aan de NIC-IP-configuratie van een bestaande VM.

Gebruik Set-AzNetworkInterfaceIpConfig om de front-end van de gateway load balancer te koppelen aan de NIC-IP-configuratie van uw bestaande VM.

 ## 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

Resources opschonen

U kunt de opdracht Remove-AzResourceGroup gebruiken om de resourcegroep, de load balancer en de resterende resources te verwijderen wanneer u deze niet meer nodig hebt.

Remove-AzResourceGroup -Name 'TutorGwLB-rg'

Volgende stappen

Maak virtuele netwerkapparaten in Azure.

Wanneer u de NVA's maakt, kiest u de resources die in deze zelfstudie zijn gemaakt:

  • Virtueel netwerk

  • Subnet

  • Netwerkbeveiligingsgroep

  • Gateway Load Balancer

Ga naar het volgende artikel voor meer informatie over het maken van een Azure Load Balancer voor meerdere regio's.