Looker-PSC-Zugriff von Süden auf Cloud SQL-PSC

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.

145ea4672c3a3b14.png

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.

259493afd914f68b.png

Lerninhalte

  • Private Service Connect-Cloud SQL-Instanz als Dienstersteller erstellen
  • Private Service Connect-Endpunkt in Looker als Dienstnutzer erstellen

Voraussetzungen

def88091b42bfe4d.png

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

1e7035ea608d7d23.png

4. Einrichtung und Anforderungen

Umgebung zum selbstbestimmten Lernen einrichten

  1. 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.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • 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_ID angegeben). 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.
  1. 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:

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

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

1367ec0136aa5ad6.png

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

18940483f646ed15.png

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

2d4684d722d31e4b.png

9fa909f826dec963.png

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.

eb3ef74d3ae71f1a.png

Die Verbindung ist jetzt konfiguriert.

29017202470ad81f.png

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:

d9729caf9a61bfc2.png

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!

c911c127bffdee57.jpeg

Nächste Schritte

Sehen Sie sich einige dieser Codelabs an:

Weitere Informationen und Videos

Referenzdokumente