Creare un bilanciamento del carico interno tra sottoscrizioni
Questa guida pratica illustra come creare un servizio di bilanciamento del carico interno tra sottoscrizioni connettendo una rete virtuale in una sottoscrizione a un servizio di bilanciamento del carico in una sottoscrizione diversa.
Un bilanciamento del carico interno 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
- Una rete virtuale esistente. distribuita in una delle sottoscrizioni. Per questo esempio, la rete virtuale si trova 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 sulla rete virtuale con Get-AzVirtualNetwork
. 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 '<Azure Subscription A>'
# Get the Virtual Network information with Get-AzVirtualNetwork
$net = @{
Name = '<vnet name>'
ResourceGroupName = '<Resource Group Subscription A>'
}
$vnet = Get-AzVirtualNetwork @net
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 = 'myResourceGroupLB'
Location = 'westus'
}
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
In questa sezione viene creato un servizio di bilanciamento del carico nella sottoscrizione di Azure B connesso a una rete virtuale nella sottoscrizione di Azure A. Si crea un servizio di bilanciamento del carico con un indirizzo IP front-end.
Con Azure PowerShell è possibile:
- Un sistema di bilanciamento del carico con
New-AzLoadBalancer
- Creare un indirizzo IP pubblico con
New-AzPublicIpAddress
- Aggiungere una configurazione IP front-end con
Add-AzLoadBalancerFrontendIpConfig
- Creare un pool di indirizzi back-end con
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
Creare un probe di integrità e una regola del servizio di bilanciamento del carico
Creare un probe di integrità che determini l'integrità delle istanze di macchine virtuali del back-end e una regola di bilanciamento del carico che definisca la configurazione IP front-end per il traffico in ingresso, il pool IP back-end che riceve il traffico e le porte di origine e di destinazione necessarie.
Con Azure PowerShell, usare Add-AzLoadBalancerProbeConfig
per creare un probe di integrità che determina l'integrità delle istanze di VM back-end. Quindi, creare una regola di bilanciamento del carico con Add-AzLoadBalancerRuleConfig
che definisca la configurazione IP front-end per il traffico in ingresso e il pool IP back-end che riceve il traffico, insieme alle porte di origine e di destinazione necessarie.
## 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
Aggiungere schede dell'interfaccia di rete al servizio di bilanciamento del carico
In questa sezione si collega la scheda di interfaccia di rete (NIC) in sottoscrizione di Azure A al servizio di bilanciamento del carico in sottoscrizione di Azure B. Si crea un'interfaccia di rete con New-AzNetworkInterface
e quindi si crea una configurazione IP per la scheda di interfaccia di rete con New-AzNetworkInterfaceIpConfig
.
Nota
La scheda di interfaccia di rete deve trovarsi nella stessa rete virtuale del pool back-end del servizio di bilanciamento del carico.
# 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
Pulire le risorse
Quando non servono più, è possibile usare il comando Remove-AzResourceGroup per rimuovere il gruppo di risorse creato insieme al servizio di bilanciamento del carico e le risorse rimanenti.
Remove-AzResourceGroup -Name 'myResourceGroupLB'