Creare un servizio di bilanciamento del carico globale con back-end tra sottoscrizioni
In questo articolo si spiega come creare un servizio di bilanciamento del carico globale con back-end tra sottoscrizioni.
Un bilanciamento del carico tra sottoscrizioni può fare riferimento a una rete virtuale che risiede in una sottoscrizione diversa rispetto ai servizi di bilanciamento del carico. Questa funzionalità consente di distribuire un bilanciamento del carico in una sottoscrizione e fare riferimento a una rete virtuale in un'altra sottoscrizione.
Prerequisiti
- Due sottoscrizioni di Azure.
- Un account Azure con sottoscrizioni attive. Creare un account gratuitamente
- Un indirizzo IP pubblico globale distribuito nella sottoscrizione di Azure A che si trova in un'area principale del servizio di bilanciamento del carico globale.
- Un servizio di bilanciamento del carico a livello di area distribuito nella sottoscrizione di Azure A.
- Azure PowerShell installato in locale o Azure Cloud Shell.
Se si sceglie di installare e usare PowerShell in locale, per questo articolo è necessario il modulo Azure PowerShell 5.4.1 o versione successiva. Eseguire Get-Module -ListAvailable Az
per trovare la versione installata. Se è necessario eseguire l'aggiornamento, vedere Installare e configurare Azure PowerShell. Se si esegue PowerShell in locale, è anche necessario eseguire Connect-AzAccount
per creare una connessione con Azure.
Importante
Tutti gli esempi di codice useranno nomi di esempio e segnaposto. Assicurarsi di sostituirli con i valori dell'ambiente.
I valori che richiedono la sostituzione saranno racchiusi tra parentesi acute, come questa: <example value>
.
Accedere ad Azure
Con Azure PowerShell si accede ad Azure con Connect-AzAccount
e si modifica il contesto della sottoscrizione con Set-AzContext
in Sottoscrizione di Azure A. Ottenere quindi le informazioni sul servizio di bilanciamento del carico a livello di area con Get-AzLoadBalancer
e Get-AzLoadBalancerFrontendIpConfig
. Sono necessari l'ID sottoscrizione di Azure, il nome del gruppo di risorse e il nome della rete virtuale dall'ambiente.
# Sign in to Azure
Connect-AzAccount
# Set the subscription context to Azure Subscription A
Set-AzContext -Subscription '<Subscription ID of Subscription A>'
# Get the Virtual Network information with Get-AzVirtualNetwork
$rlb= @{
Name = 'load-balancer-regional'
ResourceGroupName = 'resource-group-a'
}
$rlbinfo = Get-AzLoadBalancer @rlb
$rlbfe = Get-AzLoadBalancerFrontendIpConfig @rlbinfo
Creare un gruppo di risorse
In questa sezione viene creato un gruppo di risorse nella sottoscrizione di Azure B. Questo gruppo di risorse è destinato a tutte le risorse associate al bilanciamento del carico.
Con Azure PowerShell è possibile cambiare il contesto della sottoscrizione con Set-AzContext
e creare un gruppo di risorse con New-AzResourceGroup
.
# Set the subscription context to Azure Subscription B
Set-AzContext -Subscription '<Azure Subscription B>'
# Create a resource group
$rg = @{
Name = 'resource-group-b'
Location = 'eastus2'
}
New-AzResourceGroup @rg
Nota
Quando si crea il gruppo di risorse per il servizio di bilanciamento del carico, usare la stessa area di Azure della rete virtuale nella sottoscrizione di Azure A.
Creare un servizio di bilanciamento del carico a livello globale
In questa sezione vengono create le risorse necessarie per il servizio di bilanciamento del carico globale. Un indirizzo IP pubblico dello SKU standard globale viene usato per il front-end del servizio di bilanciamento del carico globale.
Con Azure PowerShell, è possibile:
- Usare
New-AzPublicIpAddress
per creare l'indirizzo IP pubblico. - Creare la configurazione di un indirizzo IP front-end con
New-AzLoadBalancerFrontendIpConfig
. - Creare un pool di indirizzi back-end con
New-AzLoadBalancerBackendAddressPoolConfig
. - Creare una regola di bilanciamento del carico con
Add-AzLoadBalancerRuleConfig
. - Creare un servizio di bilanciamento del carico a livello globale con
New-AzLoadBalancer
.
# Create global IP address for load balancer
$ip = @{
Name = 'public-IP-global'
ResourceGroupName = 'resource-group-b'
Location = 'eastus2'
Sku = 'Standard'
Tier = 'Global'
AllocationMethod = 'Static'
}
$publicIP = New-AzPublicIpAddress @ip
# Create frontend configuration
$fe = @{
Name = 'front-end-config-global'
PublicIpAddress = $publicIP
}
$feip = New-AzLoadBalancerFrontendIpConfig @fe
# Create backend address pool
$be = @{
Name = 'backend-pool-global'
}
$bepool = New-AzLoadBalancerBackendAddressPoolConfig @be
# Create the load balancer rule
$rul = @{
Name = 'HTTP-rule-global'
Protocol = 'tcp'
FrontendPort = '80'
BackendPort = '80'
FrontendIpConfiguration = $feip
BackendAddressPool = $bepool
}
$rule = New-AzLoadBalancerRuleConfig @rul
# Create global load balancer resource
$lbp = @{
ResourceGroupName = 'resource-group-b'
Name = 'load-balancer-global'
Location = ‘eastus2’
Sku = 'Standard'
Tier = 'Global'
FrontendIpConfiguration = $feip
BackendAddressPool = $bepool
LoadBalancingRule = $rule
}
$lb = New-AzLoadBalancer @lbp
Aggiungere front-end del servizio di bilanciamento del carico a livello globale
In questa sezione viene aggiunta una configurazione IP front-end al servizio di bilanciamento del carico globale.
Con Azure PowerShell, è possibile:
- Usare
Set-AzLoadBalancerFrontendIpConfig
per aggiungere il front-end del servizio di bilanciamento del carico a livello di area al pool back-end globale. - Usare
New-AzLoadBalancerBackendAddressConfig
per creare la configurazione di un pool di indirizzi back-end per un servizio di bilanciamento del carico.
## Create the global backend address pool configuration for region 2 ##
$rlbbaf = @{
Name = 'backend-pool-config-regional'
LoadBalancerFrontendIPConfigurationId = $rlbfe.Id
}
$beaddressconfigRLB = New-AzLoadBalancerBackendAddressConfig @region2ap
## Apply the backend address pool configuration for the global load balancer ##
$bepoolcr = @{
ResourceGroupName = 'resource-group-b'
LoadBalancerName = 'load-balancer-global'
Name = 'backend-pool-global'
LoadBalancerBackendAddress = $beaddressconfigRLB
}
Set-AzLoadBalancerBackendAddressPool @bepoolcr