Een front-end voor meerdere abonnementen koppelen aan een Azure Load Balancer
In dit artikel leert u hoe u een load balancer maakt in één Azure-abonnement en een front-end-IP-adres koppelt vanuit een ander abonnement. U maakt een resourcegroep voor de load balancer en maakt vervolgens een load balancer met een front-end-IP-adres. U maakt ook een back-endadresgroep, statustest en load balancer-regel.
Een load balancer voor meerdere abonnementen kan verwijzen naar een virtueel netwerk dat zich in een ander abonnement bevindt dan de load balancers. Met deze functie kunt u een load balancer in één abonnement implementeren en verwijzen naar een virtueel netwerk in een ander abonnement.
Vereisten
- Twee Azure-abonnementen. Eén abonnement voor het virtuele netwerk en een ander abonnement voor de load balancer.
- Een Azure-account met actieve abonnementen. Gratis een account maken
- Een openbaar IP-adres dat is geïmplementeerd in een van de abonnementen. In dit voorbeeld bevindt het openbare IP-adres zich in Azure-abonnement A.
- Een bestaand virtueel netwerk. geïmplementeerd in een van de abonnementen. In dit voorbeeld bevindt het virtuele netwerk zich in Azure-abonnement B.
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.
Belangrijk
Alle codevoorbeelden gebruiken voorbeeldnamen en tijdelijke aanduidingen. Zorg ervoor dat u deze vervangt door de waarden uit uw omgeving.
De waarden die vervanging nodig hebben, worden tussen punthaken geplaatst, zoals: <example value>
.
Aanmelden bij Azure
Met Azure PowerShell meldt u zich aan bij Azure met Connect-AzAccount
en wijzigt u de abonnementscontext met Set-AzContext
Azure Subscription A. Haal vervolgens de informatie over het openbare IP-adres op met Get-AzPublicIpAddress
. U hebt de azure-abonnements-id, de naam van de resourcegroep en de naam van het virtuele netwerk uit uw omgeving nodig.
# Sign in to Azure
Connect-AzAccount
# Set the subscription context to Azure Subscription A
Set-AzContext -Subscription '<Azure Subscription A>'
# Get the Public IP address information with Get-AzPublicIpAddress
$publicIp = Get-AzPublicIpAddress @pip
Een brongroep maken
In deze sectie maakt u een resourcegroep in Azure-abonnement B. Deze resourcegroep is bedoeld voor al uw resources die aan uw load balancer zijn gekoppeld.
Met Azure PowerShell schakelt u de abonnementscontext over en Set-AzContext
maakt u een resourcegroep met 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
Notitie
Wanneer u de resourcegroep voor uw load balancer maakt, gebruikt u dezelfde Azure-regio als het virtuele netwerk in Azure-abonnement A.
Een load balancer maken
In deze sectie maakt u een load balancer in Azure-abonnement B. U maakt een load balancer met een front-end-IP-adres.
Maak een load balancer met New-AzLoadBalancer
, voeg een front-end-IP-configuratie toe met Add-AzLoadBalancerFrontendIpConfig
en maak vervolgens een back-endadresgroep met New-AzLoadBalancerBackendAddressPool
.
# Create a load balancer
$tags = @{
'IsRemoteFrontend'= 'true'
}
$loadbalancer = @{
ResourceGroupName = 'myResourceGroupLB'
Name = 'myLoadBalancer'
Location = 'westus'
Sku = 'Standard'
Tag = $tags
}
$LB = New-AzLoadBalancer @loadbalancer
$LBinfo = @{
ResourceGroupName = 'myResourceGroupLB'
Name = 'myLoadBalancer'
}
$fip = @{
Name = 'Frontend Name'
PublicIpAddress = $publicip
}
$LB = $LB | Add-AzLoadBalancerFrontendIpConfig @fip
$LB = $LB | Set-AzLoadBalancer
## Create backend address pool configuration and place in variable.
$net = @{
Name = 'vnet name'
ResourceGroupName = 'myResourceGroupLB'
}
$vnet = Get-AzVirtualNetwork @net
$be = @{
ResourceGroupName= "myResourceGroupLB"
Name= "myBackEndPool"
LoadBalancerName= "myLoadBalancer"
VirtualNetwork=$vnet.id
SyncMode= "Automatic"
}
#create the backend pool
$backend = New-AzLoadBalancerBackendAddressPool @be
$LB = Get-AzLoadBalancer @LBinfo
Een statustest en load balancer-regel maken
Maak een statustest die de status van de back-end-VM-exemplaren en een load balancer-regel bepaalt waarmee de front-end-IP-configuratie wordt gedefinieerd voor het binnenkomende verkeer, de back-end-IP-pool om het verkeer te ontvangen en de vereiste bron- en doelpoort.
Maak met Azure PowerShell een statustest waarmee Add-AzLoadBalancerProbeConfig
de status van de back-end-VM-exemplaren wordt bepaald. Maak vervolgens een load balancer-regel waarmee Add-AzLoadBalancerRuleConfig
de front-end-IP-configuratie wordt gedefinieerd voor het binnenkomende verkeer, de back-end-IP-adresgroep voor het ontvangen van het verkeer en de vereiste bron- en doelpoort.
## 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
Resources opschonen
Wanneer u deze niet meer nodig hebt, kunt u de opdracht Remove-AzResourceGroup gebruiken om de resourcegroep te verwijderen die u hebt gemaakt, samen met de load balancer en de resterende resources.
Remove-AzResourceGroup -Name 'myResourceGroupLB'