Koppla en klientdel mellan prenumerationer till en Azure Load Balancer
I den här artikeln får du lära dig hur du skapar en lastbalanserare i en Azure-prenumeration och kopplar en IP-adress för klientdelen från en annan prenumeration. Du skapar en resursgrupp för lastbalanseraren och skapar sedan en lastbalanserare med en IP-adress för klientdelen. Du kan också skapa en serverdelsadresspool, hälsoavsökning och lastbalanserare.
En lastbalanserare mellan prenumerationer kan referera till ett virtuellt nätverk som finns i en annan prenumeration än lastbalanserarna. Med den här funktionen kan du distribuera en lastbalanserare i en prenumeration och referera till ett virtuellt nätverk i en annan prenumeration.
Förutsättningar
- Två Azure-prenumerationer. En prenumeration för det virtuella nätverket och en annan prenumeration för lastbalanseraren.
- Ett Azure-konto med aktiva prenumerationer. Skapa ett konto kostnadsfritt
- En offentlig IP-adress som distribueras i en av prenumerationerna. I det här exemplet finns den offentliga IP-adressen i Azure-prenumeration A.
- Ett befintligt virtuellt nätverk. distribueras i en av prenumerationerna. I det här exemplet finns det virtuella nätverket i Azure-prenumeration B.
Om du väljer att installera och använda PowerShell lokalt kräver den här artikeln version 5.4.1 eller senare av Azure PowerShell-modulen. Kör Get-Module -ListAvailable Az
för att hitta den installerade versionen. Om du behöver uppgradera kan du läsa Install Azure PowerShell module (Installera Azure PowerShell-modul). Om du kör PowerShell lokalt måste du också köra Connect-AzAccount
för att skapa en anslutning till Azure.
Viktigt!
Alla kodexempel använder exempelnamn och platshållare. Se till att ersätta dessa med värdena från din miljö.
Värdena som behöver ersättas omges av vinkelparenteser, så här: <example value>
.
Logga in på Azure
Med Azure PowerShell loggar du in på Azure med Connect-AzAccount
och ändrar din prenumerationskontext med Set-AzContext
till Azure Subscription A. Hämta sedan den offentliga IP-adressinformationen med Get-AzPublicIpAddress
. Du behöver Azure-prenumerations-ID, resursgruppsnamn och virtuellt nätverksnamn från din miljö.
# 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
Skapa en resursgrupp
I det här avsnittet skapar du en resursgrupp i Azure-prenumeration B. Den här resursgruppen är avsedd för alla dina resurser som associeras med lastbalanseraren.
Med Azure PowerShell växlar du prenumerationskontexten med Set-AzContext
och skapar en resursgrupp med 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
Kommentar
När du skapar resursgruppen för lastbalanseraren använder du samma Azure-region som det virtuella nätverket i Azure-prenumeration A.
Skapa en lastbalanserare
I det här avsnittet skapar du en lastbalanserare i Azure-prenumeration B. Du skapar en lastbalanserare med en IP-adress för klientdelen.
Skapa en lastbalanserare med New-AzLoadBalancer
, lägg till en IP-konfiguration för klientdelen med Add-AzLoadBalancerFrontendIpConfig
och skapa sedan en serverdelsadresspool med 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
Skapa en hälsoavsökning och lastbalanseringsregel
Skapa en hälsoavsökning som avgör hälsotillståndet för serverdels-VM-instanserna och en lastbalanseringsregel som definierar IP-konfigurationen för klientdelen för inkommande trafik, serverdels-IP-poolen för att ta emot trafiken och den nödvändiga käll- och målporten.
Med Azure PowerShell skapar du en hälsoavsökning med Add-AzLoadBalancerProbeConfig
som avgör hälsotillståndet för serverdels-VM-instanserna. Skapa sedan en lastbalanseringsregel med Add-AzLoadBalancerRuleConfig
som definierar IP-konfigurationen för klientdelen för inkommande trafik, serverdels-IP-poolen för att ta emot trafiken och den nödvändiga käll- och målporten.
## 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
Rensa resurser
När du inte längre behöver det kan du använda kommandot Remove-AzResourceGroup för att ta bort resursgruppen som du skapade tillsammans med lastbalanseraren och de återstående resurserna.
Remove-AzResourceGroup -Name 'myResourceGroupLB'