1. Einführung
In diesem Codelab stellen Sie eine Southbound-Verbindung zu Cloud SQL her, das mit Private Service Connect als Dienstersteller bereitgestellt wird.
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 Private Service Connect für den Zugriff auf Looker verwenden, sind Sie der Dienstnutzer und Google der Dienstersteller, wie in Abbildung 1 dargestellt.

Der Southbound-Zugriff, auch als Reverse-PSC bezeichnet, ermöglicht es dem Nutzer, einen veröffentlichten Dienst als Ersteller zu erstellen, damit Looker auf Endpunkte lokal, in einer VPC, auf verwaltete Dienste und im Internet zugreifen kann. Southbound-Verbindungen können in jeder Region bereitgestellt werden, unabhängig davon, wo die Looker PSC bereitgestellt wird, wie in Abbildung 2 dargestellt.

Lerninhalte
- Private Service Connect-Producer-Dienst für Cloud SQL-Instanz erstellen
- Private Service Connect-Endpunkt in Looker als Dienstnutzer erstellen
Voraussetzungen
- Google Cloud-Projekt mit Inhaberberechtigungen
- Bestehende Looker PSC-Instanz

2. Aufgaben
Sie richten eine Cloud SQL-PSC-Instanz ein, die als Dienstersteller bereitgestellt wird und mit Looker PSC als Dienstnutzer verknüpft ist.
Die folgenden Aktionen bestätigen den Zugriff auf den Producer-Dienst:
- PSC-Endpunkt in Looker erstellen, der dem Dienstanhang des Diensterstellers zugeordnet ist
- Datenbankverbindung zu Cloud SQL PSC über die Looker-Konsole erstellen
- Verbindung zum 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. Es handelt sich um einen String, der nicht von Google APIs verwendet wird. Sie können sie jederzeit aktualisieren.
- Die Projekt-ID ist für alle Google Cloud-Projekte eindeutig und unveränderlich (kann nach dem Festlegen nicht mehr geändert werden). In der Cloud Console wird automatisch ein eindeutiger String generiert. Normalerweise ist es nicht wichtig, wie dieser String 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 einen eigenen Namen eingeben und prüfen, ob er verfügbar ist. Sie kann nach diesem Schritt nicht mehr geändert werden und bleibt für die Dauer des Projekts bestehen. - Zur Information: Es gibt einen dritten Wert, die Projektnummer, die von einigen APIs verwendet wird. Weitere Informationen zu diesen drei Werten
- Als Nächstes müssen Sie die Abrechnung in der Cloud Console aktivieren, um Cloud-Ressourcen/-APIs zu verwenden. Die Durchführung dieses Codelabs kostet wenig oder gar nichts. Wenn Sie Ressourcen herunterfahren möchten, um Kosten zu vermeiden, die über diese Anleitung hinausgehen, können Sie die erstellten Ressourcen oder das Projekt löschen. Neue Google Cloud-Nutzer können am kostenlosen Testzeitraum mit einem Guthaben von 300 $ teilnehmen.
Cloud Shell starten
Während Sie Google Cloud von Ihrem Laptop aus per Fernzugriff nutzen können, wird in diesem Codelab Google Cloud Shell verwendet, eine Befehlszeilenumgebung, die in der Cloud ausgeführt wird.
Klicken Sie in der Google Cloud Console rechts oben in der Symbolleiste auf das Cloud Shell-Symbol:

Die Bereitstellung und Verbindung mit der Umgebung sollte nur wenige Augenblicke dauern. Anschließend sehen Sie in etwa Folgendes:

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 angegeben werden. Das Looker-PSC-Mandantenprojekt muss daher beim Erstellen der Cloud SQL-Instanz angegeben oder aktualisiert werden, wenn eine vorhandene Instanz verwendet wird.
Looker PSC-Projekt mit gcloud ermitteln
Aktualisieren Sie in Cloud Shell [INSTANCE_NAME] mit dem Namen Ihrer Looker PSC-Instanz, um die Looker PSC-Projekt-ID abzurufen:
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 ermitteln
Rufen Sie in der Cloud Console Folgendes auf:
Looker → Looker-PSC-Instanz

7. Cloud SQL-Instanz für Produzenten erstellen
Im folgenden Abschnitt erstellen Sie eine Cloud SQL-PSC-Instanz, die zu Testzwecken mit einem vordefinierten Passwort bereitgestellt wird, in dem das Looker-PSC-Projekt in der Liste der zulässigen PSC-Projekte angegeben ist.
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 folgende 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:
Rufen Sie in der Cloud Console Folgendes auf:
„SQL“ → „SQL-Instanz“ → „Verbindungen“

8. PSC-Endpunktverbindung in Looker herstellen
Im folgenden Abschnitt verknüpfen Sie den Dienstanhang des Cloud SQL-Erstellers mit Looker Core PSC. Dazu verwenden Sie die Flags „–psc-service-attachment“ in Cloud Shell für eine einzelne Domain.
Erstellen Sie in Cloud Shell die PSC-Zuordnung, indem Sie die folgenden Parameter an Ihre Umgebung anpassen:
- INSTANCE_NAME: Der Name Ihrer Looker (Google Cloud Core)-Instanz.
- 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 (Google Cloud Core)-Instanz gehostet wird
Führen Sie in Cloud Shell folgende 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“ auf „ACCEPTED“ gesetzt ist. Achten Sie darauf, dass Sie den INSTANCE_NAME Ihrer Looker PSC angeben:
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
Sie können die PSC-Verbindung über die Cloud Console prüfen.
Rufen Sie in der Cloud Console Folgendes auf:
„Looker“ → „Looker-Instanz“ → „Details“


9. Looker-PSC in Cloud SQL mit PSC einbinden
Im folgenden Abschnitt erstellen Sie mit der Looker Console eine Datenbankverbindung zur Cloud SQL-PSC-Instanz.
Gehen Sie zu ADMINISTRATOR → DATENBANK → VERBINDUNGEN und wählen Sie VERBINDUNG HINZUFÜGEN aus.
Geben Sie die Verbindungsinformationen wie im 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.
Rufen Sie die Datenverbindung ADMIN → DATENBANK → VERBINDUNGEN → cloud-sql-psc-demo → Testen auf.
Wenn „Test“ ausgewählt ist, stellt Looker eine Verbindung zur PostgreSQL-Datenbank her, wie unten dargestellt:

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

Nächste Schritte
Hier finden Sie einige Codelabs:
- 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