1. Einführung
In diesem Codelab erstellen Sie einen L7-regionalen internen Application Load Balancer und ein Private Service Connect-Backend, um Zugriff auf Looker zu erhalten. Für den ausgehenden Zugriff auf Looker muss die VPC des Nutzers in 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:
Mit dem Downstream-Zugriff, auch als umgekehrter PSC bezeichnet, kann der Nutzer einen veröffentlichten Dienst als Ersteller erstellen, um Looker Zugriff auf Endpunkte lokal, in einem VPC, auf verwaltete Dienste und auf das Internet zu gewähren. Südgerichtete Verbindungen können in jeder Region bereitgestellt werden, unabhängig davon, wo Looker PSC bereitgestellt wird, wie in Abbildung 2 dargestellt.
Abbildung 2.
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-Zertifikate im Vergleich zu selbst signierten Zertifikaten
Voraussetzungen
- Google Cloud-Projekt mit Inhaberberechtigungen
- Registrierte Domain
- Vorhandene Looker-PSC-Instanz
2. Aufgaben
Sie erstellen ein zugelassenes Verbrauchernetzwerk namens „looker-psc-demo“, um einen regionalen internen L7-Application Load Balancer und eine PSC-Backend-NEG bereitzustellen, für die ein Google- oder selbst verwaltetes Zertifikat erforderlich ist. Weitere Informationen finden Sie auf der Zusammenfassungsseite für Load Balancer und Zertifikate.
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 Backend-VM oder einen Backend-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
5. Einrichtung und Anforderungen
Einrichtung der Umgebung im eigenen Tempo
- 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 ein Konto erstellen.
- Der Projektname ist der Anzeigename für die Teilnehmer dieses Projekts. 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. In der Cloud Console wird automatisch ein eindeutiger String generiert. In der Regel spielt es keine Rolle, wie er lautet. In den meisten Codelabs müssen Sie auf Ihre Projekt-ID verweisen (normalerweise als
PROJECT_ID
gekennzeichnet). Wenn Ihnen die generierte ID nicht gefällt, können Sie eine andere zufällige 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: Es gibt einen dritten Wert, die Projektnummer, die von einigen APIs verwendet wird. Weitere Informationen zu diesen drei Werten finden Sie in der Dokumentation.
- Als Nächstes müssen Sie die Abrechnung in der Cloud Console aktivieren, um Cloud-Ressourcen/-APIs verwenden zu können. Die Durchführung dieses Codelabs ist kostenlos oder kostet nur sehr wenig. Wenn Sie die Ressourcen deaktivieren möchten, um weitere Kosten nach Abschluss dieser Anleitung zu vermeiden, können Sie die von Ihnen erstellten Ressourcen oder das Projekt löschen. 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 per Fernzugriff von Ihrem Laptop aus 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 oben rechts in der Symbolleiste auf das Cloud Shell-Symbol:
Die Bereitstellung und Verbindung mit der Umgebung sollte nur wenige Minuten dauern. Wenn der Vorgang abgeschlossen ist, sollte in etwa Folgendes angezeigt werden:
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 auf Google Cloud. Dadurch werden 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 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 Netzwerk-Endpunktgruppe des Kunden:
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 Subnetz für den internen Application Load Balancer:
gcloud compute networks subnets create consumer-ilb-subnet --network looker-psc-demo --range 172.16.40.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
8. Benutzerdefinierte Domain erstellen
So richten Sie eine benutzerdefinierte Domain ein:
Im folgenden Beispiel ist looker.cosmopup.com die benutzerdefinierte Domain.
OAuth-Beispiel
Unten sehen Sie ein Beispiel für OAuth-Anmeldedaten für autorisierte Ursprünge und einen Rückruf für die Subdomain looker.cosmopup.com.
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:
- Selbst verwaltete regionale Zertifikate Informationen zum Erstellen und Verwenden regionaler selbstverwalteter Zertifikate finden Sie unter Regionales selbstverwaltetes Zertifikat bereitstellen. Zertifikatszuordnungen werden nicht unterstützt.
- Regionale von Google verwaltete Zertifikate Zertifikatszuordnungen werden nicht unterstützt. Die folgenden Typen von regionalen von Google verwalteten Zertifikaten werden von Certificate Manager unterstützt:
- Regionale von Google verwaltete Zertifikate mit projektspezifischer DNS-Autorisierung. Weitere Informationen finden Sie unter Regionales von Google verwaltetes Zertifikat bereitstellen.
- Regionale von Google verwaltete (private) Zertifikate mit Certificate Authority Service. Weitere Informationen finden Sie unter Regionales von Google verwaltetes Zertifikat mit CA Service bereitstellen.
10. Zulassungsliste für Looker-VPCs
Zugelassene VPCs ansehen
Im folgenden Abschnitt rufen Sie über die Cloud Console-Benutzeroberfläche die Liste der zulässigen VPCs für Looker auf.
Rufen Sie in der Cloud Console Folgendes auf:
Looker → Looker-Instanz → Details
Im folgenden Beispiel enthält die Liste „Zulässige VPCs“ keine Einträge:
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
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).
Zulässige VPCs prüfen
Liste der zulässigen VPCs aktualisieren
Rufen Sie in der Cloud Console Folgendes auf:
Looker → Looker-Instanz → Details
11. PSC-Backend erstellen
Looker PSC generiert als Dienstersteller einen URI für Dienstanhänge, mit dem Dienstnutzer Endpunkte und Backends bereitstellen können, um Zugriff auf Looker zu erhalten. Im folgenden Schritt geben Sie den URI des Looker-PSC-Dienstanhangs an und erstellen dann ein Private Service Connect-NEG-Backend (Network Endpoint Group) im VPC des Nutzers.
Looker PSC-Dienstanhänge identifizieren
Rufen Sie in der Cloud Console den URI des Dienstanhangs auf und kopieren Sie ihn:
Looker → Looker-Instanz → Details
Netzwerk-Endpunktgruppe für PSC 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 einer PSC-Netzwerkendgruppe prüfen
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 internen Application Load Balancer erstellen
In den folgenden Schritten erstellen Sie mit der Cloud Console den regionalen internen 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
Wählen Sie die folgenden Optionen aus:
Back-End-Konfiguration erstellen
Wählen Sie die folgenden Optionen aus und passen Sie die Umgebung an Ihre Bereitstellung an:
- Region, in der die Netzwerkinfrastruktur bereitgestellt wird
- Netzwerk: looker-psc-demo
- Das Nur-Proxy-Subnetz wird automatisch anhand Ihrer Region und Ihres Netzwerks ausgefüllt.
Routingregeln
Keine Konfiguration erforderlich
Frontend-Konfiguration
Prüfen Sie, ob der Load Balancer aktiviert ist, und rufen Sie die IP-Adresse ab.
Cloud Console → Netzwerkdienste → Load Balancing → looker-ilb-alb
12. DNS-Auflösung
Die DNS-Auflösung für die benutzerdefinierte Domain kann autoritatives lokales DNS oder Cloud DNS sein. In dieser Anleitung definieren wir Cloud DNS als autoritativen Server für die benutzerdefinierte Looker-Domain. Wenn Sie die DNS-Auflösung von lokalen Systemen in der GCP aktivieren möchten, müssen Sie Serverrichtlinien für eingehenden Traffic aktivieren. Wenn Sie eine Richtlinie für eingehenden Traffic erstellen, erstellt Cloud DNS Einstiegspunkte für die Richtlinie für eingehenden Traffic im VPC-Netzwerk, auf das die Serverrichtlinie angewendet wird. Die Einstiegspunkte der Richtlinie für eingehende Server sind interne IPv4-Adressen aus dem primären IPv4-Adressbereich jedes Subnetzes im entsprechenden VPC-Netzwerk, mit Ausnahme von Subnetzen, die nur für Proxys verwendet werden.
Im folgenden Abschnitt wird eine private DNS-Zone für die benutzerdefinierte Looker-Domain looker.cosmopup.com und ein A-Eintrag mit der IP-Adresse des Load Balancers erstellt.
13. Private DNS-Zone erstellen
Erstellen Sie in Cloud Shell die private Cloud DNS-Zone.
gcloud dns --project=$projectid managed-zones create looker-cosmopup-dns --description="" --dns-name="looker.cosmopup.com." --visibility="private" --networks="https://compute.googleapis.com/compute/v1/projects/$projectid/global/networks/looker-psc-demo"
Erstellen Sie in Cloud Shell den A‑Eintrag mit der IP‑Adresse des Load Balancers, die Sie im vorherigen Schritt ermittelt haben.
gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="<insert-your-ip>"
Beispiel:
gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="172.16.20.7"
Als Nächstes muss ein Hybridnetzwerk (z.B. Interconnect, HA-VPN) zwischen dem VPC „looker-psc-demo“ und dem lokalen Netzwerk konfiguriert werden, um eine Verbindung zu ermöglichen.
Im Folgenden sind die Schritte aufgeführt, die erforderlich sind, um eine Hybrid-NEG-Verbindung zu On-Premises-Umgebungen herzustellen:
- Produkt für die Netzwerkverbindung auswählen | Google Cloud
- In einer Hub-and-Spoke-Architektur mit VPC-Peering wird die hybride NEG im selben VPC wie der Cloud-Router (Hub) bereitgestellt.
- Achten Sie darauf, dass die lokalen Firewalls für den Bereich des Nur-Proxy-Subnetzes aktualisiert werden, da dieses Subnetz als Quell-IP-Adresse für die Kommunikation mit lokalen Arbeitslasten dient.
- Aktualisieren Sie das lokale DNS mit der IP-Adresse der eingehenden Weiterleitung als DNS-Resolver für looker.cosomopup.com.
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 verwendetem Zertifikat (z. B. nicht vertrauenswürdig oder vertrauenswürdig) kann eine Warnung angezeigt werden.
Unten sehen Sie ein Beispiel (nicht vertrauenswürdiges Zertifikat) für den Zugriff auf die Looker-Benutzerdefinierte Domain looker.cosmopup.com, über die ein northbound-Zugriff auf die Looker-Benutzeroberfläche gewährt wird:
14. Bereinigen
So löschen Sie Lab-Komponenten über ein einzelnes Cloud Shell-Terminal:
gcloud compute forwarding-rules delete regional-internal-alb-fr --region=$region -q
gcloud compute target-https-proxies delete regional-internal-alb-target-proxy --region=$region -q
gcloud compute url-maps delete regional-internal-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
15. Glückwunsch
Sie haben die Nord-Süd-Verbindung zu Looker mit einer Kundendomain und einem regionalen internen Application Load Balancer erfolgreich konfiguriert und validiert.
Sie haben die Infrastruktur für den Verbraucher erstellt, gelernt, wie Sie eine PSC-NEG und eine benutzerdefinierte Domain erstellen, und die verschiedenen Zertifikatsoptionen kennengelernt. Es gibt so viele spannende Dinge, die Sie mit Looker ausprobieren können.
Cosmopup findet Codelabs super!
Was liegt als Nächstes an?
Sehen Sie sich einige dieser Codelabs an:
- Private Service Connect zum Veröffentlichen und Nutzen von Diensten verwenden
- Über Private Service Connect und einen internen TCP-Proxy-Load Balancer eine Verbindung zu On-Premise-Diensten über Hybridnetzwerke herstellen
- Zugriff auf alle veröffentlichten Private Service Connect-Codelabs
Weitere Lesematerialien und Videos
Referenzdokumente
- Selbstverwaltete SSL-Zertifikate verwenden | Load Balancing | Google Cloud
- Regionales von Google verwaltetes Zertifikat bereitstellen
- Private Service Connect-Backend erstellen | VPC | Google Cloud
- Private Service Connect-Backend erstellen | VPC | Google Cloud
- Private Service Connect-Instanz für Looker (Google Cloud Core) erstellen
- Dienste mit Private Service Connect veröffentlichen