Compartir a través de


Asociación de un front-end entre suscripciones a una instancia de Azure Load Balancer

En este artículo aprenderá a crear un equilibrador de carga en una suscripción de Azure y a adjuntar una dirección IP de front-end desde otra suscripción. Cree un grupo de recursos para el equilibrador de carga y, a continuación, cree un equilibrador de carga con una dirección IP de front-end. También crea un grupo de direcciones de back-end, un sondeo de estado y una regla del equilibrador de carga.

Un equilibrador de carga entre suscripciones puede hacer referencia a una red virtual que reside en una suscripción diferente a los equilibradores de carga. Esta característica permite implementar un equilibrador de carga en una suscripción y hacer referencia a una red virtual en otra suscripción.

Requisitos previos

  • Dos suscripciones de Azure. Una suscripción para la red virtual y otra suscripción para el equilibrador de carga.
  • Una cuenta de Azure con un suscripciones activas. Cree su cuenta de forma gratuita.
  • Una dirección IP pública implementada en una de las suscripciones. En este ejemplo, la dirección IP pública está en la suscripción de Azure A.
  • Una red virtual existente. implementada en una de las suscripciones. En este ejemplo, la red virtual se encuentra en la suscripción de Azure B.

Si decide instalar y usar PowerShell de forma local, para realizar los pasos de este artículo necesita la versión 5.4.1 del módulo de Azure PowerShell o cualquier versión posterior. Ejecute Get-Module -ListAvailable Az para buscar la versión instalada. Si necesita actualizarla, consulte Instalación del módulo de Azure PowerShell. Si PowerShell se ejecuta localmente, también debe ejecutar Connect-AzAccount para crear una conexión con Azure.

Importante

Todos los ejemplos de código usarán nombres de ejemplo y marcadores de posición. Asegúrese de reemplazarlos por los valores de su entorno. Los valores que necesitan reemplazo se incluirán entre corchetes angulares, de la siguiente manera: <example value>.

Inicio de sesión en Azure

Con Azure PowerShell, inicia sesión en Azure con Connect-AzAccount y cambia el contexto de la suscripción con Set-AzContext a una suscripción de Azure A. A continuación, obtenga la información de dirección IP pública con Get-AzPublicIpAddress. Necesita el identificador de suscripción de Azure, el nombre del grupo de recursos y el nombre de red virtual del entorno.


# 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

Crear un grupo de recursos

En esta sección se crea un grupo de recursos en una Suscripción de Azure B. Este grupo de recursos es para todos los recursos asociados al equilibrador de carga.

Con Azure PowerShell, se cambia el contexto de suscripción con Set-AzContext y se crea un grupo de recursos 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:

Al crear el grupo de recursos para el equilibrador de carga, use la misma región de Azure que la red virtual en Suscripción de Azure A.

Creación de un equilibrador de carga

En esta sección se crea un equilibrador de carga en una Suscripción de Azure B. Se crea un equilibrador de carga con una dirección IP de front-end.

Cree un equilibrador de carga con New-AzLoadBalancer, agregue una configuración de IP de front-end con Add-AzLoadBalancerFrontendIpConfig y, a continuación, cree un grupo de direcciones de back-end con 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

Crear una regla de sondeo de estado y equilibrador de carga

Cree un sondeo de estado que determine el estado de instancias de máquina virtual de back-end y una regla de equilibrador de carga que defina la configuración de la dirección IP de front-end para el tráfico entrante y el grupo de direcciones IP de back-end para recibir el tráfico, junto con el puerto de origen y destino requeridos.

Con Azure PowerShell, cree un sondeo de estado con Add-AzLoadBalancerProbeConfig que determine el estado de las instancias de máquina virtual de back-end. Luego cree una regla de equilibrador de carga con Add-AzLoadBalancerRuleConfig que defina la configuración de la dirección IP de front-end para el tráfico entrante, el grupo de direcciones IP de back-end para recibir el tráfico y el puerto de origen y destino requeridos.

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

Limpieza de recursos

Cuando ya no los necesite, puede usar el comando Remove-AzResourceGroup para quitar el grupo de recursos que creó junto al equilibrador de carga y el resto de los recursos.

Remove-AzResourceGroup -Name 'myResourceGroupLB'

Pasos siguientes