Comparteix a través de


Creación y administración de Private Link en Azure Database for MariaDB mediante la CLI

Importante

Azure Database for MariaDB está en proceso de retirada. Se recomienda encarecidamente migrar a Azure Database for MySQL. Para más información sobre la migración a Azure Database for MySQL, consulte ¿Qué ocurre con Azure Database for MariaDB?.

Un punto de conexión privado es el bloque de creación fundamental para el vínculo privado en Azure. Permite que los recursos de Azure, como las máquinas virtuales, se comuniquen de manera privada con recursos de vínculos privados. En este artículo, obtendrá información sobre cómo usar la CLI de Azure para crear una VM en una instancia de Azure Virtual Network y un servidor de Azure Database for MariaDB con un punto de conexión privado de Azure.

Nota:

La característica de vínculo privado solo está disponible para servidores de Azure Database for MariaDB en los planes de tarifa De uso general u Optimizado para memoria. Asegúrese de que el servidor de bases de datos esté incluido en uno de estos planes de tarifa.

Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.

Requisitos previos

  • En este artículo se necesita la versión 2.0.28 o posterior de la CLI de Azure. Si usa Azure Cloud Shell, ya está instalada la versión más reciente.

Crear un grupo de recursos

Para poder crear un recurso, debe crear un grupo de recursos que hospede la red virtual. Cree un grupo de recursos con az group create. En este ejemplo, se crea un grupo de recursos denominado myResourceGroup en la ubicación westeurope:

az group create --name myResourceGroup --location westeurope

Creación de una red virtual

Cree la red virtual con az network vnet create. En este ejemplo se crea una red virtual predeterminada denominada myVirtualNetwork con una subred denominada mySubnet:

az network vnet create \
--name myVirtualNetwork \
--resource-group myResourceGroup \
--subnet-name mySubnet

Deshabilitación de las directivas de punto de conexión privado

Azure implementa los recursos en la subred de una red virtual, por lo que debe crear o actualizar la subred para deshabilitar las directivas de red del punto de conexión privado. Actualice una configuración de subred denominada mySubnet con az network vnet subnet update:

az network vnet subnet update \
--name mySubnet \
--resource-group myResourceGroup \
--vnet-name myVirtualNetwork \
--disable-private-endpoint-network-policies true

Creación de la máquina virtual

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 VM. En este ejemplo se crea una máquina virtual llamada myVm:

az vm create \
  --resource-group myResourceGroup \
  --name myVm \
  --image Win2019Datacenter

Anote la dirección IP pública de la máquina virtual. Usará esta dirección para conectarse a la máquina virtual desde Internet en el paso siguiente.

Creación de un servidor de Azure Database for MariaDB

Cree una instancia de Azure Database for MariaDB con el comando az mariadb server create. Recuerde que el nombre del servidor de MariaDB debe ser único en Azure, así que reemplace el valor de marcador de posición entre corchetes por su propio valor único:

# Create a server in the resource group 

az mariadb server create \
--name mydemoserver \
--resource-group myResourcegroup \
--location westeurope \
--admin-user mylogin \
--admin-password <server_admin_password> \
--sku-name GP_Gen5_2

Nota:

En algunos casos, Azure Database for MariaDB y la subred de red virtual se encuentran en distintas suscripciones. En estos casos debe garantizar las siguientes configuraciones:

  • Asegúrese de que ambas suscripciones tengan registrado el proveedor de recursos Microsoft.DBforMariaDB. Para más información, consulte resource-manager-registration.

Creación del punto de conexión privado

Cree un punto de conexión privado para el servidor MariaDB en la instancia de Virtual Network:

az network private-endpoint create \  
    --name myPrivateEndpoint \  
    --resource-group myResourceGroup \  
    --vnet-name myVirtualNetwork  \  
    --subnet mySubnet \  
    --private-connection-resource-id $(az resource show -g myResourcegroup -n mydemoserver --resource-type "Microsoft.DBforMariaDB/servers" --query "id" -o tsv) \    
    --group-id mariadbServer \  
    --connection-name myConnection  

Configuración de la zona DNS privada

Cree una zona DNS privada para el dominio del servidor MariaDB y cree un vínculo de asociación con la instancia de Virtual Network.

az network private-dns zone create --resource-group myResourceGroup \ 
   --name  "privatelink.mariadb.database.azure.com" 
az network private-dns link vnet create --resource-group myResourceGroup \ 
   --zone-name  "privatelink.mariadb.database.azure.com"\ 
   --name MyDNSLink \ 
   --virtual-network myVirtualNetwork \ 
   --registration-enabled false

#Query for the network interface ID  

networkInterfaceId=$(az network private-endpoint show --name myPrivateEndpoint --resource-group myResourceGroup --query 'networkInterfaces[0].id' -o tsv)

az resource show --ids $networkInterfaceId --api-version 2019-04-01 -o json
# Copy the content for privateIPAddress and FQDN matching the Azure database for MariaDB name

#Create DNS records 

az network private-dns record-set a create --name mydemoserver --zone-name privatelink.mariadb.database.azure.com --resource-group myResourceGroup  
az network private-dns record-set a add-record --record-set-name mydemoserver --zone-name privatelink.mariadb.database.azure.com --resource-group myResourceGroup -a <Private IP Address>

Nota:

El FQDN de la configuración de DNS del cliente no se resuelve en la dirección IP privada configurada. Tendrá que configurar una zona DNS para el FQDN configurado, como se muestra aquí.

Conexión a una máquina virtual desde Internet

Conéctese a la máquina virtual myVm desde Internet de la siguiente manera:

  1. En la barra de búsqueda del portal, escriba myVm.

  2. Seleccione el botón Conectar. Después de seleccionar el botón Conectar, se abre Conectar a máquina virtual.

  3. Seleccione Descargar archivo RDP. Azure crea un archivo de Protocolo de Escritorio remoto ( .rdp) y lo descarga en su equipo.

  4. Abra el archivo downloaded.rdp.

    1. Cuando se le pida, seleccione Conectar.

    2. Escriba el nombre de usuario y la contraseña que especificó al crear la VM.

      Nota:

      Es posible que tenga que seleccionar Más opciones>Usar otra cuenta para especificar las credenciales que escribió al crear la máquina virtual.

  5. Seleccione Aceptar.

  6. Puede recibir una advertencia de certificado durante el proceso de inicio de sesión. Si recibe una advertencia de certificado, seleccione o Continuar.

  7. Una vez que aparezca el escritorio de la máquina virtual, minimícelo para volver a su escritorio local.

Acceso al servidor MariaDB de forma privada desde la VM

  1. En el Escritorio remoto de myVm, abra PowerShell.

  2. Escriba nslookup mydemoserver.privatelink.mariadb.database.azure.com.

    Recibirá un mensaje similar a este:

    Server:  UnKnown
    Address:  168.63.129.16
    Non-authoritative answer:
    Name:    mydemoserver.privatelink.mariadb.database.azure.com
    Address:  10.1.3.4
    
  3. Pruebe la conexión de Private Link del servidor MariaDB con cualquier cliente disponible. En el ejemplo siguiente se ha usado MySQL Workbench para realizar la operación.

  4. En Nueva conexión, escriba o seleccione esta información:

    Configuración Value
    Nombre de la conexión Seleccione el nombre de la conexión que prefiera.
    Hostname Seleccione mydemoserver.privatelink.mariadb.database.azure.com.
    Nombre de usuario Escriba el nombre de usuario como username@servername, que se proporciona durante la creación del servidor MariaDB.
    Contraseña Escriba una contraseña proporcionada durante la creación del servidor MariaDB.
  5. Seleccione Probar conexión o Aceptar.

  6. (Opcional) Examine las bases de datos del menú izquierdo y cree o consulte información de la base de datos MariaDB

  7. Cierre la conexión de Escritorio remoto a myVm.

Limpieza de recursos

Cuando ya no se necesite, puede utilizar az group delete para quitar el grupo de recursos y todos los recursos que contiene:

az group delete --name myResourceGroup --yes 

Pasos siguientes

Más información sobre Qué es un punto de conexión privado de Azure