Condividi tramite


Connettersi all'Istanza gestita di SQL abilitata da Azure Arc

Questo articolo spiega come connettersi all'Istanza gestita di SQL abilitata da Azure Arc.

Visualizzazione dell'Istanza gestita di SQL abilitata da Azure Arc

Per visualizzare l'istanza e gli endpoint esterni, utilizzare il comando seguente:

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

L'output dovrebbe essere simile al seguente:

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

Se si usa il servizio Azure Kubernetes, Kubeadm oppure OpenShift, e così via, è possibile copiare da qui l'IP esterno e il numero di porta e connettersi tramite lo strumento preferito per la connessione a un'istanza di SQL Sever/Azure SQL, ad esempio Azure Data Studio o SQL Server Management Studio. Tuttavia, se si usa la macchina virtuale di avvio rapido, vedere di seguito per informazioni specifiche su come connettersi a tale VM dall'esterno di Azure.

Nota

I criteri aziendali possono bloccare l'accesso all'IP e alla porta, soprattutto se creato nel cloud pubblico.

Connessione

Connettersi con Azure Data Studio, SQL Server Management Studio o SQLCMD

Aprire Azure Data Studio e connettersi all'istanza con l'indirizzo IP dell'endpoint esterno e il numero di porta indicati in precedenza. Se si usa una macchina virtuale di Azure, verrà richiesto l'indirizzo IP pubblico, identificabile tramite la Nota speciale sulle distribuzioni di macchine virtuali di Azure.

Ad esempio:

  • Server: 52.229.9.30,30913
  • Nome utente: sa
  • Password: la password SQL specificata in fase di provisioning

Nota

È possibile usare visualizzare i dashboard dell'istanza gestita di SQL di Azure Data Studio.

Nota

Per connettersi a un'istanza gestita creata con un manifesto Kubernetes, è necessario specificare il nome utente e la password a sqlcmd in formato con codifica Base 64.

Per connettersi tramite SQLCMD, Linux o Windows, è possibile usare un comando simile al seguente. Immettere la password SQL quando richiesto:

sqlcmd -S 52.229.9.30,30913 -U sa

Nota speciale sulle distribuzioni di macchine virtuali di Azure

Se si usa una macchina virtuale di Azure, l'indirizzo IP dell'endpoint non mostrerà l'indirizzo IP pubblico. Per individuare l'indirizzo IP esterno, usare il comando seguente:

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

Sarà quindi possibile combinare l'indirizzo IP pubblico con la porta per eseguire la connessione.

Potrebbe anche essere necessario esporre la porta dell'istanza di SQL attraverso il gateway di sicurezza di rete (NSG). Per consentire il passaggio del traffico tramite NSG è necessario aggiungere una regola usando il comando seguente.

Per impostare una regola, è necessario conoscere il nome NSG che può essere individuato usando il comando seguente:

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

Una volta ottenuto il nome NSG, sarà possibile aggiungere una regola del firewall usando il comando seguente. I valori nell'esempio indicato creano una regola NSG per la porta 30913 e consentono la connessione da qualsiasi indirizzo IP di origine. questa non è procedura di protezione consigliata. È possibile applicare un blocco specificando un valore -source-address-prefixes specifico per l'indirizzo IP del client o un intervallo di indirizzi IP che includa gli indirizzi IP del team o dell'organizzazione.

Sostituire il valore del parametro --destination-port-ranges riportato di seguito, con il numero di porta ottenuto dal comando az sql mi-arc list indicato in precedenza.

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