Conectar-se à instância gerenciada de SQL habilitada pelo Azure Arc

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

Exibir a Instância Gerenciada de 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 ser semelhante a esta:

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

Ao usar AKS, kubeadm ou OpenShift etc., é possível copiar aqui o IP externo e o número da porta e se conectar a ele usando sua ferramenta preferencial para a conexão com uma instância do SQL Server/SQL do Azure, como o Azure Data Studio ou o SQL Server Management Studio. No entanto, ao usar a VM de início rápido, consulte as informações especiais abaixo sobre como se conectar a essa VM de fora do Azure.

Observação

Suas políticas corporativas podem bloquear o acesso ao IP e à porta, especialmente se a criação ocorreu na nuvem pública.

Conectar

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

Abra o Azure Data Studio e conecte-se à sua instância com o endereço IP e o número de porta do ponto de extremidade externo acima. O endereço IP público é necessário ao usar uma VM do Azure, e ele pode ser identificado com 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

Observação

Você pode usar a opção Exibir painéis da instância gerenciada de SQL do Azure Data Studio.

Observação

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

Para se conectar com o SQLCMD, o Linux ou o Windows, use um comando como o a seguir. Quando solicitado, insira a senha SQL:

sqlcmd -S 52.229.9.30,30913 -U sa

Observação especial sobre as implantações de máquinas virtuais do Azure

Ao usar uma máquina virtual do Azure, o endereço IP público não é exibido pelo endereço IP do ponto de extremidade. 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 e a porta para fazer a conexão.

Também pode ser necessário expor a porta da instância SQL por meio do NSG (gateway de segurança de rede). Para permitir o tráfego por meio do NSG, adicione uma regra com o seguinte comando.

Para definir uma regra de firewall, você precisa saber o nome do NSG, que pode ser encontrado com o comando a seguir:

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

Quando tiver o nome do NSG, você poderá adicionar uma regra de firewall com o seguinte comando. Estes valores de exemplo criam uma regra de NSG para a porta 30913 e permitem a conexão de qualquer endereço IP de origem. Essa não é uma melhor prática de segurança. Você pode obter um bloqueio melhor definindo um valor -source-address-prefixes específico para o endereço IP do cliente ou um intervalo de endereços IP que cubra os endereços IP da equipe ou organização.

Substitua o valor do parâmetro --destination-port-ranges abaixo pelo número de porta obtido com o comando az sql mi-arc list 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 '*'