Partager via


Attacher un back-end inter-abonnements à un Azure Load Balancer

Dans cet article, vous apprenez à attacher un back-end inter-abonnements à un Azure Load Balancer en créant un pool back-end inter-abonnements et en attachant des interfaces réseau inter-abonnements au pool back-end de l’équilibreur de charge.

Un équilibreur de charge inter-abonnements peut référencer un réseau virtuel qui réside dans un autre abonnement que les équilibreurs de charge. Cette fonctionnalité vous permet de déployer un équilibreur de charge dans un abonnement et de référencer un réseau virtuel dans un autre abonnement.

Prérequis

  • Deux abonnements Azure.
  • Un compte Azure avec des abonnements actifs. Créez un compte gratuitement.
  • Un réseau virtuel existant. déployé dans un des abonnements. Pour cet exemple, le réseau virtuel se trouve dans l’Abonnement Azure A.
  • Azure PowerShell installé localement ou Azure Cloud Shell.

Si vous choisissez d’installer et d’utiliser PowerShell en local, vous devez exécuter le module Azure PowerShell version 5.4.1 ou ultérieure pour les besoins de cet article. Exécutez Get-Module -ListAvailable Az pour rechercher la version installée. Si vous devez effectuer une mise à niveau, consultez Installer le module Azure PowerShell. Si vous exécutez PowerShell en local, vous devez également exécuter Connect-AzAccount pour créer une connexion avec Azure.

Important

Tous les exemples de code vont utiliser des exemples de noms et des espaces réservés. Veillez à les remplacer par les valeurs de votre environnement. Les valeurs nécessitant un remplacement seront placées entre des chevrons, comme ceci : <example value>.

Connexion à Azure

Avec Azure PowerShell, vous vous connectez à Azure avec Connect-AzAccount, puis vous changez votre contexte d’abonnement avec Set-AzContext sur Abonnement Azure A. Vous obtenez ensuite les informations sur le réseau virtuel avec Get-AzVirtualNetwork. Vous avez besoin de l’ID d’abonnement Azure, du nom du groupe de ressources et du nom du réseau virtuel de votre environnement.


# 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

Créer un groupe de ressources

Dans cette section, vous créez un groupe de ressources dans l’Abonnement Azure B. Ce groupe de ressources est destiné à toutes les ressources associées à votre équilibreur de charge.

Avec Azure PowerShell, vous changez le contexte d’abonnement avec Set-AzContext et vous créez un groupe de ressources avec 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

Remarque

Quand vous créez le groupe de ressources pour votre équilibreur de charge, utilisez la même région Azure que celle du réseau virtuel de l’Abonnement Azure A.

Créer un équilibreur de charge

Dans cette section, vous créez un équilibreur de charge dans l’Abonnement Azure B. Vous créez un équilibreur de charge avec une adresse IP front-end.

Avec Azure PowerShell, vous allez :

# Create a load balancer
$loadbalancer = @{
    ResourceGroupName = 'resource group B'
    Name = 'LB Name'
    Location = 'eastus'
    Sku = 'Standard'
}
$LB = New-AzLoadBalancer @loadbalancer

$LBinfo = @{
    ResourceGroupName = 'resource group B'
    Name = 'my-lb'
}

# Create a public IP address
$publicip = @{
    Name = 'IP Address Name'
    ResourceGroupName = 'resource group B'
    Location = 'eastus'
    Sku = 'Standard'
    AllocationMethod = 'static'
    Zone = 1,2,3
}
New-AzPublicIpAddress @publicip


# Place public IP created in previous steps into variable
$pip = @{
    Name = 'IP Address Name'
    ResourceGroupName = 'resource group B'
}
$publicIp = Get-AzPublicIpAddress @pip

## Create load balancer frontend configuration and place in variable
$fip = @{
    Name = 'Frontend Name'
    PublicIpAddress = $publicip
}
$LB = $LB | Add-AzLoadBalancerFrontendIpConfig @fip
$LB = $LB | Set-AzLoadBalancer

# Create backend address pool configuration and place in variable. ##

$be = @{
    ResourceGroupName= "resource group B"
    Name= "myBackEndPool"
    LoadBalancerName= "LB Name"
    VirtualNetwork=$vnet.id
    SyncMode= "Automatic"
}

#Create the backend pool
$backend = New-AzLoadBalancerBackendAddressPool @be
$LB = Get-AzLoadBalancer @LBinfo

Créer une sonde d’intégrité et une règle d’équilibreur de charge

Créez une sonde d’intégrité qui détermine l’intégrité des instances de machine virtuelle back-end et une règle d’équilibreur de charge qui définit la configuration IP front-end pour le trafic entrant, le pool d’adresses IP back-ends qui recevra le trafic, et les ports source et de destination requis.

Avec Azure PowerShell, créez une sonde d’intégrité avec Add-AzLoadBalancerProbeConfig, qui va déterminer l’intégrité des instances de machine virtuelle back-end. Créez ensuite une règle d’équilibreur de charge avec Add-AzLoadBalancerRuleConfig, qui définit la configuration IP front-end pour le trafic entrant, le pool d’adresses IP back-ends qui recevra le trafic, et les ports source et de destination requis.

## 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

Attacher des cartes d’interface réseau à l’équilibreur de charge

Dans cette section, vous attachez la carte d’interface réseau (NIC) de l’Abonnement Azure A à l’équilibreur de charge dans l’Abonnement Azure B. Vous créez une interface réseau avec New-AzNetworkInterface, puis vous créez une configuration IP pour la carte d’interface réseau avec New-AzNetworkInterfaceIpConfig.

Remarque

La carte d’interface réseau (NIC) doit se trouver dans le même réseau virtuel que le pool de back-ends de l’équilibreur de charge.


# 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

Nettoyer les ressources

Quand vous n’en avez plus besoin, vous pouvez utiliser la commande Remove-AzResourceGroup pour supprimer le groupe de ressources que vous avez créé, ainsi que l’équilibreur de charge et les ressources restantes.

Remove-AzResourceGroup -Name 'myResourceGroupLB'

Étapes suivantes