Een interne load balancer voor meerdere abonnementen maken
In deze handleiding leert u hoe u een interne load balancer voor meerdere abonnementen maakt door een virtueel netwerk in een abonnement te verbinden met een load balancer in een ander abonnement.
Een interne load balancer (ILB) 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.
- Een Azure-account met actieve abonnementen. Gratis een account maken
- Een bestaand virtueel netwerk. geïmplementeerd in een van de abonnementen. In dit voorbeeld bevindt het virtuele netwerk zich in Azure Subscription A.
- Azure PowerShell is lokaal geïnstalleerd of Azure Cloud Shell.
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 gegevens van het virtuele netwerk op met Get-AzVirtualNetwork
. 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 Virtual Network information with Get-AzVirtualNetwork
$net = @{
Name = '<vnet name>'
ResourceGroupName = '<Resource Group Subscription A>'
}
$vnet = Get-AzVirtualNetwork @net
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 die is verbonden met een virtueel netwerk in Azure-abonnement A. U maakt een load balancer met een front-end-IP-adres.
Met Azure PowerShell gaat u het volgende doen:
- Een load balancer met
New-AzLoadBalancer
- Een openbaar IP-adres maken met
New-AzPublicIpAddress
- Een front-end-IP-configuratie toevoegen met
Add-AzLoadBalancerFrontendIpConfig
- Maak een back-endadresgroep met
New-AzLoadBalancerBackendAddressPool
.
# 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
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
Netwerkinterfacekaarten koppelen aan de load balancer
In deze sectie koppelt u de netwerkinterfacekaart (NIC) in Azure Subscription A aan de load balancer in Azure Subscription B. U maakt een netwerkinterface met New-AzNetworkInterface
en maakt vervolgens een IP-configuratie voor de netwerkinterfacekaart met New-AzNetworkInterfaceIpConfig
.
Notitie
De netwerkinterfacekaart (NIC) moet zich in hetzelfde VNet bevinden als de back-endpool van de load balancer.
# 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 = '<Resource Group Subscription A>'
Location = 'eastus'
IpConfiguration = $IP1Config
}
New-AzNetworkInterface @nic
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'