Verbindung zu einer Cloud SQL for SQL Server-Instanz mit privater IP-Adresse herstellen
Auf dieser Seite erfahren Sie, wie Sie eine SQL Server-Instanz über eine private IP-Adresse erstellen und eine Verbindung zu ihr herstellen. Die in dieser Kurzanleitung erstellten Ressourcen kosten in der Regel weniger als einen Dollar, vorausgesetzt, Sie führen die Schritte, einschließlich der Bereinigung, zeitnah durch.
Hinweis
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie noch kein Google Cloud-Nutzer sind, erstellen Sie ein Konto, um zu sehen, wie sich unsere Produkte in realen Szenarien schlagen. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Prüfen Sie, ob Sie die Berechtigungen haben, die für diese Kurzanleitung erforderlich sind.
-
Aktivieren Sie die erforderlichen Google Cloud APIs.
Console
Rufen Sie in der Google Cloud Console die Seite APIs auf.
Cloud SQL Admin API aktivieren. Durch Aktivieren dieser API können Sie den Cloud SQL Auth-Proxy ausführen.gcloud
Klicken Sie auf den folgenden Button, um Cloud Shell zu öffnen, die Befehlszeilenzugriff auf Ihre Google Cloud Ressourcen direkt über den Browser bietet. Mit Cloud Shell können Sie die in dieser Kurzanleitung vorgestellten
gcloud-Befehle ausführen.Führen Sie den folgenden
gcloud services enable-Befehl mit Cloud Shell aus, um die für diese Kurzanleitung erforderlichen APIs zu aktivieren:gcloud services enable sqladmin.googleapis.com
Mit diesem Befehl werden die folgenden APIs aktiviert:
- Cloud SQL Admin API. Durch Aktivieren dieser API können Sie den Cloud SQL Auth-Proxy ausführen.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, das Sie einrichten und mit dem Sie eine Verbindung herstellen möchten, um die Berechtigungen zu erhalten, die Sie zum Einrichten von Cloud SQL mit einer privaten IP-Adresse benötigen:
-
Instanz, Datenbank und Nutzer erstellen oder löschen:
Rolle „Cloud SQL-Administrator“ (
roles/cloudsql.admin) -
IAM-Dienstkonto erstellen oder löschen:
Rolle „IAM-Dienstkonto-Administrator“ (
roles/iam.serviceAccountAdmin). -
Compute-Instanz erstellen oder löschen:
-
Rolle „Compute-Administrator“ (
roles/compute.admin) -
Rolle „Compute-Instanzadministrator“ (
roles/compute.instanceAdmin.v1)
-
Rolle „Compute-Administrator“ (
-
Verbindung erstellen:
-
Rolle „Service Networking-Administrator“ (
roles/servicenetworking.networksAdmin)) -
Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin)
-
Rolle „Service Networking-Administrator“ (
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Übersicht
Es gibt viele Möglichkeiten, eine Verbindung zu einer Cloud SQL-Instanz über eine private IP-Adresse herzustellen, je nachdem, wo sich die Quelle befindet. Entscheidend ist, dass sich die Quellmaschine im selben VPC-Netzwerk wie die Cloud SQL-Instanz befinden muss. Wenn sich die Quelle nicht in Google Cloud oder nicht im selben Google Cloud Projekt befindet, müssen Sie die Konnektivität anders konfigurieren, als hier beschrieben.
In dieser Kurzanleitung wird die Konnektivität über den direktesten Pfad konfiguriert. Die Quelle und das Ziel befinden sich im selben Google Cloud Projekt und im selben VPC-Netzwerk. Wir erstellen eine Cloud SQL-Instanz mit einer privaten IP-Adresse (dem Ziel) und einer Compute Engine-VM (der Quelle). Mithilfe der VM installieren und verwenden wir die Tools, die für die Verbindung von der VM zur Cloud SQL-Instanz erforderlich sind.
Führen Sie folgende Aktionen durch:
- Erstellen Sie eine Cloud SQL-Instanz mit einer privaten IP-Adresse.
Suchen und speichern Sie den
connection nameder Instanz für später. - Erstellen Sie eine Compute Engine-VM.
- Öffnen Sie zwei SSH-Verbindungen zur Compute Engine-VM.
Im ersten Fenster installieren Sie sqlcmd und den Cloud SQL Auth-Proxy und starten den Cloud SQL Auth-Proxy. Dann stellen Sie im zweiten Fenster eine Verbindung zur Cloud SQL-Instanz her. Stellen Sie dazu eine Verbindung zum Cloud SQL Auth-Proxy her.
- Gehen Sie im SSH-Fenster Nr. 1 so vor:
- Installieren Sie sqlcmd-Client.
- Installieren Sie den Cloud SQL Auth-Proxy.
Der Cloud SQL Auth-Proxy fungiert als Verbindung zwischen dem sqlcmd-Client und der Cloud SQL-Instanz.
- Starten Sie den Cloud SQL Auth-Proxy.
Bei Erfolg überwacht der Cloud SQL-Auth-Proxy die Verbindungsanfragen.
- Stellen Sie im SSH-Fenster 2 eine Verbindung zur Cloud SQL-Instanz her. Der sqlcmd-Client muss dafür eine Verbindung zum Cloud SQL Auth-Proxy herstellen.
Bei Erfolg wird in diesem Fenster die sqlcmd-Eingabeaufforderung und im SSH-Fenster 1, in dem der Cloud SQL Auth-Proxy ausgeführt wird, eine Meldung über die erfolgreiche Verbindung angezeigt.
- Führen Sie eine Bereinigung durch.
Cloud SQL-Instanz mit einer privaten IP-Adresse erstellen
So erstellen Sie eine Instanz, die private IP-Verbindungen verwendet:
-
Rufen Sie in der Google Cloud Console die Seite Cloud SQL – Erste Schritte auf.
- Wählen Sie im Abschnitt Erste Schritte den Tab „SQL Server“ aus und klicken Sie auf Sandbox-Instanz erstellen.
- Wenn Sie aufgefordert werden, die Compute API zu aktivieren, klicken Sie auf den API aktivieren Button.
- Geben Sie im Abschnitt Instanzinformationen einen Namen für die Instanz-ID ein.
- Geben Sie ein Passwort für den sqlserver-Nutzer ein. Notieren Sie sich das erstellte Passwort, da Sie es später benötigen.
- Wählen Sie im Abschnitt Region und zonale Verfügbarkeit auswählen die Option Einzelne Zone aus.
- Maximieren Sie Konfigurationsoptionen einblenden.
- Maximieren Sie Verbindungen.
- Löschen Sie Öffentliche IP-Adresse.
- Wählen Sie Private IP-Adresse aus.
- Wählen Sie Privater Dienstzugriff (Private Service Access, PSA) aus.
- Wählen Sie im Drop-down-Menü VPC-Netzwerk die Option Standard aus.
- Wenn Sie ein neues Projekt verwenden, wird die Meldung Netzwerkverbindung ist nicht eingerichtet angezeigt. Ein Feld mit dem Titel Netzwerk Einrichtung bestätigen verweist Sie auf die VPC-Dokumentation zum Einrichten von PSA.
- Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf:
- Wählen Sie das Standard-VPC-Netzwerk aus.
- Legen Sie eine Firewallregel fest, die den Zugriff auf den TCP-Port 22 zulässt:
- Wählen Sie den Tab Firewall aus.
- Wählen Sie unter VPC-Firewallregeln die Option VPC-Firewallregel erstellen aus.
- Geben Sie der Firewallregel einen Namen.
- Wählen Sie unter Ziele die Option Alle Instanzen im Netzwerk aus.
- Geben Sie unter IPv4-Quellbereiche
0.0.0.0/0ein. - Aktivieren Sie unter Protokolle und Ports das Kästchen TCP und geben Sie dann direkt darunter im Feld Ports
22ein. - Wählen Sie Erstellen aus.
- Weisen Sie einen IP-Adressbereich zu:
- Wählen Sie den Tab Zugriff auf private Dienste aus.
- Wählen Sie auf dem Tab Zugriff auf private Dienste den Tab Zugewiesene IP Bereiche für Dienste aus.
- Klicken Sie auf IP-Bereich zuweisen.
- Geben Sie einen Namen und optional eine Beschreibung für den zugewiesenen Bereich ein.
- Wenn Google einen verfügbaren Bereich auswählen soll, wählen Sie Automatisch aus.
- Geben Sie eine Präfixlänge zwischen
16und 124 ein. Die Anzahl der zugewiesenen Adressen entspricht 2 hoch (32 minus Präfixlänge). - Klicken Sie auf Zuweisen , um den zugewiesenen Bereich zu erstellen.
- Erstellen Sie eine private Verbindung:
- Wechseln Sie auf dem Tab Zugriff auf private Dienste zum Tab Private Verbindungen zu Diensten.
- Klicken Sie auf den Button Verbindung erstellen.
- Wählen Sie im Feld Zugewiesene Zuweisung im Feld Private Verbindung erstellen den Namen des gerade erstellten IP-Adressbereichs aus.
- Klicken Sie auf Verbinden.
- Kehren Sie nach dem Erstellen der Verbindung zu der Stelle zurück, an der Sie Ihre Cloud SQL-Instanz erstellten und klicken Sie auf Verbindung bestätigen.
- Wenn die PSA-Verbindung erfolgreich erstellt wurde, klicken Sie auf Instanz erstellen.
Sie werden zur Seite „Instanzübersicht“ weitergeleitet, während die neue Instanz erstellt wird.
Nachdem die Instanz erstellt wurde, scrollen Sie zum Abschnitt Verbindung zu dieser Instanz herstellen und speichern Sie den Verbindungsnamen der Instanz.
Der connection name hat das Format projectID:region:instanceID.
Sie benötigen diesen connection name später beim Starten des Cloud SQL Auth-Proxys.
Compute Engine-VM erstellen
So erstellen Sie eine VM:
-
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:
- Klicken Sie auf Instanz erstellen.
- Geben Sie einen Namen für die Instanz ein.
- Wählen Sie im Navigationsbereich Datenschutz und dann Keine Sicherungen aus.
- Wählen Sie im Navigationsbereich Sicherheit und unter Zugriffsbereiche, die Option Vollzugriff auf alle Cloud APIs zulassen aus.
- Klicken Sie auf Erstellen und warten Sie, bis die VM erstellt wurde.
Zwei SSH-Verbindungen zur Compute Engine-VM öffnen
Wir verwenden zwei Fenster in der VM. Das erste Fenster wird verwendet, um den sqlcmd-Client und den Cloud SQL Auth-Proxy zu installieren, den Namen der Instanzverbindung abzurufen und ihn zum Starten des Proxys zu verwenden. Das zweite Fenster wird verwendet, um über den Proxy eine Verbindung zur Cloud SQL-Instanz herzustellen.
- Maximieren Sie für die Compute Engine-VM-Instanz in der Spalte Verbinden das Menü SSH.
- Wählen Sie Im Browserfenster öffnen aus, um das SSH-Fenster 1 zu öffnen.
Es kann einige Sekunden dauern, bis Ihnen die Eingabeaufforderung im Fenster angezeigt wird.
- Wenn die Eingabeaufforderung angezeigt wird, geben Sie
pwdein, um zu prüfen, ob Sie sich im Verzeichnis/home/$USERbefinden.In diesem Fenster installieren Sie den sqlcmd-Client und den Cloud SQL Auth-Proxy und starten den Cloud SQL Auth-Proxy auch.
- Wählen Sie noch einmal Im Browserfenster öffnen aus, um das SSH-Fenster 2 zu öffnen.
In diesem Fenster stellen Sie eine Verbindung zu Ihrer Cloud SQL-Instanz her.
sqlcmd-Client installieren
Verwenden Sie für diesen Schritt das SSH-Fenster 1.
Installieren Sie die SQL Server-Befehlszeilentools (mssql-tools) für Ubuntu mit dieser Anleitung.
Cloud SQL Auth-Proxy installieren
Verwenden Sie für diesen Schritt das SSH-Fenster 1.
- Installieren Sie
wget:sudo apt-get install wget
- Laden Sie den Cloud SQL Auth-Proxy herunter:
wget https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.8.2/cloud-sql-proxy.linux.amd64 \ -O cloud-sql-proxy
- Machen Sie den Cloud SQL Auth-Proxy ausführbar:
chmod +x cloud-sql-proxy
Cloud SQL Auth-Proxy starten
Verwenden Sie für diesen Schritt das SSH-Fenster 1.
Starten Sie den Cloud SQL Auth-Proxy, damit Sie seine Ausgabe überwachen können. Ersetzen Sie
INSTANCE_CONNECTION_NAME durch den connection name, den Sie kopiert haben
, als Sie die Cloud SQL-Instanz erstellt haben.
./cloud-sql-proxy --private-ip INSTANCE_CONNECTION_NAME
Wenn der Cloud SQL Auth-Proxy erfolgreich gestartet wurde, wird im SSH-Fenster eine Meldung wie die diese angezeigt:
Listening on 127.0.0.1:1433 for myInstance Ready for new connections
Verbindung zur Cloud SQL-Instanz herstellen
Verwenden Sie für diesen Schritt das SSH-Fenster Nr. 2.
Führen Sie den folgenden Befehl aus und ersetzen Sie dabei USER_NAME durch den SQL Server-Nutzernamen.
sqlcmd -S 127.0.0.1 -U USER_NAME
Kehren Sie zum Terminalfenster zurück, in dem Sie den Cloud SQL Auth-Proxy gestartet haben. Es wird eine Meldung ähnlich der folgenden angezeigt:
New connection for myInstance
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:
-
Öffnen Sie in der Google Cloud Console die Seite Cloud SQL-Instanzen.
- Wählen Sie die Instanz
myinstanceaus, um die Seite Instanzendetails zu öffnen. - Klicken Sie oben auf der Seite in der Symbolleiste auf Löschen.
- Geben Sie im Fenster Instanz löschen den Namen der Instanz ein und klicken Sie dann auf Löschen.
Optionale Bereinigungsschritte
Wenn Sie die APIs, die im Rahmen dieser Kurzanleitung aktiviert wurden, nicht verwenden, können Sie sie deaktivieren.
- APIs, die in dieser Kurzanleitung aktiviert wurden:
- Cloud SQL Admin API
Rufen Sie in der Google Cloud Console die Seite APIs auf.
Wählen Sie die Cloud SQL Admin API aus und klicken Sie dann auf den Button API deaktivieren.
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:
Wählen Sie den Namen Ihrer Instanz aus.
Wählen Sie im Menü Weitere Aktionen die Option Löschen aus.
Nächste Schritte
Je nach Bedarf können Sie sich eingehender über das Erstellen von Cloud SQL-Instanzen informieren.
Sie können sich auch über das Erstellen von SQL Server-Nutzern und Datenbanken für Ihre Cloud SQL-Instanz informieren.
Außerdem können Sie sich über das Herstellen einer Verbindung zu einer Cloud SQL-Instanz aus anderen Google Cloud Anwendungen informieren: