Öffentlicher eingehender Zugriff auf eine Looker (Google Cloud Core)-Instanz über Private Service Connect

Um öffentlichen eingehenden Zugriff auf Ihre Looker (Google Cloud Core)-Instanz zu ermöglichen, können Sie Private Service Connect mit benutzerdefinierter Domainauthentifizierung konfigurieren. Private Service Connect bietet zwei Möglichkeiten für Clients, eine Verbindung herzustellen: privat über Ihr VPC-Netzwerk oder öffentlich über einen externen Load Balancer.

Bei einer gängigen Bereitstellung für Looker (Google Cloud Core) werden eine benutzerdefinierte Domain und ein Private Service Connect-Backend mit einem Application Load Balancer verwendet. Diese Konfiguration verwendet die Zertifikatsauthentifizierung für benutzerdefinierte Domains, die eine zusätzliche Sicherheits- und Kontrollschicht für den Nutzerzugriff bietet. Sie müssen Private Service Connect aktivieren für Ihre Looker (Google Cloud Core)-Instanz während der Erstellung aktivieren, um diese Funktion nutzen zu können.

Wenn Sie Private Service Connect verwenden, um auf Looker (Google Cloud Core) zuzugreifen, sind Sie der Dienstnutzer und Looker (Google Cloud Core) ist der Dienstersteller. Für den eingehenden Zugriff auf Looker (Google Cloud Core) muss die VPC des Dienstnutzers als zulässige VPC für die Private Service Connect-Instanz von Looker (Google Cloud Core) hinzugefügt werden.

Benutzerdefinierte Domain erstellen

Nachdem die Looker (Google Cloud Core)-Instanz erstellt wurde, müssen Sie als Erstes eine benutzerdefinierte Domain einrichten und die OAuth-Anmeldedaten für die Instanz aktualisieren. In den nächsten Abschnitten wird der Vorgang beschrieben.

Wenn Sie eine benutzerdefinierte Domain für Instanzen mit privaten Verbindungen (Private Service Connect) erstellen, muss die benutzerdefinierte Domain die folgenden Anforderungen erfüllen:

  • Die benutzerdefinierte Domain muss aus mindestens drei Teilen bestehen, darunter mindestens eine Subdomain. Beispiel: subdomain.domain.com.
  • Die benutzerdefinierte Domain darf Folgendes nicht enthalten:
    • looker.com
    • google.com
    • googleapis.com
    • gcr.io
    • pkg.dev

Benutzerdefinierte Domain einrichten

Nachdem die Looker (Google Cloud Core)-Instanz erstellt wurde, können Sie eine benutzerdefinierte Domain einrichten.

Hinweis

Bevor Sie die Domain Ihrer Looker (Google Cloud Core)-Instanz anpassen können, müssen Sie herausfinden, wo die DNS-Einträge Ihrer Domain gespeichert sind, damit Sie sie aktualisieren können.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die Looker-Administrator (roles/looker.admin) IAM-Rolle für das Projekt zuzuweisen, in dem sich die Instanz befindet, um die Berechtigungen zu erhalten, die Sie zum Erstellen einer benutzerdefinierten Domain für eine Looker (Google Cloud Core)-Instanz benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Benutzerdefinierte Domain erstellen

Führen Sie in der Google Cloud Console die folgenden Schritte aus, um die Domain Ihrer Looker (Google Cloud Core)-Instanz anzupassen:

  1. Klicken Sie auf der Seite Instanzen auf den Namen der Instanz, für die Sie eine benutzerdefinierte Domain einrichten möchten.
  2. Klicken Sie auf den Tab Benutzerdefinierte Domain.
  3. Klicken Sie auf Benutzerdefinierte Domain hinzufügen.

    Daraufhin wird der Bereich Neue benutzerdefinierte Domain hinzufügen geöffnet.

  4. Geben Sie nur mit Buchstaben, Ziffern und Bindestrichen den Hostnamen mit bis zu 64 Zeichen für die Webdomain ein, die Sie verwenden möchten, z. B. looker.examplepetstore.com.

  5. Klicken Sie auf Weiter.

  6. Der Bereich DNS-Einträge aktualisieren wird geöffnet. Die öffentliche IP-Adresse des Eingangs ist im Feld Daten aufgeführt.

  7. Klicken Sie im Bereich Neue benutzerdefinierte Domain hinzufügen auf FERTIG , um zum Tab BENUTZERDEFINIERTE DOMAIN zurückzukehren.

Die Aktualisierung der benutzerdefinierten Domain dauert 10 bis 15 Minuten.

Nachdem Ihre benutzerdefinierte Domain eingerichtet wurde, wird sie in der Domain Spalte auf dem Tab BENUTZERDEFINIERTE DOMAIN der Looker (Google Cloud Core) Instanzdetailseite in der Google Cloud Console angezeigt.

Nachdem Ihre benutzerdefinierte Domain erstellt wurde, können Sie Informationen dazu aufrufen oder sie löschen.

OAuth-Anmeldedaten aktualisieren

  1. Rufen Sie Ihren OAuth-Client auf, indem Sie in der Google Cloud Console zu APIs & Dienste > Anmeldedaten navigieren und die OAuth-Client-ID für den OAuth-Client auswählen, der von Ihrer Looker (Google Cloud Core)-Instanz verwendet wird.
  2. Klicken Sie auf die Schaltfläche URI hinzufügen , um das Feld Autorisierte JavaScript-Quellen in Ihrem OAuth-Client so zu aktualisieren, dass es denselben DNS-Namen enthält, den Ihre Organisation für den Zugriff auf Looker (Google Cloud Core) verwenden wird. Wenn Ihre benutzerdefinierte Domain beispielsweise looker.examplepetstore.com lautet, geben Sie looker.examplepetstore.com als URI ein.

  3. Aktualisieren oder hinzufügen Sie die benutzerdefinierte Domain der Liste der Autorisierten Weiterleitungs-URIs für die OAuth-Anmeldedaten, die Sie verwendet haben, als Sie die Looker (Google Cloud Core)-Instanz erstellt haben. Fügen Sie /oauth2callback am Ende des URI hinzu. Wenn Ihre benutzerdefinierte Domain beispielsweise looker.examplepetstore.com lautet, geben Sie looker.examplepetstore.com/oauth2callback ein.

Öffentlicher Zugriff auf Looker (Google Cloud Core)

Nachdem Sie die benutzerdefinierte Domain eingerichtet haben, müssen Sie als Nächstes ein selbstsigniertes Zertifikat oder ein von Google verwaltetes Zertifikat mit DNS-Autorisierung erstellen. Sobald Ihr Zertifikat erstellt wurde, können Sie einen externen regionalen Application Load Balancer mit einem Private Service Connect-Backend als Backend-Dienst bereitstellen. Nachdem der Load Balancer bereitgestellt wurde, können Sie Ihr öffentliches DNS mit der Kundendomain und der IP-Adresse des Load Balancers als A-Eintrag aktualisieren.

Erforderliche Rollen

Rolle

Beschreibung

Compute-Netzwerkadministrator (roles/compute.networkAdmin)

Vollständige Kontrolle über das VPC-Netzwerk, das eine Verbindung zu einer Looker (Google Cloud Core)-Instanz initiiert, einschließlich des Erstellens und Verwaltens eines HTTPS-Zielproxys.

Rolle „Administrator für Compute-Load-Balancer“ (roles/compute.loadBalancerAdmin)

Private Service Connect-Back-Ends erstellen.

Looker-Administrator (roles/looker.admin)

Vollständige Kontrolle über Looker (Google Cloud Core)-Ressourcen, einschließlich des Erstellens einer Instanz, für die Private Service Connect aktiviert ist, und des Erstellens einer benutzerdefinierten Domain.

DNS-Administrator (roles/dns.admin) (optional)

Vollständige Kontrolle über Cloud DNS-Ressourcen, einschließlich DNS-Zonen und -Einträgen.

Zertifikatmanager-Inhaber (roles/certificatemanager.owner) (optional)

Erforderlich zum Erstellen und Verwalten von Zertifikatmanager-Ressourcen.

Netzwerkeinrichtung

Die folgenden Netzwerkkomponenten sind erforderlich:

Looker (Google Cloud Core), das mit Private Service Connect bereitgestellt wird, unterstützt Private Service Connect-Netzwerk-Endpunktgruppen (NEGs), sogenannte Back-Ends, die in Google Cloud Load Balancer integriert sind. Eine Anleitung zum öffentlichen Zugriff auf eine Looker (Google Cloud Core)-Instanz, für die Private Service Connect aktiviert ist, mithilfe eines Back-Ends finden Sie im Codelab Looker PSC Northbound Regional External L7 ALB.

Ein Beispiel für eine Private Service Connect-Backend-Netzwerkeinrichtung für den öffentlichen Zugriff ist im folgenden Diagramm dargestellt:

Die Netzwerkarchitektur für den Zugriff auf eine Looker (Google Cloud Core)-Instanz von einem lokalen System aus über ein Backend.

Wie im Diagramm gezeigt, greifen öffentliche Clients auf Looker (Google Cloud Core) zu, indem sie eine DNS-Suche durchführen und die Looker (Google Cloud Core)-Kundendomain angeben, die die IP-Adresse des externen regionalen Application Load Balancers als A-Eintrag zurückgibt. Sobald der Traffic vom Load Balancer empfangen wird, stellt der Backend-Dienst (der aus dem Private Service Connect-Backend besteht) eine Verbindung zu einem Dienstanhang in einer von Google verwalteten Producer-VPC her, in der Looker (Google Cloud Core) gehostet wird. Achten Sie darauf, dass das VPC-Netzwerk des Dienstnutzers eingehenden Zugriff auf Ihre Looker (Google Cloud Core)-Instanz hat.

Fehlerbehebung

Wenn Sie den eingehenden Zugriff auf eine Looker (Google Cloud Core)-Instanz mithilfe eines Private Service Connect-Back-Ends konfigurieren, können Probleme auftreten, bei denen die Instanz nicht erfolgreich bereitgestellt wird oder der Load Balancer den Backend-Dienst nicht erreichen kann.

Wenn in den Load Balancer-Logs die Fehler failed_to_pick_backend und no healthy upstream (HTTP 503) angezeigt werden und die Netzwerk-Endpunktgruppe (NEG) im Status pending bleibt, fehlen obligatorische Schritte zur Netzwerkkonfiguration für das Dienstnutzerprojekt. Insbesondere ist das Dienstnutzerprojekt nicht autorisiert, eine Verbindung zum Looker (Google Cloud Core)-Producer-Dienst herzustellen, oder es wurde keine Netzwerkanhangressource in der VPC des Dienstnutzers erstellt.

Führen Sie die folgenden obligatorischen Schritte zur Netzwerkkonfiguration aus, um diese Probleme zu beheben:

  1. VPC-Zulassungsliste: Fügen Sie das Dienstnutzernetzwerk der Liste der zulässigen VPCs für eingehende Verbindungen in den Looker (Google Cloud Core)-Einstellungen hinzu. Durch das Hinzufügen dieses Netzwerks wird die VPC des Dienstnutzers autorisiert, eine Verbindung zum Looker (Google Cloud Core)-Producer-Dienst herzustellen.
  2. Konfiguration des Netzwerkanhangs: Erstellen Sie eine Netzwerkanhangressource in der VPC des Dienstnutzers und verknüpfen Sie sie mit der Looker (Google Cloud Core)-Instanz.

Nächste Schritte