Conectar-se à Instância Gerenciada SQL habilitada pelo Azure Arc

Este artigo explica como você pode se conectar à sua Instância Gerenciada SQL habilitada pelo Azure Arc.

Exibir Instância Gerenciada SQL habilitada pelo Azure Arc

Para exibir a instância e os pontos de extremidade externos, use o seguinte comando:

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

A saída deve ter esta aparência:

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

Se você estiver usando AKS ou kubeadm ou OpenShift etc., você pode copiar o IP externo e o número da porta daqui e conectar-se a ele usando sua ferramenta favorita para se conectar a uma instância SQL Sever/Azure SQL, como o Azure Data Studio ou o SQL Server Management Studio. No entanto, se você estiver usando a VM de início rápido, consulte abaixo para obter informações especiais sobre como se conectar a essa VM de fora do Azure.

Nota

Suas políticas corporativas podem bloquear o acesso ao IP e à porta, especialmente se isso for criado na nuvem pública.

Ligar

Conectar-se ao Azure Data Studio, SQL Server Management Studio ou SQLCMD

Abra o Azure Data Studio e conecte-se à sua instância com o endereço IP do ponto de extremidade externo e o número da porta acima. Se você estiver usando uma VM do Azure, precisará do endereço IP público, que é identificável usando a Observação especial sobre implantações de máquina virtual do Azure.

Por exemplo:

  • Servidor: 52.229.9.30,30913
  • Nome de usuário: sa
  • Senha: sua senha SQL especificada no momento do provisionamento

Nota

Você pode usar o Azure Data Studio para exibir os painéis de instância gerenciada do SQL.

Nota

Para se conectar a uma instância gerenciada que foi criada usando um manifesto do Kubernetes, o nome de usuário e a senha precisam ser fornecidos ao sqlcmd no formato codificado em base64.

Para se conectar usando SQLCMD ou Linux ou Windows, você pode usar um comando como este. Digite a senha SQL quando solicitado:

sqlcmd -S 52.229.9.30,30913 -U sa

Observação especial sobre implantações de máquina virtual do Azure

Se você estiver usando uma máquina virtual do Azure, o endereço IP do ponto de extremidade não mostrará o endereço IP público. Para localizar o endereço IP externo, use o seguinte comando:

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

Em seguida, você pode combinar o endereço IP público com a porta para fazer sua conexão.

Também pode ser necessário expor a porta da instância sql por meio do gateway de segurança de rede (NSG). Para permitir o tráfego através do (NSG) você precisará adicionar uma regra que você pode fazer usando o seguinte comando.

Para definir uma regra, você precisará saber o nome do seu NSG, que você pode descobrir usando o comando abaixo:

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

Depois de ter o nome do NSG, você pode adicionar uma regra de firewall usando o seguinte comando. Os valores de exemplo aqui criam uma regra NSG para a porta 30913 e permitem a conexão de qualquer endereço IP de origem. Esta não é uma melhor prática de segurança. Para garantir uma maior segurança, pode definir um valor --source-address-prefixes específico do endereço IP do cliente ou um intervalo de endereços IP que englobe os endereços IP da equipa ou organização.

Substitua o --destination-port-ranges valor do parâmetro abaixo pelo número da porta obtido do az sql mi-arc list comando acima.

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