Asociación de un back-end entre suscripciones a una instancia de Azure Load Balancer
En este artículo, aprenderá a adjuntar un back-end entre suscripciones a una instancia de Azure Load Balancer mediante la creación de un grupo de back-end entre suscripciones y la conexión de interfaces de red entre suscripciones al grupo de back-end 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 cuenta de Azure con suscripciones activas. Cree su cuenta de forma gratuita.
- Una Red virtual existente. implementada en una de las suscripciones. En este ejemplo, la red virtual se encuentra en la Suscripción de Azure A.
- Azure PowerShell instalado localmente o Azure Cloud Shell.
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, inicie sesión en Azure con Connect-AzAccount
y cambie el contexto de la suscripción con Set-AzContext
a una Suscripción de Azure A. A continuación, obtenga la información de red virtual con Get-AzVirtualNetwork
. 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 Virtual Network information with Get-AzVirtualNetwork
$net = @{
Name = '<vnet name>'
ResourceGroupName = '<Resource Group Subscription A>'
}
$vnet = Get-AzVirtualNetwork @net
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.
Con Azure PowerShell, podrá:
- Disponer de un equilibrador de carga con
New-AzLoadBalancer
- Crear una dirección IP pública con
New-AzPublicIpAddress
- Agregar una configuración de direcciones IP de front-end con
Add-AzLoadBalancerFrontendIpConfig
- Crear un grupo de direcciones de back-end con
New-AzLoadBalancerBackendAddressPool
.
# 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
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
Conectar tarjetas de interfaz de red al equilibrador de carga
En esta sección, asociará la tarjeta de interfaz de red (NIC) en la Suscripción de Azure A al equilibrador de carga en la Suscripción de Azure B. Cree una interfaz de red con New-AzNetworkInterface
y, a continuación, cree una configuración IP para la tarjeta de interfaz de red con New-AzNetworkInterfaceIpConfig
.
Nota:
La tarjeta de interfaz de red (NIC) debe estar en la misma red virtual que el grupo de back-end del equilibrador de carga.
# 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 = '<Resoure Group Subscription A>'
Location = 'eastus'
IpConfiguration = $IP1Config
}
New-AzNetworkInterface @nic
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'