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

Wenn Sie öffentlichen eingehenden Zugriff auf Ihre Looker (Google Cloud Core)-Instanz ermöglichen möchten, 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) wird eine benutzerdefinierte Domain und ein Private Service Connect-Backend mit einem Application Load Balancer verwendet. Bei dieser Konfiguration wird die Authentifizierung mit benutzerdefinierten Domainzertifikaten verwendet, was für eine zusätzliche Sicherheits- und Kontrollschicht für den Nutzerzugriff sorgt. Sie müssen Private Service Connect für Ihre Looker (Google Cloud Core)-Instanz beim Erstellen aktivieren, um diese Funktion nutzen zu können.

Wenn Sie über Private Service Connect auf Looker (Google Cloud Core) zugreifen, 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 Nutzers 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-Instanz (Google Cloud Core) 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 Prozess 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 Ihre 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 IAM-Rolle Looker-Administrator (roles/looker.admin) 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

Gehen Sie in der Google Cloud Console so vor, 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 öffnet sich der Bereich Neue benutzerdefinierte Domain hinzufügen.

  4. Geben Sie den Hostnamen der Webdomain, die Sie verwenden möchten, mit bis zu 64 Zeichen ein. Verwenden Sie dabei nur Buchstaben, Ziffern und Bindestriche, z. B. looker.examplepetstore.com.

  5. Klicken Sie auf Weiter.

  6. Der Abschnitt DNS-Einträge aktualisieren wird geöffnet. Die öffentliche IP-Adresse für den eingehenden Traffic wird im Feld Daten aufgeführt.

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

Das Aktualisieren der benutzerdefinierten Domain dauert 10 bis 15 Minuten.

Nachdem Ihre benutzerdefinierte Domain eingerichtet wurde, wird sie in der Google Cloud -Konsole auf der Seite mit den Instanzdetails von Looker (Google Cloud Core) auf dem Tab BENUTZERDEFINIERTE DOMAIN in der Spalte Domain angezeigt.

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

OAuth-Anmeldedaten aktualisieren

  1. Rufen Sie in der Google Cloud -Konsole APIs & Dienste > Anmeldedaten auf und wählen Sie die OAuth-Client-ID für den OAuth-Client aus, 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 zu aktualisieren. Es muss denselben DNS-Namen enthalten, den Ihre Organisation für den Zugriff auf Looker (Google Cloud Core) verwendet. Wenn Ihre benutzerdefinierte Domain beispielsweise looker.examplepetstore.com ist, geben Sie looker.examplepetstore.com als URI ein.

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

Öffentlicher Zugriff auf Looker (Google Cloud Core)

Nachdem Sie die benutzerdefinierte Domain eingerichtet haben, erstellen Sie als Nächstes ein selbst signiertes Zertifikat oder ein von Google verwaltetes Zertifikat mit DNS-Autorisierung. Nachdem Sie Ihr Zertifikat erstellt haben, können Sie einen externen regionalen Application Load Balancer mit einem Private Service Connect-Backend als Backend-Dienst bereitstellen. Sobald 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)

Gewährt die vollständige Kontrolle über Looker (Google Cloud Core)-Ressourcen, einschließlich des Erstellens einer Instanz, die für 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), die als Back-Ends bezeichnet werden und in Google Cloud Load Balancer eingebunden sind. Im Codelab Looker PSC Northbound Regional External L7 ALB finden Sie eine Anleitung dazu, wie Sie über ein Back-End öffentlich auf eine Looker (Google Cloud Core)-Instanz zugreifen, für die Private Service Connect aktiviert ist.

Ein Beispiel für die Einrichtung eines Private Service Connect-Backend-Netzwerks 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 Netzwerk aus über ein Backend.

Wie im Diagramm dargestellt, greifen öffentliche Clients auf Looker (Google Cloud Core) zu, indem sie einen DNS-Lookup ausführen und dabei die Kundendomain von Looker (Google Cloud Core) angeben, die die IP-Adresse des externen regionalen Application Load Balancers als A-Eintrag zurückgibt. Sobald der Load Balancer Traffic empfängt, stellt der Backend-Dienst (der aus dem Private Service Connect-Backend besteht) eine Verbindung zu einem Dienstanhang in einer von Google verwalteten Ersteller-VPC her, in der Looker (Google Cloud Core) gehostet wird. Achten Sie darauf, dass das VPC-Netzwerk des Nutzers Eingang zulässt für Ihre Looker (Google Cloud Core)-Instanz.

Fehlerbehebung

Wenn Sie den eingehenden Zugriff auf eine Looker (Google Cloud Core)-Instanz über ein Private Service Connect-Back-End konfigurieren, kann es zu Problemen kommen, bei denen die Instanz nicht bereitgestellt werden kann 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 verharrt, fehlen obligatorische Netzwerkkonfigurationsschritte für das Nutzerprojekt. Das Nutzerprojekt ist nicht autorisiert, eine Verbindung zum Looker (Google Cloud Core)-Diensterstellerdienst herzustellen, oder es wurde keine Netzwerkanhangressource in der Nutzer-VPC erstellt.

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

  1. VPC-Zulassungsliste: Fügen Sie das Consumer-Netzwerk 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 Nutzer-VPC autorisiert, eine Verbindung zum Erstellerdienst Looker (Google Cloud Core) herzustellen.
  2. Konfiguration des Netzwerkanhangs: Erstellen Sie eine Netzwerkanhangressource im VPC des Nutzers und verknüpfen Sie sie mit der Looker (Google Cloud Core)-Instanz.

Nächste Schritte