Ejercicio: Creación de una instancia de VPN Gateway de sitio a sitio mediante comandos de la CLI de Azure

Completado

Ahora ya puede completar la instancia de VPN Gateway de sitio a sitio creando las direcciones IP públicas, las puertas de enlace de red virtual y las conexiones. Recuerde que al crear las puertas de enlace de red local se han usado referencias ficticias de la dirección IP pública. Por tanto, una de las tareas que tiene ahora es actualizar estas puertas de enlace con las direcciones IP públicas reales asignadas a las puertas de enlace de red virtual.

Idealmente, las IP públicas y las puertas de enlace de red virtual se deben crear antes que las puertas de enlace de red local. En este ejercicio, descubrirá cómo actualizar las puertas de enlace de red local. Puede usar los mismos comandos para actualizar cualquier elemento de configuración de las puertas de enlace de red local, tales como los espacios de direcciones de red remota.

Creación de la instancia de VPN Gateway de Azure

En primer lugar, cree la instancia de VPN Gateway para el final de la conexión de Azure. El proceso de creación de una puerta de enlace de red virtual puede tardar hasta 45 minutos. Para ahorrar tiempo, use los comandos de la CLI de Azure con el parámetro --no-wait. Este parámetro permite crear ambas puertas de enlace de red virtual al mismo tiempo con el fin de minimizar el tiempo total necesario para crear estos recursos.

  1. Ejecute el siguiente comando en Cloud Shell para crear la IP pública PIP-VNG-Azure-VNet-1.

    az network public-ip create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name PIP-VNG-Azure-VNet-1 \
        --allocation-method Static
    
  2. Ejecute el siguiente comando en Cloud Shell para crear la red virtual VNG-Azure-VNet-1.

    az network vnet create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name VNG-Azure-VNet-1 \
        --subnet-name GatewaySubnet 
    
  3. Ejecute el siguiente comando en Cloud Shell para crear la puerta de enlace de red virtual VNG-Azure-VNet-1.

    az network vnet-gateway create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name VNG-Azure-VNet-1 \
        --public-ip-addresses PIP-VNG-Azure-VNet-1 \
        --vnet VNG-Azure-VNet-1 \
        --gateway-type Vpn \
        --vpn-type RouteBased \
        --sku VpnGw1 \
        --no-wait
    

Creación de la instancia de VPN Gateway local

Después, cree una instancia de VPN Gateway para simular un dispositivo VPN local.

  1. Ejecute el siguiente comando en Cloud Shell para crear la dirección IP pública PIP-VNG-HQ-Network.

    az network public-ip create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name PIP-VNG-HQ-Network \
        --allocation-method Static
    
  2. Ejecute el siguiente comando en Cloud Shell para crear la red virtual VNG-HQ-Network.

    az network vnet create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name VNG-HQ-Network \
        --subnet-name GatewaySubnet 
    
  3. Ejecute el siguiente comando en Cloud Shell para crear la puerta de enlace de red virtual VNG-HQ-Network.

    az network vnet-gateway create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name VNG-HQ-Network \
        --public-ip-addresses PIP-VNG-HQ-Network \
        --vnet VNG-HQ-Network \
        --gateway-type Vpn \
        --vpn-type RouteBased \
        --sku VpnGw1 \
        --no-wait
    
  4. La creación de la puerta de enlace tarda aproximadamente 30 minutos o más en completarse. Para supervisar el progreso de la creación de la puerta de enlace, ejecute el comando siguiente. Utilizamos el comando watch de Linux para ejecutar el comando az network vnet-gateway list periódicamente, lo que permite supervisar el progreso.

    watch -d -n 5 az network vnet-gateway list \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --output table
    
  5. Cuando cada instancia de VPN Gateway muestre Correcto en ProvisioningState, podrá continuar. Presione Ctrl+C para detener el comando una vez creada la puerta de enlace.

    ActiveActive    EnableBgp    EnablePrivateIpAddress   GatewayType    Location        Name              ProvisioningState    ResourceGroup                         ResourceGuid                          VpnType
    --------------  -----------  ------------------------ -------------  --------------  ----------------  -------------------  -----------------------------  ------------------------------------  ----------
    False           False        False                    Vpn            southcentralus  VNG-Azure-VNet-1  Succeeded            <rgn>[sandbox resource group name]</rgn>  48dc714e-a700-42ad-810f-a8163ee8e001  RouteBased
    False           False        False                    Vpn            southcentralus  VNG-HQ-Network    Succeeded            <rgn>[sandbox resource group name]</rgn>  49b3041d-e878-40d9-a135-58e0ecb7e48b  RouteBased
    

Actualización de las referencias de la dirección IP de la puerta de enlace de red local

Importante

Las puertas de enlace de red virtual se deben implementar correctamente antes de empezar el ejercicio siguiente. Una puerta de enlace puede tardar hasta 30 minutos o más en completarse. Si en ProvisioningState todavía no se muestra "Succeeded" (Correcto), tendrá que esperar.

En esta sección, se actualizan las referencias remotas de dirección IP de puerta de enlace definidas en las puertas de enlace de red local. No podrá actualizar las puertas de enlace de red local hasta que haya creado las instancias de VPN Gateway y se haya asignado y asociado a ellas una dirección IPv4.

  1. Use el siguiente comando de la CLI de Azure para comprobar si se han creado ambas puertas de enlace de red virtual. El estado inicial muestra Actualizando. Quiere ver Succeeded (Correcto) en VNG-Azure-VNet-1 y VNG-HQ-Network.

    az network vnet-gateway list \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --output table
    
    Name              Location    GatewayType    VpnType     VpnGatewayGeneration    EnableBgp    EnablePrivateIpAddress    Active    ResourceGuid                        ProvisioningState    ResourceGroup
    ----------------  ----------  -------------  ----------  ----------------------  -----------  ------------------------  --------  ------------------------------------  -------------------  ------------------------------------------
    VNG-Azure-VNet-1  westus      Vpn            RouteBased  Generation1         False        False                     False     9a2e60e6-da57-4274-99fd-e1f8b2c0326d  Succeeded            learn-cfbcca66-16fd-423e-b688-66f242d8f09e
    VNG-HQ-Network    westus      Vpn            RouteBased  Generation1         False        False                     False     c36430ed-e6c0-4230-ae40-cf937a102bcd  Succeeded            learn-cfbcca66-16fd-423e-b688-66f242d8f09e
    

    Recuerde esperar hasta que se devuelvan correctamente las listas de puertas de enlace. Recuerde también que los recursos de puerta de enlace de red local definen los valores de la puerta de enlace y la red remotas con su nombre. Por ejemplo, la puerta de enlace de red local LNG-Azure-VNet-1 contiene información como la dirección IP y las redes para Azure-VNet-1.

  2. Ejecute el siguiente comando en Cloud Shell para recuperar la dirección IPv4 asignada a PIP-VNG-Azure-VNet-1 y almacénela en una variable.

    PIPVNGAZUREVNET1=$(az network public-ip show \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name PIP-VNG-Azure-VNet-1 \
        --query "[ipAddress]" \
        --output tsv)
    
  3. Ejecute el siguiente comando en Cloud Shell para actualizar la puerta de enlace de red local LNG-Azure-VNet-1, para que apunte a la dirección IP pública asociada a la puerta de enlace de red virtual VNG-Azure-VNet-1.

    az network local-gateway update \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name LNG-Azure-VNet-1 \
        --gateway-ip-address $PIPVNGAZUREVNET1
    
  4. Ejecute el siguiente comando en Cloud Shell para recuperar la dirección IPv4 asignada a PIP-VNG-HQ-Network y almacénela en una variable.

    PIPVNGHQNETWORK=$(az network public-ip show \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name PIP-VNG-HQ-Network \
        --query "[ipAddress]" \
        --output tsv)
    
  5. Ejecute el siguiente comando en Cloud Shell para actualizar la puerta de enlace de red local LNG-HQ-Network, para que apunte a la dirección IP pública asociada a la puerta de enlace de red virtual VNG-HQ-Network.

    az network local-gateway update \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name LNG-HQ-Network \
        --gateway-ip-address $PIPVNGHQNETWORK
    

Creación de las conexiones

Para completar la configuración mediante la creación de las conexiones de cada instancia de VPN Gateway a la puerta de enlace de red local que contiene las referencias de direcciones IP públicas de esa red remota de la puerta de enlace.

  1. Cree la clave compartida que se usará para las conexiones. En el siguiente comando, reemplace <shared key> por una cadena de texto que se usará para la clave IPSec previamente compartida. La clave previamente compartida es una cadena de caracteres ASCII imprimibles que tiene un máximo de 128 caracteres de longitud. No puede contener caracteres especiales, como guiones y tildes. Esta clave previamente compartida se usa en ambas conexiones.

    Nota:

    En este ejemplo, cualquier conjunto de números funcionará para una clave compartida: SHAREDKEY=123456789. En entornos de producción, se recomienda usar una cadena de caracteres ASCII imprimibles que no contenga más de 128 caracteres y que no contenga caracteres especiales, como guiones o tildes.

    SHAREDKEY=<shared key>
    
  2. Recuerde que LNG-HQ-Network contiene una referencia a la dirección IP del dispositivo VPN local simulado. Ejecute el siguiente comando en Cloud Shell para crear una conexión de VNG-Azure-VNet-1 a LNG-HQ-Network.

    az network vpn-connection create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name Azure-VNet-1-To-HQ-Network \
        --vnet-gateway1 VNG-Azure-VNet-1 \
        --shared-key $SHAREDKEY \
        --local-gateway2 LNG-HQ-Network
    
  3. Recuerde que LNG-Azure-VNet-1 contiene una referencia a la dirección IP pública asociada con la instancia de VPN Gateway VNG-Azure-VNet-1. Esta conexión normalmente se crea desde el dispositivo local. Ejecute el siguiente comando en Cloud Shell para crear una conexión de VNG-HQ-Network a LNG-Azure-VNet-1.

    az network vpn-connection create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name HQ-Network-To-Azure-VNet-1  \
        --vnet-gateway1 VNG-HQ-Network \
        --shared-key $SHAREDKEY \
        --local-gateway2 LNG-Azure-VNet-1
    

Ya ha finalizado la configuración de la conexión de sitio a sitio. Es posible que tras unos minutos los túneles se conecten y se activen automáticamente.

Pasos de comprobación

Vamos a confirmar que los túneles VPN están conectados.

  1. Ejecute el siguiente comando para confirmar que Azure-VNet-1-To-HQ-Network está conectado.

    az network vpn-connection show \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name Azure-VNet-1-To-HQ-Network  \
        --output table \
        --query '{Name:name,ConnectionStatus:connectionStatus}'
    

    Debería ver un resultado como el siguiente, que indica que la conexión se ha realizado correctamente. Si ConnectionStatus se muestra como Connecting o Unknown, espere uno o dos minutos y vuelva a ejecutar el comando. Las conexiones pueden tardar unos minutos en conectarse por completo.

    Name                        ConnectionStatus
    --------------------------  ------------------
    Azure-VNet-1-To-HQ-Network  Connected
    

Esta acción completa la configuración de sitio a sitio. La topología final, incluidas las subredes y las conexiones, con puntos de conexión lógicos, aparece en el diagrama siguiente. Las máquinas virtuales implementadas en las subredes Servicios y Aplicaciones ya pueden comunicarse entre sí, ahora que las conexiones VPN se han establecido correctamente.

Diagram of resources deployed during unit 4 exercise.