Sdílet prostřednictvím


Vytvoření interního nástroje pro vyrovnávání zatížení mezi předplatnými

V tomto návodu se dozvíte, jak vytvořit interní nástroj pro vyrovnávání zatížení mezi předplatnými připojením virtuální sítě v předplatném k nástroji pro vyrovnávání zatížení v jiném předplatném.

Interní nástroj pro vyrovnávání zatížení mezi předplatnými (ILB) může odkazovat na virtuální síť, která se nachází v jiném předplatném než nástroje pro vyrovnávání zatížení. Tato funkce umožňuje nasadit nástroj pro vyrovnávání zatížení v jednom předplatném a odkazovat na virtuální síť v jiném předplatném.

Požadavky

  • Dvě předplatná Azure
  • Účet Azure s aktivními předplatnými. Vytvoření účtu zdarma
  • Existující virtuální síť. nasazené v jednom z předplatných. V tomto příkladu je virtuální síť v předplatném Azure A.
  • Azure PowerShell je 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.

Důležité

Všechny ukázky kódu budou používat ukázkové názvy a zástupné symboly. Nezapomeňte je nahradit hodnotami z vašeho prostředí. Hodnoty, které je třeba nahradit, budou uzavřeny do úhlových závorek, například takto: <example value>.

Přihlášení k Azure

Pomocí Azure PowerShellu se přihlásíte k Azure pomocí Connect-AzAccounta změníte kontext předplatného na Set-AzContext Předplatné Azure A. Pak získejte informace o virtuální síti pomocí Get-AzVirtualNetworkfunkce . Potřebujete ID předplatného Azure, název skupiny prostředků a název virtuální sítě z vašeho prostředí.


# Sign in to Azure
Connect-AzAccount

# Set the subscription context to Azure Subscription A
Set-AzContext -Subscription '<Azure Subscription A>'     

# Get the Virtual Network information with Get-AzVirtualNetwork
$net = @{
    Name = '<vnet name>'
    ResourceGroupName = '<Resource Group Subscription A>'
}
$vnet = Get-AzVirtualNetwork @net

Vytvoření skupiny zdrojů

V této části vytvoříte skupinu prostředků v předplatném Azure B. Tato skupina prostředků je určená pro všechny vaše prostředky přidružené k vašemu nástroji pro vyrovnávání zatížení.

Pomocí Azure PowerShellu přepnete kontext předplatného a Set-AzContext vytvoříte skupinu prostředků s New-AzResourceGroup.


# Set the subscription context to Azure Subscription B
Set-AzContext -Subscription '<Azure Subscription B>'  

# Create a resource group  
$rg = @{
    Name = 'myResourceGroupLB'
    Location = 'westus'
}
New-AzResourceGroup @rg

Poznámka:

Při vytváření skupiny prostředků pro nástroj pro vyrovnávání zatížení použijte stejnou oblast Azure jako virtuální síť v předplatném Azure A.

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

V této části vytvoříte nástroj pro vyrovnávání zatížení v předplatném Azure B , který je připojený k virtuální síti v předplatném Azure A. Vytvoříte nástroj pro vyrovnávání zatížení s front-endovou IP adresou.

Pomocí Azure PowerShellu:

# Create a load balancer

$tags = @{
'IsRemoteFrontend'= 'true'
}

$loadbalancer = @{
    ResourceGroupName = 'myResourceGroupLB'
    Name = 'myLoadBalancer'
    Location = 'westus'
    Sku = 'Standard'
    Tags = $tags
}

$LB = New-AzLoadBalancer @loadbalancer
 
$LBinfo = @{
    ResourceGroupName = 'myResourceGroupLB'
    Name = 'myLoadBalancer'
}

## Add load balancer frontend configuration and apply to load balancer.
$fip = @{
 Name = 'myFrontEnd'
SubnetId = $vnet.subnets[0].Id 
}

$LB = $LB | Add-AzLoadBalancerFrontendIpConfig @fip
$LB = $LB | Set-AzLoadBalancer

## Create backend address pool configuration and place in variable. 
 
$be = @{
    ResourceGroupName= "myResourceGroupLB"
    Name= "myBackEndPool"
    LoadBalancerName= "myLoadBalancer"
    VirtualNetwork=$vnet.id
    SyncMode= "Automatic"
}
 
# Create  the backend pool
$backend = New-AzLoadBalancerBackendAddressPool @be
$LB = Get-AzLoadBalancer @LBinfo

Vytvoření sondy stavu a pravidla nástroje pro vyrovnávání zatížení

Vytvořte sondu stavu, která určuje stav instancí back-endových virtuálních počítačů a pravidlo nástroje pro vyrovnávání zatížení, které definuje konfiguraci front-endové IP adresy pro příchozí provoz, back-endový fond IP adres pro příjem provozu a požadovaný zdrojový a cílový port.

Pomocí Azure PowerShellu vytvořte sondu stavu, Add-AzLoadBalancerProbeConfig která určuje stav instancí back-endových virtuálních počítačů. Pak vytvořte pravidlo nástroje pro vyrovnávání zatížení, Add-AzLoadBalancerRuleConfig které definuje konfiguraci front-endové IP adresy pro příchozí provoz, back-endový fond IP adres pro příjem provozu a požadovaný zdrojový a cílový port.

## Create the health probe and place in variable. ##
$probe = @{
    Name = 'myHealthProbe2'
    Protocol = 'tcp'
    Port = '80'
    IntervalInSeconds = '360'
    ProbeCount = '5'
}

## Create the load balancer rule and place in variable. ##
$lbrule = @{
    Name = 'myHTTPRule2'
    Protocol = 'tcp'
    FrontendPort = '80'
    BackendPort = '80'
    IdleTimeoutInMinutes = '15'
    FrontendIpConfiguration = $LB.FrontendIpConfigurations[0]
    BackendAddressPool = $backend
}
## Set the load balancer resource. ##
$LB | Add-AzLoadBalancerProbeConfig @probe
$LB | Add-AzLoadBalancerRuleConfig  @lbrule
$LB | Set-AzLoadBalancer

Připojení síťových karet k nástroji pro vyrovnávání zatížení

V této části připojíte síťovou kartu (NIC) v předplatném Azure A k nástroji pro vyrovnávání zatížení v předplatném Azure B. Vytvoříte síťové rozhraní s New-AzNetworkInterface a pak vytvoříte konfiguraci PROTOKOLU IP pro síťovou kartu s New-AzNetworkInterfaceIpConfig.

Poznámka:

Síťová karta musí být ve stejné virtuální síti jako back-endový fond nástroje pro vyrovnávání zatížení.


# Set the subscription context to **Azure Subscription A**
Set-AzContext -Subscription 'Sub A' 

# Create a network interface card
$IP1 = @{
    Name = 'MyIpConfig'
    subnetID= $vnet.subnets[0].Id
    PrivateIpAddressVersion = 'IPv4'
-LoadBalancerBackendAddressPool $lb-be-info
}
$IP1Config = New-AzNetworkInterfaceIpConfig @IP1 -Primary
$nic = @{
    Name = 'MyNic'
    ResourceGroupName = '<Resoure Group Subscription A>'
    Location = 'eastus'
    IpConfiguration = $IP1Config
}
New-AzNetworkInterface @nic

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

Pokud už ji nepotřebujete, můžete pomocí příkazu Remove-AzResourceGroup odebrat skupinu prostředků, kterou jste vytvořili, společně s nástrojem pro vyrovnávání zatížení a zbývajícími prostředky.

Remove-AzResourceGroup -Name 'myResourceGroupLB'

Další kroky