Looker PSC – Northbound Regional External L7 ALB

1. Einführung

In diesem Codelab erstellen Sie einen L7-regionalen Application Load Balancer und ein Private Service Connect-Backend, um einen Northbound-Zugriff auf Looker zu erhalten. Für den Zugriff auf Looker nach Norden 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 anbieten. Wenn Sie beispielsweise Private Service Connect verwenden, um auf Looker zuzugreifen, sind Sie der Dienstnutzer und Google ist der Dienstersteller, wie in Abbildung 1 dargestellt.

Abbildung 1:

145ea4672c3a3b14.png

Der Zugriff in Richtung Süden, auch als Reverse PSC bezeichnet, ermöglicht es dem Nutzer, einen veröffentlichten Dienst als Producer zu erstellen, um Looker Zugriff auf lokale Endpunkte, in einer VPC, auf verwaltete Dienste und auf das Internet zu gewähren. Verbindungen in Richtung Süden können in jeder Region bereitgestellt werden, unabhängig davon, wo Looker PSC bereitgestellt wird (siehe Abbildung 2).

Abbildung 2.

259493afd914f68b.png

Aufgaben in diesem Lab

  • Netzwerkanforderungen
  • Looker-Zulassungsliste für den Nord-Süd-Zugriff aktualisieren
  • Private Service Connect-Backend im VPC des Nutzers erstellen
  • Google und selbst signierte Zertifikate

Voraussetzungen

def88091b42bfe4d.png

2. Aufgaben

Sie erstellen ein zugelassenes Kundennetzwerk namens looker-psc-demo, um einen regionalen externen L7-Application Load Balancer und eine PSC-Backend-NEG bereitzustellen, für die ein Google- oder selbstsigniertes Zertifikat erforderlich ist. Für beide 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 Proxy des Load Balancers wird eine interne IP-Adresse zugewiesen. Pakete, die von einem Proxy an eine Back-End-VM oder einen Back-End-Endpunkt gesendet werden, haben eine Quell-IP-Adresse aus dem Nur-Proxy-Subnetz.

Backend-Dienst

Ein Back-End-Dienst dient als Brücke zwischen Ihrem Load Balancer und Ihren Back-End-Ressourcen. In der Anleitung ist der Back-End-Dienst mit der PSC-NEG verknüpft.

4. Codelab-Topologie

7f06f9b9876f76c4.png

5. Einrichtung und Anforderungen

Umgebung für das selbstbestimmte 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 Projektteilnehmer. Es ist ein Zeichenstring, der von Google APIs nicht verwendet wird. Sie können ihn jederzeit aktualisieren.
  • Die Projekt-ID ist für alle Google Cloud-Projekte eindeutig und kann nach der Festlegung nicht mehr geändert werden. Die Cloud Console generiert automatisch einen eindeutigen String. ist Ihnen meist egal, was es ist. In den meisten Codelabs musst du auf deine Projekt-ID verweisen, die üblicherweise als PROJECT_ID bezeichnet wird. Wenn Ihnen die generierte ID nicht gefällt, können Sie eine weitere zufällige ID generieren. Alternativ können Sie Ihr eigenes Konto ausprobieren und prüfen, ob es verfügbar ist. Sie kann nach diesem Schritt nicht mehr geändert werden und bleibt für die Dauer des Projekts bestehen.
  • Zur Information gibt es noch einen dritten Wert, die Projektnummer, die von manchen APIs verwendet wird. Weitere Informationen zu allen drei Werten finden Sie in der Dokumentation.
  1. Als Nächstes müssen Sie in der Cloud Console die Abrechnung aktivieren, um Cloud-Ressourcen/APIs verwenden zu können. Dieses Codelab ist kostengünstig. Sie können die von Ihnen erstellten Ressourcen oder das Projekt löschen, um Ressourcen herunterzufahren, um zu vermeiden, dass über diese Anleitung hinaus Kosten anfallen. Neuen Google Cloud-Nutzern steht das kostenlose Testprogramm mit einem Guthaben von 300 $ zur Verfügung.

Cloud Shell starten

Sie können Google Cloud zwar von Ihrem Laptop aus der Ferne bedienen, 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 rechts oben in der Symbolleiste auf das Cloud Shell-Symbol:

55efc1aaa7a4d3ad.png

Die Bereitstellung und Verbindung mit der Umgebung dauert nur einen Moment. Wenn der Vorgang abgeschlossen ist, sollte in etwa Folgendes angezeigt werden:

7ffe5cbb04455448.png

Diese virtuelle Maschine verfügt über sämtliche Entwicklertools, die Sie benötigen. Es bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft auf Google Cloud, wodurch die Netzwerkleistung und Authentifizierung erheblich verbessert werden. Alle Arbeiten in diesem Codelab können in einem Browser erledigt werden. Sie müssen nichts installieren.

6. Vorbereitung

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

Im folgenden Abschnitt erstellen Sie das Nutzernetzwerk, das in der VPC-Zulassungsliste des Looker-PSC 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 Nutzernetzwerk-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

Erstelle in Cloud Shell das regionale Nur-Proxy-Subnetz des Producers:

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

Die folgenden Schritte sind erforderlich, um eine benutzerdefinierte Domain einzurichten:

Beispiel für eine benutzerdefinierte Domain

Die benutzerdefinierte Domain looker.cosmopup.com besteht als öffentliche DNS-Subdomain, die mit einem A-Datensatz der zuvor definierten statischen IP-Adressen (regional-alb-static-ip) verknüpft ist. Screenshot eines Terminals, in dem die DNS-Suche validiert wird

6be44a9b2536e3f4.png

Erstellen Sie als Nächstes die Kundendomain mit der Subdomain looker.cosmopup.com

5424ce99136d5b3a.png

OAuth-Beispiel

Unten finden Sie ein Beispiel für OAuth-Anmeldedaten für autorisierte Ursprünge und einen 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 dem Zertifikatmanager zu erstellen:

10. Looker VPC-Zulassungsliste

Zulässige VPCs ansehen

Im folgenden Abschnitt rufen Sie die Liste der zulässigen VPCs für Looker über die Cloud Console-Benutzeroberfläche auf.

Rufen Sie in der Cloud Console Folgendes auf:

Looker → Looker-Instanz → Details

Im folgenden Beispiel befinden sich in der Liste der zulässigen VPCs keine Einträge:

ad33177a2d721ea7.png

Zulässige VPCs aktualisieren

Aktualisieren Sie Ihre Looker-Instanz, um den Nord-Süd-Zugriff zu unterstützen, indem Sie „looker-psc-demo“ als zulässiges 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 „looker-psc-demo“ und dann „Continue“ (Weiter).

dc931643e1b220a.png

3e26d16d83cceae9.png

Zulässige VPCs validieren

Liste der zugelassenen VPCs aktualisieren

Rufen Sie in der Cloud Console Folgendes auf:

Looker → Looker-Instanz → Details

e34664c867929c66.png

11. PSC-Back-End erstellen

Looker PSC als Dienstersteller generiert einen Dienstanhang-URI, der von Dienstnutzern verwendet wird, um Endpunkte und Backends bereitzustellen und Zugriff auf Looker nach Norden zu erhalten. Im folgenden Schritt identifizieren Sie den URI des Looker-PSC-Dienstanhangs und erstellen dann ein Backend der Private Service Connect-Netzwerk-Endpunktgruppe (NEG) in der Nutzer-VPC.

Looker PSC-Dienstanhang identifizieren

Rufen Sie in der Cloud Console den URI des Dienstanhangs 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, um den psc-target-service zu aktualisieren:

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-Endgruppe 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 mit der Cloud Console den regionalen externen Application Load Balancer und ordnen die generierten Zertifikate der Frontend-Konfiguration zu.

Rufen Sie in der Cloud Console Folgendes auf:

Netzwerkdienste → Load-Balancing → Load-Balancer erstellen

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 bei der Bereitstellung der Netzwerkinfrastruktur verwendet wird
  • Das Nur-Proxy-Subnetz wird basierend auf Ihrer Region automatisch ausgefüllt.
  • Die zuvor definierte statische IP-Adresse ist je nach ausgewählter Region verfügbar.

a1c24bd4650b27d3.png

Wenn Sie „Zertifikat“ auswählen, wird ein Drop-down-Menü mit der Option zum Verwenden eines vorhandenen oder neuen Zertifikats angezeigt:

aac196a6fa1ee3d5.png

Laden Sie das Zertifikat und den 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 „ERSTELLEN“ aus:

bdf5793ba8f46bb9.png

Der Load-Balancer ist jetzt aktiviert:

61adc0509f07ab15.png

Auf die Looker-Benutzeroberfläche zugreifen

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

Im Folgenden finden Sie ein Beispiel (nicht vertrauenswürdiges Zertifikat) für den Zugriff auf die benutzerdefinierte Looker-Domain looker.cosmopup.com, die Zugriff auf die Looker-Benutzeroberfläche nach Norden erhält:

ae43d0d0d7136044.png

12. Bereinigen

Löschen Sie die Lab-Komponenten in einem einzelnen Cloud Shell-Terminal.

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 Nord-Süd-Verbindung zu Looker mit einer Kundendomain und einem regionalen externen Application Load Balancer erfolgreich konfiguriert und validiert.

Sie haben die Nutzerinfrastruktur entwickelt, eine PSC-NEG und eine benutzerdefinierte Domain erstellt und die verschiedenen Zertifikatsoptionen kennengelernt. Es gibt so viele spannende Dinge, die Sie mit Looker ausprobieren können.

Cosmopup findet Codelabs super!!

c911c127bffdee57.jpeg

Was liegt als Nächstes an?

Sehen Sie sich einige dieser Codelabs an:

Weitere Informationen und Videos

Referenzdokumente