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-AzAccount
a 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-AzVirtualNetwork
funkce . 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:
- Nástroj pro vyrovnávání zatížení s
New-AzLoadBalancer
- Vytvoření veřejné IP adresy pomocí
New-AzPublicIpAddress
- Přidání konfigurace front-endové IP adresy pomocí
Add-AzLoadBalancerFrontendIpConfig
- Vytvořte back-endový fond adres pomocí
New-AzLoadBalancerBackendAddressPool
příkazu .
# 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'