1. Einführung
In diesem Codelab stellen Sie eine Southbound-Verbindung zu Cloud SQL her, das mit Private Service Connect als Dienstersteller bereitgestellt wurde.
Private Service Connect ist eine Funktion des Google Cloud-Netzwerks, mit der Nutzer privat aus ihrem VPC-Netzwerk auf verwaltete Dienste zugreifen können. Ebenso können Ersteller verwalteter Dienste diese Dienste in ihren eigenen separaten VPC-Netzwerken hosten und ihren Nutzern eine private Verbindung bieten. Wenn Sie beispielsweise mit Private Service Connect auf Looker zugreifen, sind Sie der Dienstnutzer und Google der Dienstersteller, wie in Abbildung 1 dargestellt.

Mit dem Southbound-Zugriff, auch als umgekehrter PSC bezeichnet, kann der Nutzer einen veröffentlichten Dienst als Ersteller erstellen, um Looker Zugriff auf Endpunkte lokal, in einer VPC, auf verwaltete Dienste und auf das Internet zu ermöglichen. Southbound-Verbindungen können in jeder Region bereitgestellt werden, unabhängig davon, wo Looker PSC bereitgestellt wird, wie in Abbildung 2 dargestellt.

Lerninhalte
- Private Service Connect-Cloud SQL-Instanz als Dienstersteller erstellen
- Private Service Connect-Endpunkt in Looker als Dienstnutzer erstellen
Voraussetzungen
- Google Cloud-Projekt mit Inhaberberechtigungen
- Vorhandene Looker PSC-Instanz

2. Aufgaben
Sie stellen eine Cloud SQL PSC-Instanz bereit, die als Dienstersteller fungiert und mit Looker PSC als Dienstnutzer verknüpft ist.
Mit den folgenden Aktionen wird der Zugriff auf den Diensterstellerdienst validiert:
- PSC-Endpunkt in Looker erstellen, der mit dem Dienstanhang des Diensterstellers verknüpft ist
- Mit der Looker Console eine Datenbankverbindung zu Cloud SQL PSC erstellen
- Verbindung zu Cloud SQL PSC testen, indem Sie sich authentifizieren und auf ein vordefiniertes Schema zugreifen
3. Codelab-Topologie

4. Einrichtung und Anforderungen
Umgebung zum selbstbestimmten Lernen einrichten
- Melden Sie sich in der Google Cloud Console an und erstellen Sie ein neues Projekt oder verwenden Sie ein vorhandenes. Wenn Sie noch kein Gmail- oder Google Workspace-Konto haben, müssen Sie eines erstellen.



- Der Projektname ist der Anzeigename für die Teilnehmer dieses Projekts. Er ist ein String, der nicht von Google APIs verwendet wird. Sie können ihn jederzeit aktualisieren.
- Die Projekt-ID ist für alle Google Cloud-Projekte eindeutig und unveränderlich. Sie kann also nicht mehr geändert werden, nachdem sie festgelegt wurde. Die Cloud Console generiert automatisch einen eindeutigen String. In den meisten Fällen ist es nicht wichtig, wie dieser aussieht. In den meisten Codelabs müssen Sie auf Ihre Projekt-ID verweisen (in der Regel als
PROJECT_IDangegeben). Wenn Ihnen die generierte ID nicht gefällt, können Sie eine andere zufällige ID generieren. Alternativ können Sie eine eigene ID eingeben und prüfen, ob sie verfügbar ist. Sie kann nach diesem Schritt nicht mehr geändert werden und bleibt für die Dauer des Projekts bestehen. - Außerdem gibt es noch einen dritten Wert, die Projektnummer, die von einigen APIs verwendet wird. Weitere Informationen zu diesen drei Werten finden Sie in der Dokumentation.
- Als Nächstes müssen Sie die Abrechnung aktivieren in der Cloud Console, um Cloud-Ressourcen/APIs verwenden zu können. Die Durchführung dieses Codelabs kostet wenig oder gar nichts. Wenn Sie Ressourcen beenden möchten, um zu vermeiden, dass Ihnen nach dieser Anleitung Kosten in Rechnung gestellt werden, können Sie die erstellten Ressourcen oder das Projekt löschen. Neue Google Cloud-Nutzer können am kostenlosen Testprogramm im Wert von 300$ teilnehmen.
Cloud Shell starten
Sie können Google Cloud zwar von Ihrem Laptop aus per Fernzugriff nutzen, in diesem Codelab verwenden Sie jedoch Google Cloud Shell, eine Befehlszeilenumgebung, die in der Cloud ausgeführt wird.
Klicken Sie in der Google Cloud Console in der Symbolleiste rechts oben auf das Cloud Shell-Symbol:

Die Bereitstellung und Verbindung mit der Umgebung sollte nur wenige Augenblicke dauern. Wenn der Vorgang abgeschlossen ist, sollte etwa Folgendes angezeigt werden:

Diese virtuelle Maschine verfügt über sämtliche Entwicklertools, die Sie benötigen. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft in Google Cloud, was die Netzwerkleistung und Authentifizierung erheblich verbessert. Alle Aufgaben in diesem Codelab können in einem Browser ausgeführt werden. Sie müssen nichts installieren.
5. Hinweis
APIs aktivieren
Prüfen Sie in Cloud Shell, ob Ihre Projekt-ID eingerichtet ist:
gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
echo $project
echo $region
Aktivieren Sie alle erforderlichen Dienste:
gcloud services enable compute.googleapis.com
6. Looker PSC-Projekt identifizieren
Zum Erstellen einer Cloud SQL PSC-Instanz müssen zulässige PSC-Projekte identifiziert werden. Daher muss das Looker PSC-Mandantenprojekt bei der Erstellung der Cloud SQL-Instanz angegeben oder aktualisiert werden, wenn eine vorhandene Instanz verwendet wird.
Looker PSC-Projekt mit gcloud bestimmen
Aktualisieren Sie in Cloud Shell [INSTANCE_NAME] mit dem Namen Ihrer Looker PSC-Instanz, um die Looker PSC-Projekt-ID zu erhalten:
gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json | grep -i lookerServiceAttachmentUri
In der Beispielausgabe ist „t7ec792caf2a609d1-tp“ das Looker PSC-Projekt:
gcloud looker instances describe looker-psc-instance --region=us-central1 --format=json | grep -i lookerServiceAttachmentUri
"lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
Looker PSC-Projekt mit der Cloud Console bestimmen
Öffnen Sie in der Cloud Console:
Looker → Looker PSC-Instanz

7. Cloud SQL-Instanz als Dienstersteller erstellen
Im folgenden Abschnitt erstellen Sie eine Cloud SQL PSC-Instanz für Testzwecke, die mit einem vordefinierten Passwort bereitgestellt wird. Dabei wird das Looker PSC-Projekt in der Liste der zulässigen PSC-Projekte angegeben.
Cloud SQL PSC erstellen
Erstellen Sie in Cloud Shell eine Instanz und aktivieren Sie Private Service Connect. Aktualisieren Sie [INSTANCE_PROJECT] mit Ihrer Looker PSC-Projekt-ID.
gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=[INSTANCE_PROJECT] \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123
Beispiel:
gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=t7ec792caf2a609d1-tp \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123
Cloud SQL-Dienstanhang abrufen
Nachdem Sie eine Cloud SQL-Instanz mit aktiviertem Private Service Connect erstellt haben, rufen Sie den URI des Dienstanhangs ab, der in einem späteren Schritt zum Erstellen des Private Service Connect-Endpunkts in Looker verwendet wird.
Führen Sie in Cloud Shell die folgenden Schritte aus:
gcloud sql instances describe [INSTANCE_NAME] --project=$project | grep -i pscServiceAttachmentLink
Die Beispielausgabe enthält den URI des Dienstanhangs:
projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155
gcloud sql instances describe cloud-sql-psc-demo --project=$project | grep -i pscServiceAttachmentLink:
pscServiceAttachmentLink: projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155
In der Cloud Console können Sie den Cloud SQL PSC-Dienstanhang abrufen:
Öffnen Sie in der Cloud Console:
SQL → SQL-Instanz → Verbindungen

8. PSC-Endpunktverbindung in Looker herstellen
Im folgenden Abschnitt verknüpfen Sie den Dienstanhang des Cloud SQL-Diensterstellers mit Looker Core PSC, indem Sie in Cloud Shell die Flags „–psc-service-attachment“ für eine einzelne Domain verwenden.
Erstellen Sie in Cloud Shell die PSC-Verknüpfung, indem Sie die folgenden Parameter an Ihre Umgebung anpassen:
- INSTANCE_NAME: Der Name Ihrer Looker-Instanz (Google Cloud Core).
- DOMAIN_1: sql.database1.com
- SERVICE_ATTACHMENT_1: URI, der beim Beschreiben der Cloud SQL PSC-Instanz erfasst wurde
- REGION: Die Region, in der Ihre Looker-Instanz (Google Cloud Core) gehostet wird
Führen Sie in Cloud Shell die folgenden Schritte aus:
gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--region=REGION
Beispiel:
gcloud looker instances update looker-psc-instance \
--psc-service-attachment domain=sql.database1.com,attachment=projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155 \
--region=us-central1
Prüfen Sie in Cloud Shell, ob der connectionStatus von serviceAttachments „ACCEPTED“ ist. Aktualisieren Sie INSTANCE_NAME mit dem Namen Ihrer Looker PSC-Instanz:
gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json
Beispiel:
gcloud looker instances describe looker-psc-instance --region=$region --format=json
Beispiel:
user@cloudshell$ gcloud looker instances describe looker-psc-instance --region=$region --format=json
{
"adminSettings": {},
"createTime": "2024-08-23T00:00:45.339063195Z",
"customDomain": {
"domain": "looker.cosmopup.com",
"state": "AVAILABLE"
},
"encryptionConfig": {},
"lookerVersion": "24.14.18",
"name": "projects/project/locations/us-central1/instances/looker-psc-instance",
"platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
"pscConfig": {
"allowedVpcs": [
"projects/project/global/networks/looker-psc-demo",
"projects/project/global/networks/looker-shared-vpc"
],
"lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
"serviceAttachments": [
{
"connectionStatus": "ACCEPTED",
"localFqdn": "sql.database1.com",
"targetServiceAttachmentUri": "projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155"
}
]
},
"pscEnabled": true,
"state": "ACTIVE",
"updateTime": "2024-09-04T14:40:05.613026012Z"
}
PSC-Endpunkt in der Cloud Console validieren
In der Cloud Console können Sie die PSC-Verbindung validieren.
Öffnen Sie in der Cloud Console:
Looker → Looker-Instanz → Details


9. Looker PSC in Cloud SQL PSC einbinden
Im folgenden Abschnitt erstellen Sie mit der Looker Console eine Datenbankverbindung zur Cloud SQL PSC-Instanz.
Öffnen Sie ADMIN → DATENBANK → VERBINDUNGEN und wählen Sie VERBINDUNG HINZUFÜGEN aus.
Geben Sie die Verbindungsdetails gemäß dem Screenshot unten ein und wählen Sie VERBINDEN aus.

Die Verbindung ist jetzt konfiguriert.

10. Looker-Verbindung validieren
Im folgenden Abschnitt erfahren Sie, wie Sie die Looker-Verbindung zur Cloud SQL PSC-Instanz mit der Looker-Aktion „test“ validieren.
Öffnen Sie die Datenverbindung ADMIN → DATENBANK → VERBINDUNGEN → cloud-sql-psc-demo → Test.
Wenn Sie „Test“ auswählen, stellt Looker eine Verbindung zur PostgreSQL-Datenbank her, wie unten dargestellt:

Bereinigen
Löschen Sie die Lab-Komponenten über ein einzelnes Cloud Shell-Terminal.
gcloud sql instances delete cloud-sql-psc-demo -q
11. Glückwunsch
Glückwunsch! Sie haben die Verbindung zu Cloud SQL PSC mit der Looker Console, die auf Private Service Connect basiert, erfolgreich konfiguriert und validiert.
Sie haben Cloud SQL PSC-Instanzen als Dienstersteller und einen Looker PSC-Endpunkt erstellt, der die Verbindung zum Diensterstellerdienst ermöglicht.
Cosmopup findet Codelabs toll!

Nächste Schritte
Sehen Sie sich einige dieser Codelabs an:
- Private Service Connect zum Veröffentlichen und Nutzen von Diensten verwenden
- Über Hybrid Networking mit Private Service Connect und einem internen TCP-Proxy-Load-Balancer mit lokalen Diensten verbinden
- Zugriff auf alle veröffentlichten Private Service Connect-Codelabs