Asociar una dirección IP pública a una máquina virtual

En este artículo, obtendrá información sobre cómo asociar una dirección IP pública a una máquina virtual (VM) existente. Para ello, asocie la dirección IP pública a una configuración de IP de una interfaz de red conectada a una VM. Puede usar Azure Portal, la CLI de Azure o Azure PowerShell.

Si, en cambio, quiere crear una nueva VM con una dirección IP pública, puede usar Azure Portal, la CLI de Azure o Azure PowerShell.

Las direcciones IP públicas tienen un precio simbólico. Para obtener información detallada, consulte Precios. Existe un límite para el número de direcciones IP públicas que puede usar por suscripción. Para obtener información detallada, consulte Límites.

Nota

Azure proporciona una dirección IP de acceso de salida predeterminado para las máquinas virtuales que no tienen asignada una dirección IP pública o que se encuentran en el grupo de back-end de una instancia de Azure Load Balancer del nivel Básico interna. El mecanismo de dirección IP de acceso de salida predeterminado proporciona una dirección IP de salida que no se puede configurar.

La IP de acceso de salida predeterminada está deshabilitada cuando se asigna una IP pública a la máquina virtual, la máquina virtual se coloca en el grupo de back-end de un equilibrador de carga estándar (con o sin reglas de salida) o si se asigna un recurso de puerta de enlace de Azure Virtual Network NAT a la subred de la máquina virtual.

Las máquinas virtuales creadas por conjuntos de escalado de máquinas virtuales en modo de orquestación flexible no tienen acceso de salida predeterminado.

Para obtener más información sobre las conexiones de salida en Azure, vea Acceso de salida predeterminado y Uso de traducción de direcciones de red (SNAT) de origen para conexiones de salida.

Prerrequisitos

Portal de Azure

  1. Inicie sesión en Azure Portal.

  2. En el portal, busque y seleccione la máquina virtual a la que desea agregar la dirección IP pública.

  3. En Configuración en el panel izquierdo, seleccione Redes y, a continuación, seleccione la interfaz de red a la que quiere agregar la dirección IP pública.

    Captura de pantalla en la que se muestra cómo seleccionar la interfaz de red de una máquina virtual.

    Nota

    Las direcciones IP públicas están asociadas a las interfaces de red conectadas a una VM. En esta captura de pantalla, la máquina virtual solo tiene una interfaz de red. Si la VM tiene varias interfaces de red, aparecerán todas y deberá seleccionar la interfaz de red a la que quiere asociar la dirección IP pública.

  4. En la ventana Interfaz de red, en Configuración, seleccione Configuraciones de IP* y, a continuación, seleccione una configuración de IP en la lista.

    Captura de pantalla en la que se muestra cómo seleccionar la configuración de IP de una interfaz de red.

    Nota:

    Las direcciones IP públicas están asociadas a las configuraciones de IP para una interfaz de red. En esta captura de pantalla, la interfaz de red solo tiene una configuración IP. Si la interfaz de red tiene varias configuraciones de IP, aparecerán todas en la lista y deberá seleccionar la configuración de IP a la que quiere asociar la dirección IP pública.

  5. Seleccione Asociar y, a continuación, seleccione Dirección IP pública para elegir una IP pública de la lista desplegable. Si no aparece ninguna dirección IP pública en la lista, debe crear una. Para obtener información, consulte Crear una dirección IP pública.

    Captura de pantalla en la que se muestra cómo seleccionar y asociar una IP pública existente.

  6. Seleccione Guardar y cierre la ventana de configuración de IP.

    Captura de pantalla en la que se muestra la IP pública seleccionada.

    Nota:

    Las direcciones IP públicas que aparecen en la lista desplegable son aquellas que existen en la misma región que la VM. Si tiene varias direcciones IP públicas creadas en la región, aparecerán todas aquí. Cualquier dirección que ya esté asociada a un recurso diferente está atenuada.

  7. En la ventana Interfaz de red, vea la dirección IP pública asignada a la configuración de IP. Puede tardar unos segundos en aparecer la dirección IP recién asociada.

    Captura de pantalla en la que se muestra la IP pública recién asignada.

    Nota:

    Se asigna una dirección IP desde el grupo de direcciones IP públicas reservadas para una región de Azure. Para ver una lista de los grupos de direcciones que se usan en cada región, vea Intervalos IP y etiquetas de servicio de Azure. Si necesita que la dirección se asigne desde un prefijo específico, use un prefijo de dirección IP pública.

  8. Abra los puertos necesarios en los grupos de seguridad ajustando las reglas de seguridad de los grupos de seguridad de red. Para más información, consulte Permitir el tráfico de red a la máquina virtual.

Azure CLI

Instale la CLI de Azure en su máquina o use Azure Cloud Shell. Cloud Shell es un shell de Bash gratuito que puede ejecutarse directamente en Azure Portal. Tiene la CLI de Azure preinstalada y configurada para utilizarla con la cuenta de Azure. Seleccione el botón Abrir CloudShell en los ejemplos de código de la CLI de Azure siguientes. Al seleccionar Abrir CloudShell, Cloud Shell se carga en el explorador y le pide que inicie sesión en su cuenta de Azure.

  1. Si usa la CLI de Azure localmente en Bash, inicie sesión en Azure con az login.

  2. Use el comando az network nic ip-config update para asociar una IP pública a una configuración de IP. En el ejemplo siguiente se asocia una dirección IP pública existente denominada myPublicIP a una configuración de IP denominada ipconfig1. Esta configuración de IP pertenece a una interfaz de red existente denominada myVMNic en un grupo de recursos denominado myResourceGroup.

    az network nic ip-config update \
      --name ipconfig1 \
      --nic-name myVMNic \
      --resource-group myResourceGroup \
      --public-ip-address myPublicIP
    
  3. Si no tiene una dirección IP pública existente, use el comando az network public-ip create para crear una. Por ejemplo, el comando siguiente crea una IP pública denominada myPublicIP en el grupo de recursos denominado myResourceGroup.

    az network public-ip create --name myPublicIP --resource-group myResourceGroup
    

    Nota:

    Este comando crea una dirección IP pública con valores predeterminados para varias configuraciones que es posible que quiera personalizar. Para más información sobre la configuración de las direcciones IP públicas, consulte Crear una dirección IP pública. Se asigna una dirección IP desde el grupo de direcciones IP públicas reservadas para una región de Azure. Para ver una lista de los grupos de direcciones que se usan en cada región, vea Intervalos IP y etiquetas de servicio de Azure. Si necesita que la dirección se asigne desde un prefijo específico, use un prefijo de dirección IP pública.

  4. Si no conoce los nombres de las interfaces de red asociadas a la máquina virtual, use el comando az vm nic list para verla. Por ejemplo, el comando siguiente enumera las interfaces de red conectadas a una VM denominada myVM en un grupo de recursos denominado myResourceGroup:

    az vm nic list --vm-name myVM --resource-group myResourceGroup
    

    La salida incluye una o varias líneas similares al ejemplo siguiente, donde myVMNic es el nombre de la interfaz de red:

    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myVMNic",
    
  5. Si no conoce los nombres de la configuración de IP de una interfaz de red, use el comando az network nic ip-config list para recuperarla. Por ejemplo, el comando siguiente enumera los nombres de las configuraciones de IP para una interfaz de red denominada myVMNic en un grupo de recursos llamado myResourceGroup:

    az network nic ip-config list --nic-name myVMNic --resource-group myResourceGroup --out table
    
  6. Vea la dirección IP pública asignada a la configuración de IP con el comando az vm list-ip-addresses. En el ejemplo siguiente se muestran las direcciones IP asignadas a una VM existente denominada myVM en un grupo de recursos denominado myResourceGroup.

    az vm list-ip-addresses --name myVM --resource-group myResourceGroup --out table
    

    Nota:

    Se asigna una dirección IP desde el grupo de direcciones IP públicas reservadas para una región de Azure. Para ver una lista de los grupos de direcciones que se usan en cada región, vea Intervalos IP y etiquetas de servicio de Azure. Si necesita que la dirección se asigne desde un prefijo específico, use un prefijo de dirección IP pública.

  7. Abra los puertos necesarios en los grupos de seguridad ajustando las reglas de seguridad de los grupos de seguridad de red. Para más información, consulte Permitir el tráfico de red a la máquina virtual.

Azure PowerShell

Instale Azure PowerShell en la máquina o use Cloud Shell. Cloud Shell es un shell de Bash gratuito que puede ejecutarse directamente en Azure Portal. Tiene Azure PowerShell preinstalado y configurad para usarlo con su cuenta de Azure. Seleccione el botón Abrir CloudShell en los ejemplos de código de Azure PowerShell siguientes. Al seleccionar Abrir CloudShell, Cloud Shell se carga en el explorador y le pide que inicie sesión en su cuenta de Azure.

  1. Si usa Azure PowerShell localmente, inicie sesión en Azure con Connect-AzAccount.

  2. Use el comando Get-AzVirtualNetwork para recuperar las redes virtuales de un grupo de recursos. A continuación, use el comando Get-AzVirtualNetworkSubnetConfig para recuperar las configuraciones de subred en una red virtual.

  3. Use el comando Get-AzNetworkInterface para recuperar las interfaces de red de un grupo de recursos. A continuación, use el comando Get-AzPublicIpAddress para recuperar las direcciones IP públicas existentes en un grupo de recursos.

  4. Use el comando Set-AzNetworkInterfaceIpConfig para asociar la dirección IP pública a la configuración de IP. A continuación, use el comando Set-AzNetworkInterface para escribir la nueva configuración de la IP en la interfaz de red.

    En el ejemplo siguiente se asocia una dirección IP pública existente denominada myPublicIP a una configuración de IP denominada ipconfig1. Esta configuración de IP pertenece a una interfaz de red existente denominada myVMNic que existe en una subred denominada mySubnet en una red virtual denominada myVNet. Todos los recursos están en un grupo de recursos denominado myResourceGroup.

    $vnet = Get-AzVirtualNetwork -Name myVNet -ResourceGroupName myResourceGroup
    $subnet = Get-AzVirtualNetworkSubnetConfig -Name mySubnet -VirtualNetwork $vnet
    $nic = Get-AzNetworkInterface -Name myVMNic -ResourceGroupName myResourceGroup
    $pip = Get-AzPublicIpAddress -Name myPublicIP -ResourceGroupName myResourceGroup
    $nic | Set-AzNetworkInterfaceIpConfig -Name ipconfig1 -PublicIPAddress $pip -Subnet $subnet
    $nic | Set-AzNetworkInterface
    
  5. Si no tiene una dirección IP pública existente, use el comando New-AzPublicIpAddress para crear una. Por ejemplo, el comando siguiente crea una dirección IP pública dinámica denominada myPublicIP en el grupo de recursos denominado myResourceGroup en la región eastus.

    New-AzPublicIpAddress -Name myPublicIP -ResourceGroupName myResourceGroup -AllocationMethod Dynamic -Location eastus
    

    Nota

    Este comando crea una dirección IP pública con valores predeterminados para varias configuraciones que es posible que quiera personalizar. Para más información sobre la configuración de las direcciones IP públicas, consulte Crear una dirección IP pública. Se asigna una dirección IP desde el grupo de direcciones IP públicas reservadas para una región de Azure. Para ver una lista de los grupos de direcciones que se usan en cada región, vea Intervalos IP y etiquetas de servicio de Azure. Si necesita que la dirección se asigne desde un prefijo específico, use un prefijo de dirección IP pública.

  6. Si no quiere saber los nombres y las propiedades de las interfaces de red asociadas a la máquina virtual, use el comando Get-AzVM para verlas. Por ejemplo, el comando siguiente enumera las interfaces de red conectadas a una VM denominada myVM en un grupo de recursos denominado myResourceGroup:

    $vm = Get-AzVM -name myVM -ResourceGroupName myResourceGroup
    $vm.NetworkProfile
    

    La salida incluye una o varias líneas que son similares al ejemplo siguiente. En la salida de ejemplo, myVMNic es el nombre de la interfaz de red.

    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myVMNic",
    
  7. Para recuperar los nombres de las redes virtuales o subredes en las que se encuentra una interfaz de red, use el comando Get-AzNetworkInterface. Por ejemplo, el comando siguiente obtiene la información de la red virtual y la subred para una interfaz de red denominada myVMNic en un grupo de recursos denominado myResourceGroup:

    $nic = Get-AzNetworkInterface -Name myVMNic -ResourceGroupName myResourceGroup
    $ipConfigs = $nic.IpConfigurations
    $ipConfigs.Subnet | Select Id
    

    La salida incluye una o varias líneas que son similares al ejemplo siguiente. En la salida de ejemplo, myVNet es el nombre de la red virtual y mySubnet el nombre de la subred.

    "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet",
    
  8. Para recuperar los nombres de las configuraciones de IP de una interfaz de red, use el comando Get-AzNetworkInterface. Por ejemplo, el comando siguiente enumera los nombres de las configuraciones de IP para una interfaz de red denominada myVMNic en un grupo de recursos llamado myResourceGroup:

    $nic = Get-AzNetworkInterface -Name myVMNic -ResourceGroupName myResourceGroup
    $nic.IPConfigurations
    

    La salida incluye una o varias líneas que son similares al ejemplo siguiente. En la salida del ejemplo, ipconfig1 es el nombre de una configuración de IP.

    Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myVMNic/ipConfigurations/ipconfig1
    
  9. Vea la dirección IP pública asignada a la configuración de IP con el comando Get-AzPublicIpAddress. En el ejemplo siguiente se recuperan las direcciones asignadas a una IP pública denominada myPublicIP en el grupo de recursos denominado myResourceGroup.

    Get-AzPublicIpAddress -Name myPublicIP -ResourceGroupName myResourceGroup | Select IpAddress
    
  10. Para obtener una lista de las direcciones IP públicas asignadas a una configuración de IP, ejecute los siguientes comandos:

    $nic = Get-AzNetworkInterface -Name myVMNic -ResourceGroupName myResourceGroup
    $nic.IPConfigurations
    $address = $nic.IPConfigurations.PublicIpAddress
    $address | Select Id
    

    La salida incluye una o varias líneas que son similares al ejemplo siguiente. En la salida del ejemplo, myPublicIP es el nombre de la IP pública asignada a la configuración de IP.

    "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myPublicIP"
    

    Nota:

    Se asigna una dirección IP desde el grupo de direcciones IP públicas reservadas para una región de Azure. Para ver una lista de los grupos de direcciones que se usan en cada región, vea Intervalos IP y etiquetas de servicio de Azure. Si necesita que la dirección se asigne desde un prefijo específico, use un prefijo de dirección IP pública.

  11. Abra los puertos necesarios en los grupos de seguridad ajustando las reglas de seguridad de los grupos de seguridad de red. Para más información, consulte Permitir el tráfico de red a la máquina virtual.

Permitir tráfico de red en la VM

Para poder conectarse a una dirección IP pública desde Internet, debe abrir los puertos necesarios en los grupos de seguridad. Estos puertos deben estar abiertos en cualquier grupo de seguridad de red que pueda haber asociado a la interfaz de red, la subred de la interfaz de red o ambas. Aunque los grupo de seguridad de red filtran el tráfico en la dirección IP privada de la interfaz de red, una vez que el tráfico entrante llega a la dirección IP pública, Azure traduce la dirección pública a la dirección IP privada. Por lo tanto, si un grupo de seguridad de red impide el flujo de tráfico, se produce un error en la comunicación con la dirección IP pública.

Puede ver las reglas de seguridad vigentes para una interfaz de red y su subred para Azure Portal, la CLI de Azure o Azure PowerShell.

Pasos siguientes

En este artículo, ha descubierto cómo asociar una IP pública a una máquina virtual mediante Azure Portal, la CLI de Azure o Azure PowerShell.