Implementación de Bastion mediante Azure PowerShell

En este artículo obtendrá información sobre cómo implementar Azure Bastion con la SKU estándar a través de PowerShell. Azure Bastion es un servicio PaaS que se mantiene automáticamente, no se trata de un host bastión que se instala en las VM y requiere mantenimiento aparte. La implementación de Azure Bastion se realiza por red virtual, no por suscripción o cuenta, ni por máquina virtual. Para más información sobre Azure Bastion, consulte ¿Qué es Azure Bastion?

Una vez que implemente Bastion en la red virtual, puede conectarse a las VM a través de una dirección IP privada. Esta experiencia simple de RDP/SSH está disponible para todas las VM en la misma red virtual. Si la máquina virtual dispone de una IP pública que ya no necesita, puede quitarla.

Diagram showing Azure Bastion architecture.

En este artículo, creará una red virtual (si aún no tiene una), implementará Azure Bastion mediante PowerShell y se conectará a una máquina virtual. También puede implementar Bastion mediante los métodos siguientes:

Nota

Se admite el uso de Azure Bastion con zonas DNS privadas de Azure. Sin embargo, hay algunas restricciones. Para más información, consulte las preguntas frecuentes sobre Azure Bastion.

Antes de comenzar

Compruebe que tiene una suscripción a Azure. Si todavía no la tiene, puede activar sus ventajas como suscriptor de MSDN o registrarse para obtener una cuenta gratuita.

PowerShell

En este artículo se usan cmdlets de PowerShell. Para ejecutar los cmdlets, puede usar Azure Cloud Shell. Cloud Shell es un servicio de shell interactivo gratuito que se puede usar para ejecutar los pasos de este artículo. Tiene las herramientas comunes de Azure preinstaladas y configuradas para usarlas en la cuenta.

Para abrir Cloud Shell, seleccione Abrir Cloud Shell en la esquina superior derecha de un bloque de código. También puede abrir Cloud Shell en una pestaña independiente desde https://shell.azure.com/powershell. Seleccione Copiar para copiar los bloques de código, péguelos en Cloud Shell y, a continuación, seleccione la tecla Entrar para ejecutarlos.

También puede instalar y ejecutar los cmdlets de Azure PowerShell localmente en el equipo. Los cmdlets de PowerShell se actualizan con frecuencia. Si no ha instalado la última versión, los valores especificados en las instrucciones pueden dar lugar a errores. Para buscar las versiones de Azure PowerShell instaladas en el equipo, use el cmdlet Get-Module -ListAvailable Az. Para instalar la actualización, vea Instalación del módulo de Azure PowerShell.

Valores de ejemplo

Puede usar los siguientes valores de ejemplo al crear esta configuración, o puede sustituirlos por los propios.

** Valores de red virtual y de máquina virtual de ejemplo:**

Nombre Valor
Máquina virtual TestVM
Resource group TestRG1
Region Este de EE. UU.
Virtual network VNet1
Espacio de direcciones 10.1.0.0/16
Subredes FrontEnd: 10.1.0.0/24

Valores de Azure Bastion:

Nombre Valor
Nombre VNet1-bastion
Nombre de subred FrontEnd
Nombre de subred AzureBastionSubnet
Direcciones de AzureBastionSubnet Una subred dentro del espacio de direcciones de la red virtual con una máscara de subred /26 o superior.
Por ejemplo, 10.1.1.0/26.
Nivel o SKU Estándar
Dirección IP pública Crear nuevo
Nombre de la dirección IP pública VNet1-ip
SKU de la dirección IP pública Estándar
Cesión estática

Implementación de Bastion

Esta sección le ayudará a crear una red virtual y subredes, además de implementar Azure Bastion mediante Azure PowerShell.

Importante

Los precios por hora comienzan desde el momento en que se implementa Bastion, independientemente del uso de datos salientes. Para más información, consulte Precios y SKU. Si va a implementar Bastion como parte de un tutorial o prueba, se recomienda eliminar este recurso una vez que haya terminado de usarlo.

  1. Cree un grupo de recursos, una red virtual y una subred de front-end en la que implementará las máquinas virtuales a las que se conectará a través de Bastion. Si ejecuta PowerShell de manera local, abra la consola de PowerShell con privilegios elevados y conéctese a Azure con el comando Connect-AzAccount.

    New-AzResourceGroup -Name TestRG1 -Location EastUS ` 
    $frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name FrontEnd `
    -AddressPrefix "10.1.0.0/24" ` 
    $virtualNetwork = New-AzVirtualNetwork `
    -Name TestVNet1 -ResourceGroupName TestRG1 `
    -Location EastUS -AddressPrefix "10.1.0.0/16" `
    -Subnet $frontendSubnet ` 
    $virtualNetwork | Set-AzVirtualNetwork
    
  2. Configure y establezca la subred de Azure Bastion en la red virtual. Esta subred se reservará exclusivamente para los recursos de Azure Bastion. Debe crear esta subred con el valor de nombre AzureBastionSubnet. Este valor permite a Azure saber en qué subred se deben implementar los recursos de Bastion. El ejemplo en la sección siguiente también le ayudará a agregar una subred de Azure Bastion a una red virtual existente.

    Establezca la variable.

    $vnet = Get-AzVirtualNetwork -Name "TestVNet1" -ResourceGroupName "TestRG1"
    

    Agregue la subred.

    Add-AzVirtualNetworkSubnetConfig `
    -Name "AzureBastionSubnet" -VirtualNetwork $vnet `
    -AddressPrefix "10.1.1.0/26" | Set-AzVirtualNetwork
    
  3. Cree una dirección IP pública para Azure Bastion. La IP pública es la dirección del recurso de Bastion mediante la que se accederá a RDP/SSH (a través del puerto 443). La dirección debe estar en la misma región que el recurso de Bastion que está creando.

    $publicip = New-AzPublicIpAddress -ResourceGroupName "TestRG1" `
    -name "VNet1-ip" -location "EastUS" `
    -AllocationMethod Static -Sku Standard
    
  4. Cree un nuevo recurso de Azure Bastion en la subred AzureBastionSubnet con el comando New-AzBastion. En el ejemplo siguiente, se usa la SKU básica. Sin embargo, también puede implementar Bastion mediante la SKU estándar cambiando el valor -Sku a "Standard". La SKU estándar le permite configurar más características de Bastion y conectarse a VM mediante más tipos de conexión. También puede implementar Bastion automáticamente mediante la SKU para desarrolladores. Para obtener más información, consulte las SKU de Bastion.

    New-AzBastion -ResourceGroupName "TestRG1" -Name "VNet1-bastion" `
    -PublicIpAddressRgName "TestRG1" -PublicIpAddressName "VNet1-ip" `
    -VirtualNetworkRgName "TestRG1" -VirtualNetworkName "TestVNet1" `
    -Sku "Basic"
    
  5. Los recursos de Bastion tardarán aproximadamente 10 minutos en implementarse. En la siguiente sección, obtendrá información sobre cómo crear una máquina virtual mientras Bastion se implementa en la red virtual.

Crear una VM

Para crear una máquina virtual, puede seguir los artículos Inicio rápido: Creación de una máquina virtual Windows en Azure con PowerShell o Inicio rápido: Creación de una máquina virtual de Windows en Azure Portal. Asegúrese de implementar la máquina virtual en la misma red virtual en la que implementó Bastion. La máquina virtual que creará en esta sección no formará parte de la configuración de Bastion y no se convertirá en un host bastión. Se conectará a esta máquina virtual más adelante en este tutorial a través de Bastion.

Los siguientes roles necesarios para los recursos.

  • Roles de máquina virtual obligatorios:

    • Rol de lector en la máquina virtual.
    • Rol de lector en la tarjeta de interfaz de red con la dirección IP privada de la máquina virtual.
  • Puertos de entrada necesarios:

    • Para las máquinas virtuales Windows - RDP (3389)
    • SSH (22) para máquinas virtuales Linux

Conexión a una máquina virtual

Para conectarse a la máquina virtual, puede seguir los pasos de conexión que se detallan en la siguiente sección. También puede usar cualquiera de los artículos siguientes para conectarse a una máquina virtual. Algunos tipos de conexión requieren la SKU estándar de Bastion.

Pasos de conexión

  1. En Azure Portal, vaya a la máquina virtual a la que quiera conectarse.

  2. En la parte superior del panel, seleccione Conectar>Bastion para ir al panel Bastion. También puede ir al panel Bastion con el menú izquierdo.

  3. Las opciones disponibles en el panel Bastion dependen de la SKU de Bastion. Si usa la SKU básica, se conecta a un equipo Windows mediante RDP y el puerto 3389. También con la SKU básica, se conecta a un equipo Linux mediante SSH y el puerto 22. No tiene opciones para cambiar el número de puerto o el protocolo. Sin embargo, puede cambiar el idioma del teclado para RDP si expande Configuración de conexión.

    Screenshot of Azure Bastion connection settings.

    Si usa la SKU estándar, tiene más opciones de protocolo de conexión y puerto disponibles. Expanda Configuración de conexión para ver las opciones. Normalmente, a menos que haya configurado opciones diferentes para su máquina virtual, se conecta a un equipo Windows mediante RDP y el puerto 3389. Se conecta a un equipo Linux mediante SSH y el puerto 22.

    Screenshot of expanded connection settings.

  4. En Tipo de autenticación, seleccione un valor de la lista desplegable. El protocolo determina los tipos de autenticación disponibles. Complete los valores de autenticación necesarios.

    Screenshot that shows the dropdown list box for authentication type.

  5. Para abrir la sesión de máquina virtual en una nueva pestaña del explorador, deje la opción Abrir en una nueva pestaña del explorador seleccionada.

  6. Seleccione Conectar para conectarse a la máquina virtual.

  7. Confirme que la conexión a la máquina virtual se abre directamente en Azure Portal (a través de HTML5) mediante el puerto 443 y el servicio Bastion.

    Screenshot of a computer desktop with an open connection over port 443.

    Nota:

    Al conectarse, el escritorio de la máquina virtual tendrá un aspecto diferente al de la captura de pantalla de ejemplo.

Es posible que el uso de teclas de método abreviado de teclado mientras está conectado a una máquina virtual no tenga el mismo comportamiento que las teclas de método abreviado en un equipo local. Por ejemplo, cuando se conecta a una máquina virtual Windows desde un cliente Windows, Ctrl + Alt + Fin es el método abreviado de teclado para Ctrl + Alt + Supr en un equipo local. Para hacerlo desde un equipo Mac mientras está conectado a una máquina virtual Windows, el método abreviado de teclado es Fn + Ctrl + Alt + Retroceso.

Para habilitar la salida de audio

Puede habilitar la salida de audio remoto de la máquina virtual. Algunas máquinas virtuales habilitan automáticamente esta configuración, mientras que en otras es necesario que el usuario habilite la configuración de audio manualmente. La configuración se cambia en la propia máquina virtual. La implementación de Bastion no necesita ninguna configuración especial para habilitar la salida de audio remoto.

Nota:

La salida de audio consume ancho de banda de la conexión a Internet.

Para habilitar la salida de audio remoto en una máquina virtual de Windows:

  1. Después de conectarse a la máquina virtual, aparece un botón de audio en la esquina inferior derecha de la barra de herramientas. Haga clic con el botón derecho en el botón de audio y seleccione Sonidos.
  2. Un mensaje emergente le pregunta si quiere habilitar el servicio de audio de Windows. Seleccione . Puede configurar más opciones de audio en la sección Preferencias de sonido.
  3. Para comprobar la salida de sonido, mantenga el puntero del mouse sobre el botón de audio de la barra de herramientas.

Eliminación de una dirección IP pública de máquina virtual

Azure Bastion no usa la dirección IP pública para conectarse a la VM de cliente. Si no necesita la dirección IP pública para su VM, puede desasociar la dirección IP pública. Consulte Desasociación de una dirección IP pública de una máquina virtual de Azure.

Pasos siguientes