Looker PSC – Northbound Regional External L7 ALB

1. Einführung

In diesem Codelab erstellen Sie einen regionalen Application Load Balancer der Schicht 7 und ein Private Service Connect-Backend, um den Zugriff auf Looker zu ermöglichen. Für den Northbound-Zugriff auf Looker muss die Nutzer-VPC auf der Zulassungsliste der Looker-PSC-Instanz stehen.

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.

Abbildung 1:

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 Looker PSC bereitgestellt wird, wie in Abbildung 2 dargestellt.

Abbildung 2.

259493afd914f68b.png

Lerninhalte

  • Netzwerkanforderungen
  • Looker-Zulassungsliste für den Northbound-Zugriff aktualisieren
  • Private Service Connect-Backend in der Nutzer-VPC erstellen
  • Von Google signierte Zertifikate im Vergleich zu selbst signierten Zertifikaten

Voraussetzungen

def88091b42bfe4d.png

2. Aufgaben

Sie richten ein zugelassenes Consumer-Netzwerk (looker-psc-demo) ein, um einen regionalen externen L7-Application Load Balancer und ein PSC-Back-End-NEG bereitzustellen, für das ein von Google signiertes oder selbstsigniertes Zertifikat erforderlich ist. Bei beiden Methoden ist eine registrierte Domain erforderlich, die mit der in Looker definierten benutzerdefinierten Domain übereinstimmt.

3. Netzwerkanforderungen

Im Folgenden finden Sie eine Aufschlüsselung der Netzwerkanforderungen:

Komponenten

Beschreibung

VPC (looker-psc-demo)

VPC im benutzerdefinierten Modus

PSC-NEG-Subnetz

Wird verwendet, um eine IP-Adresse für die Netzwerk-Endpunktgruppe zuzuweisen.

Nur-Proxy-Subnetz

Jedem der Proxys des Load-Balancers wird eine interne IP-Adresse zugewiesen. Pakete, die von einem Proxy an eine Backend-VM oder einen Backend-Endpunkt gesendet werden, haben eine Quell-IP-Adresse aus dem Nur-Proxy-Subnetz.

Backend-Dienst

Ein Back-End-Dienst fungiert als Brücke zwischen Ihrem Load-Balancer und Ihren Back-End-Ressourcen. Im Tutorial ist der Backend-Dienst mit der PSC-NEG verknüpft.

4. Codelab-Topologie

7f06f9b9876f76c4.png

5. 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. 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 es mit einem eigenen Namen versuchen und sehen, 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.

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

7. Verbrauchernetzwerk

Im folgenden Abschnitt erstellen Sie das Netzwerk des Nutzers, das in der Zulassungsliste der Looker PSC-VPC aktualisiert wird.

VPC-Netzwerk

Führen Sie in Cloud Shell folgende Schritte aus:

gcloud compute networks create looker-psc-demo --subnet-mode custom

Subnetze erstellen

Erstellen Sie in Cloud Shell das Subnetz der Nutzer-Netzwerk-Endpunktgruppe:

gcloud compute networks subnets create consumer-psc-neg-subnet --network looker-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access

Erstellen Sie in Cloud Shell das regionale Nur-Proxy-Subnetz für den Producer:

gcloud compute networks subnets create $region-proxy-only-subnet \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=$region \
  --network=looker-psc-demo \
  --range=10.10.10.0/24

IP-Adresse des Load-Balancers reservieren

Reservieren Sie in Cloud Shell eine externe IP-Adresse für den Load-Balancer:

gcloud compute addresses create regional-alb-static-ip  \
   --region=$region \
   --network-tier=STANDARD

Rufen Sie in Cloud Shell die reservierte IP-Adresse auf:

gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address:

Beispielausgabe:

user@cloudshell$ gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address: 
address: 35.208.202.244

8. Benutzerdefinierte Domain erstellen

Für die Einrichtung einer benutzerdefinierten Domain sind folgende Schritte erforderlich:

Beispiel für eine benutzerdefinierte Domain

Die benutzerdefinierte Domain looker.cosmopup.com ist als öffentliche DNS-Subdomain vorhanden, die einem A-Eintrag der zuvor definierten statischen IP-Adressen (regional-alb-static-ip) zugeordnet ist. Hier sehen Sie einen Screenshot eines Terminals, auf dem die DNS-Suche validiert wird.

6be44a9b2536e3f4.png

Erstellen Sie als Nächstes die Kundendomäne mit der Subdomäne looker.cosmopup.com.

5424ce99136d5b3a.png

OAuth-Beispiel

Unten sehen Sie ein Beispiel für OAuth-Anmeldedaten für autorisierte Ursprünge und den Rückruf für die Subdomain „looker.cosmopup.com“.

c7e5b8c7d2cc6a01.png

9. Zertifikate

Sie können entweder Compute Engine- oder Zertifikatmanager-Zertifikate erstellen. Verwenden Sie eine der folgenden Methoden, um Zertifikate mit Certificate Manager zu erstellen:

10. Looker-VPC auf die Zulassungsliste setzen

Zulässige VPCs ansehen

Im folgenden Abschnitt verwenden Sie die Cloud Console-UI, um die Liste der zulässigen VPCs für Looker aufzurufen.

Rufen Sie in der Cloud Console Folgendes auf:

„Looker“ → „Looker-Instanz“ → „Details“

Im folgenden Beispiel sind keine Einträge in der Liste „Zulässige VPCs“ vorhanden:

ad33177a2d721ea7.png

Zulässige VPCs aktualisieren

Aktualisieren Sie Ihre Looker-Instanz, um den Northbound-Zugriff zu unterstützen, indem Sie „looker-psc-demo“ als zulässige VPC hinzufügen.

Rufen Sie in der Cloud Console Folgendes auf:

„Looker“ → „Looker-Instanz“ → „Bearbeiten“

cbbc069688890b82.png

„Verbindungen“ → „Zulässige VPCs“

Wählen Sie das Projekt aus, in dem „looker-psc-demo“ bereitgestellt wird, gefolgt von der VPC „looker-psc-demo“, und klicken Sie dann auf „Weiter“.

dc931643e1b220a.png

3e26d16d83cceae9.png

Zulässige VPCs validieren

Liste der zulässigen VPCs aktualisieren

Rufen Sie in der Cloud Console Folgendes auf:

„Looker“ → „Looker-Instanz“ → „Details“

e34664c867929c66.png

11. PSC-Backend erstellen

Looker PSC als Dienstersteller generiert einen Dienstanhangs-URI, der von Dienstnutzern verwendet wird, um Endpunkte und Backends bereitzustellen und so den Zugriff auf Looker zu ermöglichen. Im nächsten Schritt ermitteln Sie den URI des Looker PSC-Dienstanhangs und erstellen dann ein Private Service Connect-Backend (NEG) im VPC des Nutzers.

Looker-PSC-Service-Attachment identifizieren

Rufen Sie in der Cloud Console den Dienstanhang-URI auf und kopieren Sie ihn:

„Looker“ → „Looker-Instanz“ → „Details“

a253f94e946a1eef.png

PSC-Netzwerk-Endpunktgruppe erstellen

Führen Sie in Cloud Shell die folgenden Schritte aus und aktualisieren Sie dabei „psc-target-service“:

gcloud compute network-endpoint-groups create looker-northbound-neg \
    --network-endpoint-type=private-service-connect \
    --psc-target-service=[UPDATE WITH YOU LOOKER SERVICE ATTACHMENT URI] \
    --region=$region \
    --network=looker-psc-demo \
    --subnet=consumer-psc-neg-subnet

Beispiel:

gcloud compute network-endpoint-groups create looker-northbound-neg \
    --network-endpoint-type=private-service-connect \
 --psc-target-service=projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183 \
    --region=$region \
    --network=looker-psc-demo \
    --subnet=consumer-psc-neg-subnet

Erstellung der PSC-Netzwerk-Endpunktgruppe validieren

Führen Sie in Cloud Shell die folgenden Schritte aus und achten Sie darauf, dass der pscConnectionStatus akzeptiert wird:

gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:

Beispiel:

user@cloudshell$ gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus: 
  pscConnectionStatus: ACCEPTED

Regionalen Application Load Balancer erstellen

In den folgenden Schritten erstellen Sie den regionalen externen Application Load Balancer mit der Cloud Console und verknüpfen die generierten Zertifikate mit der Frontend-Konfiguration.

Rufen Sie in der Cloud Console Folgendes auf:

„Network Services“ → „Load Balancing“ → „Create Load Balancer“

e3474ca153d7c55a.png

Wählen Sie die folgenden Optionen aus:

63c2e656953444f2.png

Frontend-Konfiguration erstellen

Wählen Sie die folgenden Optionen aus und passen Sie die Umgebung an Ihre Bereitstellung an:

  • Region, die beim Bereitstellen der Netzwerkinfrastruktur verwendet wird
  • Das Nur-Proxy-Subnetz wird basierend auf Ihrer Region automatisch ausgefüllt.
  • Die zuvor definierte statische IP-Adresse ist basierend auf Ihrer Regionsauswahl verfügbar.

a1c24bd4650b27d3.png

Wenn Sie „Zertifikat“ auswählen, wird die Option zum Verwenden eines vorhandenen oder neuen Zertifikats angezeigt:

aac196a6fa1ee3d5.png

Laden Sie Ihr Zertifikat und Ihren privaten Schlüssel hoch und wählen Sie dann „ERSTELLEN“ aus:

64a390bda0c9c3f1.png

Wählen Sie „FERTIG“ aus, um die Frontend-Konfiguration abzuschließen:

758a1921e3020854.png

Back-End-Konfiguration erstellen

Wählen Sie die folgenden Optionen aus:

e9bf17b1277bd597.png

af3b4a59864b15bc.png

6c784cc0169c892b.png

ba3bf9fa7d3497a5.png

Routingregeln erstellen

Wählen Sie die folgenden Optionen aus (Standardoptionen):

8884421f10a50ce0.png

Überprüfen und abschließen

Prüfen Sie die Konfiguration und wählen Sie CREATE aus:

bdf5793ba8f46bb9.png

Der Load-Balancer ist jetzt aktiviert:

61adc0509f07ab15.png

Auf die Looker-Benutzeroberfläche zugreifen

Nachdem der Load-Balancer in Betrieb ist, können Sie über einen Webbrowser auf Ihre benutzerdefinierte Looker-Domain zugreifen. Je nach Art des verwendeten Zertifikats, z. B. nicht vertrauenswürdiges oder vertrauenswürdiges Zertifikat, wird möglicherweise eine Warnung angezeigt.

Unten sehen Sie ein Beispiel für den Zugriff auf die benutzerdefinierte Looker-Domain „looker.cosmopup.com“ (nicht vertrauenswürdiges Zertifikat), über die der Zugriff auf die Looker-UI in Richtung Norden erfolgt:

ae43d0d0d7136044.png

12. Bereinigen

Lab-Komponenten über ein einzelnes Cloud Shell-Terminal löschen

gcloud compute forwarding-rules delete regional-external-alb-fr --region=$region -q

gcloud compute target-https-proxies delete regional-external-alb-target-proxy --region=$region -q

gcloud compute url-maps delete regional-external-alb --region=$region -q

gcloud compute backend-services delete looker-psc-neg-backend-svc --region=$region -q

gcloud compute addresses delete regional-alb-static-ip --region=$region -q

gcloud compute network-endpoint-groups delete looker-northbound-neg --region=$region -q

gcloud compute networks delete looker-psc-demo -q

13. Glückwunsch

Sie haben die Northbound-Verbindung zu Looker mit einer Kundendomäne und einem regionalen externen Application Load Balancer erfolgreich konfiguriert und validiert.

Sie haben die Consumer-Infrastruktur erstellt, gelernt, wie Sie eine PSC NEG und eine benutzerdefinierte Domain erstellen, und die verschiedenen Zertifikatsoptionen kennengelernt. Es gibt viele spannende Dinge, die Ihnen den Einstieg in Looker erleichtern.

Cosmopup findet Codelabs toll!!

c911c127bffdee57.jpeg

Nächste Schritte

Hier finden Sie einige Codelabs:

Weitere Informationen und Videos

Referenzdokumente