Compartir a través de


Implementación de una aplicación de pila doble IPv6 con Azure Load Balancer

En este artículo se muestra cómo implementar una aplicación de pila dual (IPv4 + IPv6) mediante Standard Load Balancer en Azure. El escenario incluye una red virtual de doble pila con una subred de pila dual, un equilibrador de carga estándar con configuraciones de front-end duales (IPv4 + IPv6), máquinas virtuales con NIC que tienen una configuración de IP dual, reglas de grupo de seguridad de red dual y direcciones IP públicas duales.

Prerrequisitos

Implementación de una aplicación de pila doble (IPv4 + IPv6)

Siga estas instrucciones en la CLI de Azure para implementar una aplicación de pila dual (IPv4 + IPv6) mediante Standard Load Balancer en Azure.

Creación de un grupo de recursos

Para poder generar la red virtual de doble pila, debe crear primero un grupo de recursos con az group create. En el ejemplo siguiente se crea un grupo de recursos denominado DsResourceGroup01 en la ubicación eastus :

az group create \
--name DsResourceGroup01 \
--location eastus

Creación de direcciones IP públicas IPv4 e IPv6 para el equilibrador de carga

Para acceder a los puntos de conexión IPv4 e IPv6 en Internet, necesita direcciones IP públicas IPv4 e IPv6 para el equilibrador de carga. Cree una dirección IP pública con az network public-ip create. En el ejemplo siguiente se crea la dirección IP pública IPv4 e IPv6 denominada dsPublicIP_v4 y dsPublicIP_v6 en el grupo de recursos DsResourceGroup01 :

# Create an IPV4 IP address
az network public-ip create \
--name dsPublicIP_v4  \
--resource-group DsResourceGroup01  \
--location eastus  \
--sku STANDARD  \
--allocation-method static  \
--version IPv4

# Create an IPV6 IP address
az network public-ip create \
--name dsPublicIP_v6  \
--resource-group DsResourceGroup01  \
--location eastus \
--sku STANDARD  \
--allocation-method static  \
--version IPv6

Creación de direcciones IP públicas para máquinas virtuales

Para acceder de forma remota a las máquinas virtuales en Internet, necesita direcciones IP públicas IPv4 para las máquinas virtuales. Cree una dirección IP pública con az network public-ip create.

az network public-ip create \
--name dsVM0_remote_access  \
--resource-group DsResourceGroup01 \
--location eastus  \
--sku Standard  \
--allocation-method static  \
--version IPv4

az network public-ip create \
--name dsVM1_remote_access  \
--resource-group DsResourceGroup01  \
--location eastus  \
--sku Standard  \
--allocation-method static  \
--version IPv4

Creación de un equilibrador de carga estándar

En esta sección, configurará la dirección IP de front-end dual (IPv4 e IPv6) y el grupo de direcciones de back-end para el equilibrador de carga y, a continuación, creará un equilibrador de carga estándar.

Creación de un equilibrador de carga

Cree el Standard Load Balancer con az network lb create denominado dsLB que incluya un grupo de front-end denominado dsLbFrontEnd_v4 y un grupo de back-end denominado dsLbBackEndPool_v4, ambos asociados a la dirección IP pública IPv4 dsPublicIP_v4 que creó en el paso anterior.

az network lb create \
--name dsLB  \
--resource-group DsResourceGroup01 \
--sku Standard \
--location eastus \
--frontend-ip-name dsLbFrontEnd_v4  \
--public-ip-address dsPublicIP_v4  \
--backend-pool-name dsLbBackEndPool_v4

Creación de front-end IPv6

Cree una dirección IP de front-end IPV6 con az network lb frontend-ip create. En el ejemplo siguiente se crea una configuración ip de front-end denominada dsLbFrontEnd_v6 y se adjunta la dirección dsPublicIP_v6 :

az network lb frontend-ip create \
--lb-name dsLB  \
--name dsLbFrontEnd_v6  \
--resource-group DsResourceGroup01  \
--public-ip-address dsPublicIP_v6

Configuración del grupo de direcciones de back-end IPv6

Cree un grupo de direcciones de back-end IPv6 utilizando az network lb address-pool create. En el ejemplo siguiente se crea un grupo de direcciones de back-end denominado dsLbBackEndPool_v6 para incluir máquinas virtuales con configuraciones de NIC IPv6:

az network lb address-pool create \
--lb-name dsLB  \
--name dsLbBackEndPool_v6  \
--resource-group DsResourceGroup01

Crear un sondeo de salud

Cree un sondeo de estado con az network lb probe create para supervisar el estado de las máquinas virtuales.

az network lb probe create -g DsResourceGroup01  --lb-name dsLB -n dsProbe --protocol tcp --port 3389

Creación de una regla de equilibrador de carga

Las reglas de equilibrador de carga se utilizan para definir cómo se distribuye el tráfico a las máquinas virtuales. Defina la configuración de la IP de front-end para el tráfico entrante y el grupo de IP de back-end para el tráfico entrante, junto con los puertos de origen y destino requeridos.

Cree una regla de equilibrador de carga con az network lb rule create. En el ejemplo siguiente, se crean reglas del equilibrador de carga llamadas dsLBrule_v4 y dsLBrule_v6, y se equilibra el tráfico del puerto TCP80 dirigido a las configuraciones de IP de front-end IPv4 e IPv6:

az network lb rule create \
--lb-name dsLB  \
--name dsLBrule_v4  \
--resource-group DsResourceGroup01  \
--frontend-ip-name dsLbFrontEnd_v4  \
--protocol Tcp  \
--frontend-port 80  \
--backend-port 80  \
--probe-name dsProbe \
--backend-pool-name dsLbBackEndPool_v4


az network lb rule create \
--lb-name dsLB  \
--name dsLBrule_v6  \
--resource-group DsResourceGroup01 \
--frontend-ip-name dsLbFrontEnd_v6  \
--protocol Tcp  \
--frontend-port 80 \
--backend-port 80  \
--probe-name dsProbe \
--backend-pool-name dsLbBackEndPool_v6

Crear recursos de red

Antes de implementar algunas máquinas virtuales, debe crear recursos de red compatibles: conjunto de disponibilidad, grupo de seguridad de red, red virtual y NIC virtuales.

Crear un conjunto de disponibilidad

Para mejorar la disponibilidad de la aplicación, coloque las máquinas virtuales en un conjunto de disponibilidad.

Cree el conjunto de disponibilidad con az vm availability-set create. En el ejemplo siguiente se crea un conjunto de disponibilidad denominado dsAVset:

az vm availability-set create \
--name dsAVset  \
--resource-group DsResourceGroup01  \
--location eastus \
--platform-fault-domain-count 2  \
--platform-update-domain-count 2  

Creación de un grupo de seguridad de red

Cree un grupo de seguridad de red para las reglas que rigen la comunicación entrante y saliente en la red virtual.

Crear un grupo de seguridad de red

Creación de un grupo de seguridad de red con az network nsg create

az network nsg create \
--name dsNSG1  \
--resource-group DsResourceGroup01  \
--location eastus

Creación de una regla de grupo de seguridad de red para conexiones entrantes y salientes

Cree una regla de grupo de seguridad de red para permitir las conexiones RDP a través del puerto 3389, la conexión a Internet a través del puerto 80 y las conexiones salientes con az network nsg rule create.

# Create inbound rule for port 3389
az network nsg rule create \
--name allowRdpIn  \
--nsg-name dsNSG1  \
--resource-group DsResourceGroup01  \
--priority 100  \
--description "Allow Remote Desktop In"  \
--access Allow  \
--protocol "*"  \
--direction Inbound  \
--source-address-prefixes "*"  \
--source-port-ranges "*"  \
--destination-address-prefixes "*"  \
--destination-port-ranges 3389

# Create inbound rule for port 80
az network nsg rule create \
--name allowHTTPIn  \
--nsg-name dsNSG1  \
--resource-group DsResourceGroup01  \
--priority 200  \
--description "Allow HTTP In"  \
--access Allow  \
--protocol "*"  \
--direction Inbound  \
--source-address-prefixes "*"  \
--source-port-ranges 80  \
--destination-address-prefixes "*"  \
--destination-port-ranges 80

# Create outbound rule

az network nsg rule create \
--name allowAllOut  \
--nsg-name dsNSG1  \
--resource-group DsResourceGroup01  \
--priority 300  \
--description "Allow All Out"  \
--access Allow  \
--protocol "*"  \
--direction Outbound  \
--source-address-prefixes "*"  \
--source-port-ranges "*"  \
--destination-address-prefixes "*"  \
--destination-port-ranges "*"

Creación de una red virtual

Cree la red virtual con el comando az network vnet create. En el ejemplo siguiente se crea una red virtual denominada dsVNET con subredes dsSubNET_v4 y dsSubNET_v6:

# Create the virtual network
az network vnet create \
--name dsVNET \
--resource-group DsResourceGroup01 \
--location eastus  \
--address-prefixes "10.0.0.0/16" "fd00:db8:deca::/48"

# Create a single dual stack subnet

az network vnet subnet create \
--name dsSubNET \
--resource-group DsResourceGroup01 \
--vnet-name dsVNET \
--address-prefixes "10.0.0.0/24" "fd00:db8:deca:deed::/64" \
--network-security-group dsNSG1

Creación de tarjetas NIC

Cree NIC virtuales para cada máquina virtual con az network nic create. En el ejemplo siguiente se crea una NIC virtual para cada máquina virtual. Cada NIC tiene dos configuraciones ip (1 configuración de IPv4, 1 configuración IPv6). Crea la configuración de IPv6 con az network nic ip-config create.

# Create NICs
az network nic create \
--name dsNIC0  \
--resource-group DsResourceGroup01 \
--network-security-group dsNSG1  \
--vnet-name dsVNET  \
--subnet dsSubNet  \
--private-ip-address-version IPv4 \
--lb-address-pools dsLbBackEndPool_v4  \
--lb-name dsLB  \
--public-ip-address dsVM0_remote_access

az network nic create \
--name dsNIC1 \
--resource-group DsResourceGroup01 \
--network-security-group dsNSG1 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv4 \
--lb-address-pools dsLbBackEndPool_v4 \
--lb-name dsLB \
--public-ip-address dsVM1_remote_access

# Create IPV6 configurations for each NIC

az network nic ip-config create \
--name dsIp6Config_NIC0  \
--nic-name dsNIC0  \
--resource-group DsResourceGroup01 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv6 \
--lb-address-pools dsLbBackEndPool_v6 \
--lb-name dsLB

az network nic ip-config create \
--name dsIp6Config_NIC1 \
--nic-name dsNIC1 \
--resource-group DsResourceGroup01 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv6 \
--lb-address-pools dsLbBackEndPool_v6 \
--lb-name dsLB

Creación de máquinas virtuales

Cree las máquinas virtuales con az vm create. En el ejemplo siguiente se crean dos máquinas virtuales y los componentes de red virtual necesarios si aún no existen.

Cree la máquina virtual dsVM0 de la siguiente manera:

 az vm create \
--name dsVM0 \
--resource-group DsResourceGroup01 \
--nics dsNIC0 \
--size Standard_A2 \
--availability-set dsAVset \
--image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest  

Cree la máquina virtual dsVM1 de la siguiente manera:

az vm create \
--name dsVM1 \
--resource-group DsResourceGroup01 \
--nics dsNIC1 \
--size Standard_A2 \
--availability-set dsAVset \
--image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest 

Visualización de la red virtual de doble pila IPv6 en Azure Portal

Para ver la red virtual de doble pila IPv6 en Azure Portal, siga estos pasos:

  1. En la barra de búsqueda del portal, escriba dsVnet.
  2. Cuando aparezca la opción myVirtualNetwork en los resultados de la búsqueda, selecciónela. De este modo, se abrirá la página de información general de la red virtual de doble pila llamada dsVnet. En la red virtual de doble pila, se muestran las dos NIC con las configuraciones IPv4 e IPv6 en una subred de pila doble denominada dsSubnet.

Limpieza de recursos

Cuando ya no se necesiten, puede usar el comando az group delete para quitar el grupo de recursos, la máquina virtual y todos los recursos relacionados.

 az group delete --name DsResourceGroup01

Pasos siguientes