Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule wyjaśniamy, jak nawiązać połączenie z wystąpieniem zarządzanym SQL, które jest umożliwione przez usługę Azure Arc.
Wyświetlanie wystąpienia zarządzanego SQL włączonego przez Azure Arc
Aby wyświetlić instancję i zewnętrzne punkty końcowe, użyj następującego polecenia:
az sql mi-arc list --k8s-namespace <namespace> --use-k8s -o table
Dane wyjściowe powinny wyglądać następująco:
Name PrimaryEndpoint Replicas State
--------- ------------------- ---------- -------
sqldemo 10.240.0.107,1433 1/1 Ready
Jeśli używasz usługi AKS lub kubeadm lub OpenShift itp., możesz skopiować zewnętrzny adres IP i numer portu z tego miejsca i nawiązać z nim połączenie przy użyciu ulubionego narzędzia do nawiązywania połączenia z wystąpieniem programu SQL Sever/Azure SQL, takim jak Azure Data Studio lub SQL Server Management Studio. Jeśli jednak używasz maszyny wirtualnej szybkiego startu, zobacz poniżej, aby uzyskać specjalne informacje na temat nawiązywania połączenia z maszyną wirtualną spoza platformy Azure.
Uwaga
Zasady firmowe mogą blokować dostęp do adresu IP i portu, zwłaszcza jeśli jest on tworzony w chmurze publicznej.
Połącz
Nawiązywanie połączenia za pomocą programu Azure Data Studio, programu SQL Server Management Studio lub programu SQLCMD
Otwórz Azure Data Studio i połącz się z instancją przy użyciu powyższego zewnętrznego adresu IP punktu końcowego i numeru portu. Jeśli używasz maszyny wirtualnej platformy Azure, potrzebny będzie publiczny adres IP, który można zidentyfikować przy użyciu specjalnej notatki dotyczącej wdrożeń maszyn wirtualnych platformy Azure.
Na przykład:
- Serwer: 52.229.9.30,30913
- Nazwa użytkownika: sa
- Hasło: określone przez Ciebie hasło SQL w czasie aprowizacji
Uwaga
Możesz użyć Azure Data Studio do wyświetlania pulpitów nawigacyjnych zarządzanego wystąpienia SQL.
Uwaga
Aby nawiązać połączenie z wystąpieniem zarządzanym, które zostało utworzone przy użyciu manifestu kubernetes, należy podać nazwę użytkownika i hasło do narzędzia sqlcmd w postaci zakodowanej w formacie base64.
Aby nawiązać połączenie przy użyciu polecenia SQLCMD lub Linux lub Windows, możesz użyć polecenia w następujący sposób. Wprowadź hasło SQL po wyświetleniu monitu:
sqlcmd -S 52.229.9.30,30913 -U sa
Szczególna uwaga dotycząca wdrożeń maszyn wirtualnych platformy Azure
Jeśli używasz maszyny wirtualnej platformy Azure, adres IP punktu końcowego nie będzie pokazywał publicznego adresu IP. Aby zlokalizować zewnętrzny adres IP, użyj następującego polecenia:
az network public-ip list -g azurearcvm-rg --query "[].{PublicIP:ipAddress}" -o table
Następnie możesz połączyć publiczny adres IP z portem, aby nawiązać połączenie.
Może być również konieczne udostępnienie portu instancji SQL za pośrednictwem bramy zabezpieczeń sieciowych (NSG). Aby zezwolić na ruch przez sieciową grupę zabezpieczeń (NSG), należy dodać regułę za pomocą następującego polecenia.
Aby ustawić regułę, musisz znać nazwę sieciowej grupy zabezpieczeń, którą można znaleźć za pomocą poniższego polecenia:
az network nsg list -g azurearcvm-rg --query "[].{NSGName:name}" -o table
Gdy masz już nazwę grupy zabezpieczeń (NSG), możesz dodać regułę zapory przy użyciu następującego polecenia. W tym przykładzie wartości tworzą regułę sieciowej grupy zabezpieczeń dla portu 30913 i zezwalają na połączenie z dowolnego źródłowego adresu IP. Nie jest to najlepsze rozwiązanie dotyczące zabezpieczeń! Można zablokować wszystko lepiej, określając wartość -source-address-prefixes, która jest specyficzna dla adresu IP klienta, lub zakres adresów IP obejmujący adresy IP Twojego zespołu lub Twojej organizacji.
Zastąp wartość poniższego --destination-port-ranges parametru numerem portu uzyskanym z powyższego az sql mi-arc list polecenia.
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 '*'