Compartir vía


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

En este artículo se explica cómo conectarse a su instancia administrada de SQL habilitada por Azure Arc.

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, kubeadm, OpenShift, etc., puede copiar el número de puerto y la dirección IP externa desde aquí y conectarse a él mediante su herramienta favorita para conectarse a una instancia de SQL Server o Azure SQL, como Azure Data Studio o SQL Server Management Studio. 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.

Conexión

Conexión con Azure Data Studio, SQL Server Management Studio o SQLCMD

Abra Azure Data Studio y conéctese a la instancia con la dirección IP y el número de puerto del punto de conexión externo anteriores. Si usa una máquina virtual de Azure, necesitará la dirección IP pública, que se puede identificar según se describe en 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:

Puede usar Azure Data Studio para ver los paneles de SQL Managed Instance.

Nota:

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

Para conectarse con SQLCMD en Linux o Windows, puede usar un comando como este. 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.

Es posible que también tenga que exponer el puerto de la instancia de SQL mediante el grupo 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. En estos valores de ejemplo se crea una regla de NSG para el puerto 30913 y se permite 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 '*'