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

145ea4672c3a3b14.png

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.

259493afd914f68b.png

Lerninhalte

  • Private Service Connect-Producer-Dienst für Cloud SQL-Instanz erstellen
  • Private Service Connect-Endpunkt in Looker als Dienstnutzer erstellen

Voraussetzungen

def88091b42bfe4d.png

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

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.pnga99b7ace416376c4.png5e3ff691252acf41.png

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

55efc1aaa7a4d3ad.png

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

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

1367ec0136aa5ad6.png

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“

18940483f646ed15.png

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“

2d4684d722d31e4b.png9fa909f826dec963.png

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.

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.

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:

d9729caf9a61bfc2.png

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!!

c911c127bffdee57.jpeg

Nächste Schritte

Hier finden Sie einige Codelabs:

Weitere Informationen und Videos

Referenzdokumente