Udostępnij za pośrednictwem


Samouczek: tworzenie modułu równoważenia obciążenia bramy przy użyciu programu Azure PowerShell

Usługa Azure Load Balancer składa się z jednostek SKU w warstwie Standardowa, Podstawowa i Brama. Moduł równoważenia obciążenia bramy jest używany do przezroczystego wstawiania wirtualnych urządzeń sieciowych (WUS). Użyj modułu równoważenia obciążenia bramy w scenariuszach wymagających wysokiej wydajności i wysokiej skalowalności urządzeń WUS.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Utwórz sieć wirtualną.
  • Utwórz sieciowa grupa zabezpieczeń.
  • Utwórz moduł równoważenia obciążenia bramy.
  • Łączenie frontonu modułu równoważenia obciążenia z modułem równoważenia obciążenia bramy.

Wymagania wstępne

Jeśli postanowisz zainstalować program PowerShell i używać go lokalnie, ten artykuł wymaga modułu Azure PowerShell w wersji 5.4.1 lub nowszej. Uruchom polecenie Get-Module -ListAvailable Az, aby dowiedzieć się, jaka wersja jest zainstalowana. Jeśli konieczne będzie uaktualnienie, zobacz Instalowanie modułu Azure PowerShell. Jeśli używasz programu PowerShell lokalnie, musisz też uruchomić polecenie Connect-AzAccount, aby utworzyć połączenie z platformą Azure.

Tworzenie grupy zasobów

Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi.

Utwórz grupę zasobów za pomocą polecenia New-AzResourceGroup:

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

Tworzenie sieci wirtualnej

Sieć wirtualna jest wymagana dla zasobów, które znajdują się w puli zaplecza modułu równoważenia obciążenia bramy. Użyj polecenia New-AzVirtualNetwork , aby utworzyć sieć wirtualną. Użyj polecenia New-AzBastion , aby wdrożyć hosta bastionu w celu bezpiecznego zarządzania zasobami w sieci wirtualnej.

Ważne

Ceny godzinowe zaczynają się od momentu wdrożenia usługi Bastion, niezależnie od użycia danych wychodzących. Aby uzyskać więcej informacji, zobacz Cennik i jednostki SKU. Jeśli wdrażasz usługę Bastion w ramach samouczka lub testu, zalecamy usunięcie tego zasobu po zakończeniu korzystania z niego.

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

Tworzenie sieciowej grupy zabezpieczeń

Użyj poniższego przykładu, aby utworzyć sieciową grupę zabezpieczeń. Skonfigurujesz reguły sieciowej grupy zabezpieczeń wymagane dla ruchu sieciowego w utworzonej wcześniej sieci wirtualnej.

Użyj polecenia New-AzNetworkSecurityRuleConfig , aby utworzyć reguły dla sieciowej grupy zabezpieczeń. Użyj polecenia New-AzNetworkSecurityGroup , aby utworzyć sieciową grupę zabezpieczeń.

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

Tworzenie modułu równoważenia obciążenia bramy

W tej sekcji utworzysz konfigurację i wdrożysz moduł równoważenia obciążenia bramy. Użyj polecenia New-AzLoadBalancerFrontendIpConfig , aby utworzyć konfigurację adresu IP frontonu modułu równoważenia obciążenia.

Użyjesz polecenia New-AzLoadBalancerTunnelInterface , aby utworzyć dwa interfejsy tunelowe dla modułu równoważenia obciążenia.

Utwórz pulę zaplecza za pomocą polecenia New-AzLoadBalancerBackendAddressPoolConfig dla urządzeń WUS.

Sonda kondycji jest wymagana do monitorowania kondycji wystąpień zaplecza w module równoważenia obciążenia. Użyj polecenia New-AzLoadBalancerProbeConfig , aby utworzyć sondę kondycji.

Ruch przeznaczony dla wystąpień zaplecza jest kierowany za pomocą reguły równoważenia obciążenia. Użyj polecenia New-AzLoadBalancerRuleConfig , aby utworzyć regułę równoważenia obciążenia.

Aby utworzyć moduł równoważenia obciążenia, użyj polecenia 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

Dodawanie wirtualnych urządzeń sieciowych do puli zaplecza usługi Load Balancer bramy

Wdrażanie urządzeń WUS za pośrednictwem witryny Azure Marketplace. Po wdrożeniu dodaj maszyny wirtualne do puli zaplecza za pomocą polecenia Add-AzVMNetworkInterface

Łączenie frontonu modułu równoważenia obciążenia z Modułem Równoważenia Obciążenia Bramy

W tym przykładzie utworzysz fronton modułu równoważenia obciążenia w warstwie Standardowa do modułu równoważenia obciążenia bramy.

Dodasz fronton do adresu IP frontonu istniejącego modułu równoważenia obciążenia w ramach subskrypcji.

Użyj polecenia Set-AzLoadBalancerFrontendIpConfig , aby połączyć fronton modułu równoważenia obciążenia bramy z istniejącym modułem równoważenia obciążenia.

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

Łączenie maszyny wirtualnej z usługą Load Balancer bramy

Alternatywnie można połączyć konfigurację adresu IP karty sieciowej maszyny wirtualnej z modułem równoważenia obciążenia bramy.

Dodasz fronton modułu równoważenia obciążenia bramy do konfiguracji adresu IP karty sieciowej istniejącej maszyny wirtualnej.

Użyj polecenia Set-AzNetworkInterfaceIpConfig , aby połączyć fronton modułu równoważenia obciążenia bramy z konfiguracją adresu IP karty sieciowej istniejącej maszyny wirtualnej.

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

Czyszczenie zasobów

Gdy grupa zasobów, moduł równoważenia obciążenia i pozostałe zasoby nie będą już potrzebne, możesz użyć polecenia Remove-AzResourceGroup .

Remove-AzResourceGroup -Name 'TutorGwLB-rg'

Następne kroki

Tworzenie wirtualnych urządzeń sieciowych na platformie Azure.

Podczas tworzenia urządzeń WUS wybierz zasoby utworzone w tym samouczku:

  • Sieć wirtualna

  • Podsieć

  • Sieciowa grupa zabezpieczeń

  • Moduł równoważenia obciążenia bramy

Przejdź do następnego artykułu, aby dowiedzieć się, jak utworzyć usługę Azure Load Balancer w wielu regionach.