Kurz: Vytvoření nástroje pro vyrovnávání zatížení brány pomocí Azure PowerShellu

Azure Load Balancer se skládá ze skladových položek úrovně Standard, Basic a Gateway. Nástroj pro vyrovnávání zatížení brány se používá k transparentnímu vkládání síťových virtuálních zařízení (NVA). Použijte Nástroj pro vyrovnávání zatížení brány pro scénáře, které vyžadují vysoký výkon a vysokou škálovatelnost síťových virtuálních zařízení.

V tomto kurzu se naučíte:

  • Vytvořte virtuální síť.
  • Vytvořte skupinu zabezpečení sítě.
  • Vytvořte nástroj pro vyrovnávání zatížení brány.
  • Zřetězte front-end nástroje pro vyrovnávání zatížení s nástrojem pro vyrovnávání zatížení brány.

Požadavky

  • Účet Azure s aktivním předplatným.Vytvořte si bezplatný účet.
  • Existující veřejná standardní skladová položka Azure Load Balancer. Další informace o vytvoření nástroje pro vyrovnávání zatížení najdete v tématu Vytvoření veřejného nástroje pro vyrovnávání zatížení pomocí Azure PowerShellu.
    • Pro účely tohoto kurzu se stávající nástroj pro vyrovnávání zatížení v příkladech nazývá myLoadBalancer.
  • Azure PowerShell nainstalovaný místně nebo Azure Cloud Shell

Pokud se rozhodnete nainstalovat a používat PowerShell místně, musíte použít modul Azure PowerShell verze 5.4.1 nebo novější. Nainstalovanou verzi zjistíte spuštěním příkazu Get-Module -ListAvailable Az. Pokud potřebujete upgrade, přečtěte si téma Instalace modulu Azure PowerShell. Pokud používáte PowerShell místně, musíte také spustit Connect-AzAccount , abyste vytvořili připojení k Azure.

Vytvoření skupiny zdrojů

Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure.

Vytvořte skupinu prostředků pomocí rutiny New-AzResourceGroup:

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

Vytvoření virtuální sítě

Pro prostředky, které jsou v back-endovém fondu nástroje pro vyrovnávání zatížení brány, je potřeba virtuální síť. K vytvoření virtuální sítě použijte Rutinu New-AzVirtualNetwork . Pomocí rutiny New-AzBastion nasaďte hostitele bastionu pro zabezpečenou správu prostředků ve virtuální síti.

Důležité

Hodinová cena začíná od okamžiku nasazení Bastionu bez ohledu na využití odchozích dat. Další informace najdete v tématu Ceny a skladové položky. Pokud bastion nasazujete jako součást kurzu nebo testu, doporučujeme tento prostředek po dokončení jeho použití odstranit.

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

Vytvoření skupiny zabezpečení sítě

Pomocí následujícího příkladu vytvořte skupinu zabezpečení sítě. Nakonfigurujete pravidla NSG potřebná pro síťový provoz ve virtuální síti vytvořené dříve.

Pomocí rutiny New-AzNetworkSecurityRuleConfig vytvořte pravidla pro skupinu zabezpečení sítě. K vytvoření skupiny zabezpečení sítě použijte rutinu New-AzNetworkSecurityGroup .

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

Vytvoření nástroje pro vyrovnávání zatížení brány

V této části vytvoříte konfiguraci a nasadíte nástroj pro vyrovnávání zatížení brány. Pomocí rutiny New-AzLoadBalancerFrontendIpConfig vytvořte konfiguraci front-endové IP adresy nástroje pro vyrovnávání zatížení.

K vytvoření dvou rozhraní tunelového propojení pro nástroj pro vyrovnávání zatížení použijete New-AzLoadBalancerTunnelInterface .

Vytvořte back-endový fond pomocí rutiny New-AzLoadBalancerBackendAddressPoolConfig pro síťová virtuální zařízení.

Sonda stavu je nutná k monitorování stavu back-endových instancí v nástroji pro vyrovnávání zatížení. Pomocí rutiny New-AzLoadBalancerProbeConfig vytvořte sondu stavu.

Provoz určený pro back-endové instance se směruje pomocí pravidla vyrovnávání zatížení. Pomocí rutiny New-AzLoadBalancerRuleConfig vytvořte pravidlo vyrovnávání zatížení.

K vytvoření nástroje pro vyrovnávání zatížení použijte 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

Přidání síťových virtuálních zařízení do back-endového fondu Nástroje pro vyrovnávání zatížení brány

Nasaďte síťová virtuální zařízení prostřednictvím Azure Marketplace. Po nasazení přidejte virtuální počítače do back-endového fondu pomocí add-AzVMNetworkInterface.

Zřetězte front-end nástroje pro vyrovnávání zatížení s nástrojem pro vyrovnávání zatížení brány.

V tomto příkladu zřetědíte front-end standardního nástroje pro vyrovnávání zatížení s nástrojem pro vyrovnávání zatížení brány.

Front-end přidáte do front-endové IP adresy existujícího nástroje pro vyrovnávání zatížení ve vašem předplatném.

Pomocí set-AzLoadBalancerFrontendIpConfig zřetězit front-end nástroje pro vyrovnávání zatížení brány s existujícím nástrojem pro vyrovnávání zatížení.

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

Zřetězení virtuálního počítače s nástrojem pro vyrovnávání zatížení brány

Alternativně můžete zřetězit konfiguraci IP adresy síťové karty virtuálního počítače s nástrojem pro vyrovnávání zatížení brány.

Front-end nástroje pro vyrovnávání zatížení brány přidáte do konfigurace IP adresy síťové karty existujícího virtuálního počítače.

Pomocí rutiny Set-AzNetworkInterfaceIpConfig zřetězite front-end nástroje pro vyrovnávání zatížení brány s konfigurací IP adresy síťových adaptérů vašeho existujícího virtuálního počítače.

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

Vyčištění prostředků

Pokud už je nepotřebujete, můžete pomocí příkazu Remove-AzResourceGroup odebrat skupinu prostředků, nástroj pro vyrovnávání zatížení a zbývající prostředky.

Remove-AzResourceGroup -Name 'TutorGwLB-rg'

Další kroky

Vytvoření síťových virtuálních zařízení v Azure

Při vytváření síťových virtuálních zařízení zvolte prostředky vytvořené v tomto kurzu:

  • Virtuální síť

  • Podsíť

  • Skupina zabezpečení sítě

  • Gateway Load Balancer

V dalším článku se dozvíte, jak vytvořit Azure Load Balancer napříč oblastmi.