Se connecter à SQL Managed Instance activé par Azure Arc

Cet article explique comment vous connecter à SQL Managed Instance activé par Azure Arc.

Afficher SQL Managed Instance activé par Azure Arc

Pour afficher l’instance et les points de terminaison externes, utilisez la commande suivante :

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

La sortie doit se présenter comme suit :

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

Si vous utilisez AKS ou kubeadm ou OpenShift, etc., vous pouvez copier l’adresse IP externe et le numéro de port à partir d’ici et vous y connecter à l’aide de votre outil favori pour vous connecter à une instance SQL Server/SQL Azure, par exemple Azure Data Studio ou SQL Server Management Studio. Toutefois, si vous utilisez la machine virtuelle de démarrage rapide, consultez la section ci-dessous pour obtenir des informations spécifiques sur la façon de vous connecter à cette machine virtuelle en dehors d’Azure.

Remarque

Vos stratégies d’entreprise peuvent bloquer l’accès à l’adresse IP et au port, surtout si elles sont créées dans le cloud public.

Se connecter

Connectez-vous avec Azure Data Studio, SQL Server Management Studio ou SQLCMD.

Ouvrez Azure Data Studio et connectez-vous à votre instance avec l’adresse IP et le numéro de port du point de terminaison externe ci-avant. Si vous utilisez une machine virtuelle Azure, vous aurez besoin de l’adresse IP publique, qui est identifiable à l’aide de la Remarque spéciale sur les déploiements de machines virtuelles Azure.

Par exemple :

  • Serveur : 52.229.9.30,30913
  • Nom d’utilisateur : sa
  • Mot de passe : votre mot de passe SQL spécifié au moment de l’approvisionnement

Remarque

Vous pouvez utiliser Azure Data Studio pour Visualiser les tableaux de bord des instances SQL managées.

Remarque

Pour vous connecter à une instance gérée qui a été créée à l’aide d’un manifeste Kubernetes, le nom d’utilisateur et le mot de passe doivent être fournis à sqlcmd au format encodé en base64.

Pour vous connecter à l’aide de SQLCMD, de Linux ou de Windows, vous pouvez utiliser une commande comme celle-ci. Entrez le mot de passe SQL quand vous y êtes invité :

sqlcmd -S 52.229.9.30,30913 -U sa

Remarque spéciale sur les déploiements de machines virtuelles Azure

Si vous utilisez une machine virtuelle Azure, l’adresse IP du point de terminaison n’affiche pas l’adresse IP publique. Utilisez la commande suivante pour localiser l’adresse IP externe :

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

Vous pouvez ensuite combiner l’adresse IP publique avec le port pour établir votre connexion.

Vous devrez peut-être également exposer le port de l’instance sql à l’aide de la passerelle de sécurité réseau (NSG). Pour autoriser le trafic via la passerelle de sécurité réseau (NSG), vous devez ajouter une règle que vous pouvez effectuer à l’aide de la commande suivante.

Pour définir une règle, vous devez connaître le nom de votre groupe de sécurité réseau, que vous pouvez découvrir à l’aide de la commande ci-dessous :

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

Une fois que vous avez le nom du groupe de sécurité réseau, vous pouvez ajouter une règle de pare-feu à l’aide de la commande suivante. Les exemples de valeurs ci-dessous créent une règle NSG pour le port 30913 et autorisent la connexion à partir de n’importe quelle adresse IP source. Il ne s’agit pas d'une meilleure pratique de sécurité. Vous pouvez mieux verrouiller les choses en spécifiant une valeur-source-adresse-préfixes spécifique à votre adresse IP du client ou une plage d’adresses IP qui couvre les adresses IP de votre équipe ou de votre organisation.

Remplacez la valeur du paramètre --destination-port-ranges ci-dessous par le numéro de port que vous avez obtenu à partir de la commande az sql mi-arc list ci-dessus.

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 '*'