Share via


Tutorial: Conexión a un servidor SQL de Azure mediante un punto de conexión privado de Azure mediante la CLI de Azure

Un punto de conexión privado de Azure es el bloque de creación fundamental para Private Link en Azure. Permite que los recursos de Azure, como las máquinas virtuales, se comuniquen con recursos de Private Link de manera privada.

Diagrama de los recursos creados en el inicio rápido del punto de conexión privado.

En este tutorial, aprenderá a:

  • Crear una red virtual y un host bastión.
  • Cree una máquina virtual.
  • Crear un servidor SQL de Azure y un punto de conexión privado.
  • Probar la conectividad con el punto de conexión privado del servidor SQL.

Requisitos previos

  • Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
  • Inicie sesión en Azure Portal y compruebe que la suscripción está activa, para lo que debe ejecutar az login.
  • Compruebe la versión de la CLI de Azure en una ventana de terminal o de comandos, para lo que debe ejecutar az --version. Para saber cuál es la versión más reciente, consulte las notas de la versión más reciente.

Crear un grupo de recursos

Un grupo de recursos de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure.

Cree un grupo de recursos con az group create:

  • Denominado CreateSQLEndpointTutorial-rg.
  • En la ubicación eastus.
az group create \
    --name CreateSQLEndpointTutorial-rg \
    --location eastus

Creación de una red virtual y un host bastión

En esta sección, creará una red virtual, una subred y un host bastión.

El host bastión se utilizará para conectarse de forma segura a la máquina virtual a fin de probar el punto de conexión privado.

Cree una red virtual con az network vnet create.

  • Denominada myVNet.
  • Con el prefijo de dirección 10.0.0.0/16.
  • Subred denominada MyBackendSubnet.
  • Con el prefijo de subred 10.0.0.0/24.
  • En el grupo de recursos CreateSQLEndpointTutorial-rg.
  • Ubicación de eastus.
az network vnet create \
    --resource-group CreateSQLEndpointTutorial-rg\
    --location eastus \
    --name myVNet \
    --address-prefixes 10.0.0.0/16 \
    --subnet-name myBackendSubnet \
    --subnet-prefixes 10.0.0.0/24

Actualice la subred para deshabilitar las directivas de red del punto de conexión privado con az network vnet subnet update:

az network vnet subnet update \
    --name myBackendSubnet \
    --resource-group CreateSQLEndpointTutorial-rg \
    --vnet-name myVNet \
    --disable-private-endpoint-network-policies true

Use az network public-ip create para crear una dirección IP pública para el host bastión:

  • Cree una dirección IP pública con redundancia de zona estándar llamada myBastionIP.
  • En CreateSQLEndpointTutorial-rg.
az network public-ip create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name myBastionIP \
    --sku Standard

Use az network vnet subnet create para crear una subred bastión:

  • Llamada AzureBastionSubnet.
  • Con el prefijo de dirección 10.0.1.0/24.
  • En la red virtual myVNet.
  • En el grupo de recursos CreateSQLEndpointTutorial-rg.
az network vnet subnet create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.0.1.0/24

Use az network bastion create para crear un host bastión:

  • Denominación myBastionHost.
  • En CreateSQLEndpointTutorial-rg.
  • Asociado a la dirección IP pública myBastionIP.
  • Asociado a la red virtual myVNet.
  • En la ubicación eastus.
az network bastion create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location eastus

El host de Azure Bastion tarda unos minutos en implementarse.

Creación de una máquina virtual de prueba

En esta sección, creará una máquina virtual que se utilizará para probar el punto de conexión privado.

Cree la máquina virtual con az vm create. Cuando se le solicite, proporcione una contraseña que se usará como credenciales de inicio de sesión para la máquina virtual:

  • Denominada myVM.
  • En CreateSQLEndpointTutorial-rg.
  • En la red myVNet.
  • En la subred myBackendSubnet.
  • Imagen del servidor Win2019Datacenter.
az vm create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name myVM \
    --image Win2019Datacenter \
    --public-ip-address "" \
    --vnet-name myVNet \
    --subnet myBackendSubnet \
    --admin-username azureuser

Nota:

Azure proporciona una dirección IP de acceso de salida predeterminada para las máquinas virtuales que no tienen asignada una dirección IP pública o están en el grupo back-end de un equilibrador de carga de Azure básico interno. El mecanismo de dirección IP de acceso de salida predeterminado proporciona una dirección IP de salida que no se puede configurar.

La dirección IP de acceso de salida predeterminada está deshabilitada cuando se produce uno de los siguientes eventos:

  • Se asigna una dirección IP pública a la máquina virtual.
  • La máquina virtual se coloca en el grupo back-end de un equilibrador de carga estándar, con o sin reglas de salida.
  • Se asigna un recurso de Azure NAT Gateway a la subred de la máquina virtual.

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

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

Creación de un servidor SQL de Azure

En esta sección, va a crear un servidor SQL y una base de datos.

Use az sql server create para crear un servidor SQL:

  • Reemplace <nombre-servidor-sql> por el nombre de servidor único:
  • Reemplace <su-contraseña> por la contraseña.
  • En CreateSQLEndpointTutorial-rg.
  • En la región eastus.
az sql server create \
    --name <sql-server-name> \
    --resource-group CreateSQLEndpointTutorial-rg \
    --location eastus \
    --admin-user sqladmin \
    --admin-password <your-password>

Use az sql db create para crear una base de datos:

  • Llamada myDataBase.
  • En CreateSQLEndpointTutorial-rg.
  • Reemplace <nombre-servidor-sql> por el nombre de servidor único:
az sql db create \
    --resource-group CreateSQLEndpointTutorial-rg  \
    --server <sql-server-name> \
    --name myDataBase \
    --sample-name AdventureWorksLT

Creación de un punto de conexión privado

En esta sección, creará el punto de conexión privado.

Use az sql server list para colocar el identificador de recurso del servidor SQL en una variable del shell.

Use az network private-endpoint create para crear el punto de conexión y la conexión:

  • Llamado myPrivateEndpoint.
  • En el grupo de recursos CreateSQLEndpointTutorial-rg.
  • En la red virtual myVNet.
  • En la subred myBackendSubnet.
  • Conexión llamada myConnection.
id=$(az sql server list \
    --resource-group CreateSQLEndpointTutorial-rg \
    --query '[].[id]' \
    --output tsv)

az network private-endpoint create \
    --name myPrivateEndpoint \
    --resource-group CreateSQLEndpointTutorial-rg \
    --vnet-name myVNet --subnet myBackendSubnet \
    --private-connection-resource-id $id \
    --group-ids sqlServer \
    --connection-name myConnection  

Configuración de la zona DNS privada

En esta sección, creará y configurará la zona DNS privada con az network private-dns zone create.

Usará az network private-dns link vnet create para crear el vínculo de red virtual en la zona DNS.

Creará un grupo de zona DNS con az network private-endpoint dns-zone-group create.

  • Zona llamada privatelink.database.windows.net
  • En la red virtual myVNet.
  • En el grupo de recursos CreateSQLEndpointTutorial-rg.
  • Vínculo DNS llamado myDNSLink.
  • Asociado a myPrivateEndpoint.
  • Grupo de zona llamado MyZoneGroup.
az network private-dns zone create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --name "privatelink.database.windows.net"

az network private-dns link vnet create \
    --resource-group CreateSQLEndpointTutorial-rg \
    --zone-name "privatelink.database.windows.net" \
    --name MyDNSLink \
    --virtual-network myVNet \
    --registration-enabled false

az network private-endpoint dns-zone-group create \
   --resource-group CreateSQLEndpointTutorial-rg \
   --endpoint-name myPrivateEndpoint \
   --name MyZoneGroup \
   --private-dns-zone "privatelink.database.windows.net" \
   --zone-name sql

Prueba de la conectividad con el punto de conexión privado

En esta sección, utilizará la máquina virtual creada en el paso anterior para conectarse al servidor SQL mediante el punto de conexión privado.

  1. Inicie sesión en Azure Portal.

  2. En el panel de navegación de la izquierda, seleccione Grupos de recursos.

  3. Seleccione CreateSQLEndpointTutorial-rg.

  4. Seleccione myVM.

  5. En la página de información general para myVM, seleccione Conectar y, luego, Bastion.

  6. Seleccione el botón Usar bastión azul.

  7. Especifique el nombre de usuario y la contraseña proporcionados durante la creación de la máquina virtual.

  8. Abra Windows PowerShell en el servidor después de conectarse.

  9. Escriba nslookup <sqlserver-name>.database.windows.net. Reemplace <sqlserver-name> por el nombre del servidor SQL que creó en los pasos anteriores. Recibirá un mensaje similar al que se muestra a continuación:

    Server:  UnKnown
    Address:  168.63.129.16
    
    Non-authoritative answer:
    Name:    mysqlserver8675.privatelink.database.windows.net
    Address:  10.0.0.5
    Aliases:  mysqlserver8675.database.windows.net
    

    Se devuelve la dirección IP privada 10.0.0.5 del nombre del servidor SQL. Esta dirección se encuentra en la subred de la red virtual que creó anteriormente.

  10. Instale SQL Server Management Studio en myVM.

  11. Abra SQL Server Management Studio.

  12. En Conectar con el servidor, escriba o seleccione esta información:

    Configuración Value
    Tipo de servidor Seleccione Motor de base de datos.
    Nombre de servidor Escriba <sql-server-name>.database.windows.net
    Autenticación Seleccione Autenticación de SQL Server.
    Nombre de usuario Escriba el nombre de usuario que especificó durante la creación del servidor.
    Contraseña Escriba la contraseña que especificó durante la creación del servidor.
    Recordar contraseña Seleccione .
  13. Seleccione Conectar.

  14. Examine las bases de datos en el menú izquierdo.

  15. (Opcionalmente) Cree o consulte información de mysqldatabase.

  16. Cierre la conexión bastión a myVM.

Limpieza de recursos

Cuando haya terminado mediante el punto de conexión privado, el servidor SQL y la máquina virtual, elimine el grupo de recursos y todos los recursos que contiene:

az group delete \
    --name CreateSQLEndpointTutorial-rg

Pasos siguientes

En este tutorial ha creado:

  • Una red virtual y un host bastión.
  • Una máquina virtual.
  • Un servidor SQL de Azure con un punto de conexión privado.

Ha utilizado la máquina virtual para probar la conectividad de forma segura al servidor SQL mediante el punto de conexión privado.

Como paso siguiente, puede que también le interese el escenario de la arquitectura de aplicación web con conectividad privada a Azure SQL Database, que conecta una aplicación web situada fuera de la red virtual con el punto de conexión privado de una base de datos.