931
La implementación de máquinas virtuales de Azure no está restringida a una sola región o grupo de recursos. Podría tener un servidor web en Australia, un servidor de aplicaciones en los EE. UU. y un servidor de códigos en algún lugar de Europa.
Cuando tiene una implementación dispersa como esta, debe asegurarse de que estos servidores puedan comunicarse entre sí a través de la red. Estas máquinas virtuales están conectadas a redes virtuales separadas en diferentes regiones o grupos de recursos.
¿Cómo haces que estas diferentes redes hablen entre sí? Puede configurar el emparejamiento de red virtual de Azure.
En este tutorial, aprenderemos a conectar redes virtuales de Azure mediante el emparejamiento de vNet de Azure. Y lo haremos todo usando PowerShell.
Requisitos
- Acceso a un arrendatario de Azure con permiso para crear recursos. Normalmente, un rol de Propietario en la suscripción de Azure debe cubrir los permisos necesarios.
- Instale el módulo Azure PowerShell en su computadora. Alternativamente, también puede ejecutar los comandos usando el Concha de nube azul. Cualquiera de las opciones debería funcionar igual.
Crear los recursos de Azure
En esta publicación, crearemos dos máquinas virtuales en diferentes regiones. Estos recursos nos permitirán demostrar de forma práctica el emparejamiento de Azure vNet.
A continuación se muestran los detalles de las dos máquinas virtuales que usaremos:
VM1 | VM2 | |
Nombre de máquina virtual | DC-VIRGINIA | DC-CALIFORNIA |
Grupo de recursos | RG_VIRGINIA | RG_CALIFORNIA |
Ubicación | Este de EE. UU. | Oeste de EE. UU. |
Red virtual y nombre | 10.0.0.0/16 (RG_VIRGINIA_VNet) | 10.1.0.0/16 (RG_CALIFORNIA_VNet) |
subred | 10.0.2.0/24 | 10.1.3.0/24 |
Dirección IP | 10.0.2.4 (DHCP) | 10.1.3.4 (DHCP) |
Nombre de usuario | vmadmin | vmadmin |
Contraseña | Busybody3-Calibre-No vencido | Busybody3-Calibre-No vencido |
Imagen del sistema operativo | centro de datos win2019 | centro de datos win2019 |
Tamaño de máquina virtual | Estándar_B2ms | Estándar_B2ms |
Implementar la primera máquina virtual
Utilizando la tabla de la sección anterior, implementemos la primera máquina virtual y todos sus recursos asociados.
Ejecute el siguiente comando para crear el grupo de recursos RG_VIRGINIA en la ubicación Este de EE. UU.
## Create the resource group named RG_VIRGINIA in East US. New-AzResourceGroup -Name 'RG_VIRGINIA' -Location 'East US'
A continuación, cree la subred y los recursos de red virtual.
## Create the Subnet $RG_VIRGINIA_Subnet = New-AzVirtualNetworkSubnetConfig ` -Name "RG_VIRGINIA_Subnet" ` -AddressPrefix '10.0.2.0/24' ## Create the Virtual Network New-AzVirtualNetwork ` -Name 'RG_VIRGINIA_VNet' ` -ResourceGroupName 'RG_VIRGINIA' ` -Location 'East US' ` -AddressPrefix '10.0.0.0/16' ` -Subnet $RG_VIRGINIA_Subnet
Finalmente, implemente la segunda máquina virtual como otro trabajo en segundo plano.
$vmCredential = [pscredential]::new('vmadmin', (ConvertTo-SecureString -String 'Busybody3-Caliber-Unexpired' -AsPlainText -Force)) New-AzVM -ResourceGroupName 'RG_CALIFORNIA' ` -Name 'DC-CALIFORNIA' ` -Location 'West US' ` -VirtualNetworkName 'RG_CALIFORNIA_VNet' ` -SubnetName 'RG_CALIFORNIA_Subnet' ` -AddressPrefix '10.1.3.0/24' ` -PublicIpAddressName 'DC-CALIFORNIA-IP' ` -OpenPorts 3389 ` -Image 'win2019datacenter' ` -Size 'Standard_B2ms' ` -Credential $vmCredential -AsJob
PowerShell crea un trabajo para la creación de VM.
Implementar la segunda máquina virtual
Mientras esperamos que finalice la implementación de la primera máquina virtual, implementemos la segunda máquina virtual con el mismo procedimiento.
Cree el grupo de recursos RG_CALIFORNIA en la ubicación Oeste de EE. UU.
## Create the resource group named RG_CALIFORNIA in West US. New-AzResourceGroup -Name RG_CALIFORNIA -Location 'West US'
A continuación, cree los recursos de subred (10.1.3.0/24) y red virtual (10.0.0.0/16).
## Create the Subnet $RG_CALIFORNIA_Subnet = New-AzVirtualNetworkSubnetConfig ` -Name "RG_CALIFORNIA_Subnet" ` -AddressPrefix '10.1.3.0/24' ## Create the Virtual Network New-AzVirtualNetwork ` -Name 'RG_CALIFORNIA_VNet' ` -ResourceGroupName 'RG_CALIFORNIA' ` -Location 'West US' ` -AddressPrefix '10.1.0.0/16' ` -Subnet $RG_CALIFORNIA_Subnet
Ahora, implemente la máquina virtual como trabajo en segundo plano.
$vmCredential = [pscredential]::new('vmadmin', (ConvertTo-SecureString -String 'Busybody3-Caliber-Unexpired' -AsPlainText -Force)) New-AzVM -ResourceGroupName 'RG_VIRGINIA' ` -Name 'DC-VIRGINIA' ` -Location 'East US' ` -VirtualNetworkName 'RG_VIRGINIA_VNet' ` -SubnetName 'RG_VIRGINIA_Subnet' ` -AddressPrefix '10.0.2.0/24' ` -PublicIpAddressName 'DC-VIRGINIA-IP' ` -OpenPorts 3389 ` -Image 'win2019datacenter' ` -Size 'Standard_B2ms' ` -Credential $vmCredential -AsJob
Verificar la implementación de la máquina virtual
Verifique el estado de los trabajos de PowerShell. El estado de ambos trabajos será Completado si la implementación se realiza correctamente.
Ahora, recupere las máquinas virtuales de Azure para confirmar que existen.
Inicie sesión en las nuevas máquinas virtuales de Azure
Ahora que los servidores están implementados, iniciemos sesión en las máquinas virtuales.
Primero, obtenga la dirección IP pública de cada VM.
(Get-AzPublicIpAddress -Name DC-VIRGINIA-IP).IpAddress (Get-AzPublicIpAddress -Name DC-CALIFORNIA-IP).IpAddress
Una vez que tenga la dirección IP pública de cada VM, abra su cliente RDP e inicie sesión en las VM.
Recordatorio. Utilice vmadmin y Busybody3-Calibre-Unexpired como nombre de usuario y contraseña.
Confirme el nombre de host y las direcciones IP de ambas máquinas virtuales.
$env:COMPUTERNAME Get-NetIPAddress -InterfaceAlias Ethernet -AddressFamily IPv4
Permitir ICMP (PING) en el Firewall de Windows
El siguiente paso garantiza que el firewall de Windows permita solicitudes ICMP (PING) en ambas computadoras. Si lo hace, le permitirá probar la comunicación de red entre los dos.
Ejecute estos comandos en PowerShell en ambas máquinas virtuales:
## Enable ICMP on Windows Firewall New-NetFirewallRule -DisplayName "Allow inbound ICMPv4" -Direction Inbound -Protocol ICMPv4 -IcmpType 8 -Action Allow New-NetFirewallRule -DisplayName "Allow inbound ICMPv6" -Direction Inbound -Protocol ICMPv6 -IcmpType 8 -Action Allow
En este punto, las solicitudes ICMP entre las dos máquinas virtuales fallarán incluso después de agregar la regla de firewall. El motivo es que aún no hemos configurado el emparejamiento de Azure vNet.
Configurar emparejamiento de red virtual de Azure
Por fin, estamos listos para crear el emparejamiento de Azure vNet entre las dos máquinas virtuales. Dado que hay dos redes virtuales, crearemos la configuración de emparejamiento de Azure vNet para ambas.
Primero, almacenemos cada red virtual en una variable. Para hacerlo, ejecute los siguientes comandos en su sesión de Azure PowerShell.
$vnet1 = Get-AzVirtualNetwork -Name 'RG_VIRGINIA_VNet' $vnet2 = Get-AzVirtualNetwork -Name 'RG_CALIFORNIA_VNet'
Ahora, cree la configuración de emparejamiento de red virtual de Azure (RG_VIRGINIA_VNet-to-RG_CALIFORNIA_VNet) en RG_VIRGINIA_VNet. La red virtual remota es RG_CALIFORNIA_VNet.
## VIRGINIA to CALIFORNIA Add-AzVirtualNetworkPeering ` -Name 'RG_VIRGINIA_VNet-to-RG_CALIFORNIA_VNet' ` -VirtualNetwork $vnet1 ` -RemoteVirtualNetworkId $vnet2.Id
A continuación, cree el emparejamiento de red virtual RG_CALIFORNIA_VNet-to-RG_VIRGINIA_VNet.
## CALIFORNIA to VIRGINIA Add-AzVirtualNetworkPeering ` -Name 'RG_CALIFORNIA_VNet-to-RG_VIRGINIA_VNet' ` -VirtualNetwork $vnet2 ` -RemoteVirtualNetworkId $vnet1.Id
Confirme si ambos pares de redes virtuales de Azure están sincronizados y conectados.
Get-AzVirtualNetworkPeering ` -VirtualNetworkName RG_VIRGINIA_VNet ` -ResourceGroupName RG_VIRGINIA | ` Select-Object ` Name, PeeringSyncLevel, PeeringState Get-AzVirtualNetworkPeering ` -VirtualNetworkName RG_CALIFORNIA_VNet ` -ResourceGroupName RG_CALIFORNIA | ` Select-Object ` Name, PeeringSyncLevel, PeeringState
Como puede ver, ambos emparejamientos de vNet de Azure están conectados, lo que indica que se ha realizado correctamente.
Vuelva a cada VM y pruebe la conectividad de la red nuevamente con PING. Como puede ver, los ejemplos a continuación muestran que las dos redes virtuales ahora están conectadas.
Conclusión
La función de emparejamiento de redes virtuales de Azure hace que la conexión de diferentes redes virtuales en regiones o grupos de recursos separados sea lo más fácil posible. Poder realizar la configuración desde PowerShell es una gran ventaja, especialmente cuando forma parte de un escenario de implementación más grande donde la automatización es imprescindible.