Compartir a través de


Conexión a Azure SQL Managed Instance habilitada por Azure Arc

En este artículo se explica cómo conectarse a la instancia administrada de SQL habilitada por Azure Arc mediante herramientas de cliente de SQL Server estándar.

Visualización de SQL Managed Instance habilitada por Azure Arc

Para ver la instancia y los puntos de conexión externos, use el siguiente comando:

az sql mi-arc list --k8s-namespace <namespace> --use-k8s -o table

La salida debe ser similar a la que se muestra a continuación:

Name       PrimaryEndpoint      Replicas    State
---------  -------------------  ----------  -------
sqldemo    10.240.0.107,1433    1/1         Ready

Si usa AKS o kubeadm o OpenShift, etc., puede copiar la dirección IP externa y el número de puerto desde aquí y conectarse a él mediante su herramienta favorita para conectarse a una instancia de SQL Server o Azure SQL, como SQL Server Management Studio (SSMS) o sqlcmd. Sin embargo, si usa la máquina virtual de inicio rápido, consulte a continuación para obtener información especial sobre cómo conectarse a esa máquina virtual desde fuera de Azure.

Nota:

Las directivas corporativas pueden bloquear el acceso a la dirección IP y el puerto, especialmente si se ha creado en la nube pública.

Conectar

Conexión con SQL Server Management Studio o sqlcmd

Utilice SQL Server Management Studio (SSMS) o sqlcmd para conectarse a su instancia con la dirección IP del punto de conexión externo y el número de puerto anteriores. Si usa una máquina virtual de Azure, necesitará la dirección IP pública , que es identificable mediante la nota especial sobre las implementaciones de máquinas virtuales de Azure.

Por ejemplo:

  • Servidor: 52.229.9.30,30913
  • Nombre de usuario: sa
  • Contraseña: contraseña de SQL que especificó en el momento del aprovisionamiento

Nota:

Para conectarse a una instancia administrada que se creó mediante un manifiesto de Kubernetes, el nombre de usuario y la contraseña deben proporcionarse a sqlcmd en formato codificado en base64.

Para conectarse mediante sqlcmd en Linux o Windows, puede usar un comando similar al siguiente. Escriba la contraseña de SQL cuando se le solicite.

sqlcmd -S 52.229.9.30,30913 -U sa

Nota especial sobre las implementaciones de máquinas virtuales de Azure

Si usa una máquina virtual de Azure, la dirección IP del punto de conexión no mostrará la dirección IP pública. Para buscar la dirección IP externa, use el siguiente comando:

az network public-ip list -g azurearcvm-rg --query "[].{PublicIP:ipAddress}" -o table

Después, puede combinar la dirección IP pública con el puerto para establecer la conexión.

También puede que tenga que exponer el puerto de la instancia de SQL a través de la puerta de enlace de seguridad de red (NSG). Para permitir el tráfico en el NSG, tendrá que agregar una regla mediante el comando siguiente.

Para establecer una regla, deberá conocer el nombre del NSG, el cual puede encontrar mediante el comando siguiente:

az network nsg list -g azurearcvm-rg --query "[].{NSGName:name}" -o table

Una vez que tenga el nombre del NSG, puede agregar una regla de firewall mediante el comando siguiente. Los valores de ejemplo aquí crean una regla de NSG para el puerto 30913 y permiten la conexión desde cualquier dirección IP de origen. No es un procedimiento recomendado de seguridad. Puede conseguir un bloqueo mejor si especifica un valor para -source-address-prefixes específico de la dirección IP del cliente o un intervalo de direcciones IP que abarque las direcciones IP del equipo o la organización.

Reemplace el valor del parámetro --destination-port-ranges siguiente por el número de puerto que ha obtenido del comando az sql mi-arc list anterior.

az network nsg rule create -n db_port --destination-port-ranges 30913 --source-address-prefixes '*' --nsg-name azurearcvmNSG --priority 500 -g azurearcvm-rg --access Allow --description 'Allow port through for db access' --destination-address-prefixes '*' --direction Inbound --protocol Tcp --source-port-ranges '*'