Nachdem Sie eine Looker-Instanz (Google Cloud Core) mit einer privaten IP-Verbindung eingerichtet haben, können Sie die Instanz oder das Google Cloud-Projekt so konfigurieren, dass bestimmte Looker-Funktionen verwendet werden oder die Kommunikation mit externen Diensten oder dem Internet zugelassen oder eingeschränkt wird.
E-Mail-Zustellung auf externe Domains beschränken
Bei Looker-Instanzen (Google Cloud-Kern) mit einer privaten IP-Konfiguration ist standardmäßig die Zustellung von E-Mails an externe Domains zulässig. Wenn Sie die Domains einschränken möchten, an die Looker-Nutzer E-Mails senden können, können Sie eine Zulassungsliste für E-Mail-Domains einrichten.
Private IP-Looker-Instanz (Google Cloud Core) mit externen Diensten verbinden
Für Looker-Google Cloud-Kerninstanzen, die ein privates IP-Netzwerk verwenden, ist möglicherweise eine zusätzliche Konfiguration des Google Cloud-Projekts erforderlich, um eine Verbindung zu Diensten oder Ressourcen außerhalb eines Perimeters von VPC Service Controls herzustellen. Die Konfigurationsoptionen werden in den folgenden Abschnitten beschrieben.
Verbindung zu einer Google Cloud-Ressource oder einem Google Cloud-Dienst herstellen
Damit Sie eine Verbindung zu einer anderen Google Cloud-Ressource oder einem anderen Google Cloud-Dienst herstellen können, müssen Sie möglicherweise Regeln für eingehenden und ausgehenden Traffic einrichten, wenn sich das Projekt, in dem sich die Ressource befindet, außerhalb des Perimeters von VPC Service Controls befindet. Informationen zum Einrichten einer privaten Verbindung zu Datenquellen, die von einem anderen Cloud-Dienstanbieter gehostet werden, finden Sie unter Verbindung zu Datenbanken herstellen, die von anderen Cloud-Dienstanbietern gehostet werden auf dieser Seite.
Verbindung zu Datenbanken herstellen, die von anderen Cloud-Dienstanbietern gehostet werden
Damit Sie eine private Verbindung zu Datenbanken oder Diensten einrichten können, die von anderen Cloud-Dienstanbietern gehostet werden, muss Ihr Google Cloud-Projekt so konfiguriert sein, dass der Traffic an diese Cloud-Dienstanbieter weitergeleitet wird, um den Datenaustausch zu ermöglichen. Weitere Informationen zum Verbinden von Cloud-Umgebungen finden Sie auf der Seite Muster zum Verbinden anderer Cloud-Dienstanbieter mit Google Cloud.
Verbindung zu lokalen Ressourcen herstellen
Verwenden Sie Cloud VPN, um eine private Verbindung zu lokalen Datenbanken einzurichten. Sie müssen in Ihrer VPC für jede lokale Datenbank eine dynamische Route konfigurieren. Wenn Sie die DNS-Weiterleitung für das Projekt konfiguriert haben, in dem sich die Looker-Instanz (Google Cloud-Kern) befindet, kann Looker eine Verbindung zu allen lokalen Ressourcen herstellen.
Verbindung zu anderen Internetdiensten herstellen
Wenn Sie eine Verbindung mit internetbasierten Diensten herstellen möchten, müssen Sie in Ihrer VPC für jeden Dienst eine dynamische Route konfigurieren. Sie können außerdem Cloud NAT verwenden, um ausgehende Verbindungen zu erstellen.
Öffentlichen Zugriff auf private IP-Instanzen gewähren
Wenn Sie weitere Möglichkeiten haben, die Schnittstelle von externen Parteien mit Ihrer Looker-Instanz (Google Cloud Core) zu steuern, können Sie einen Proxyserver einrichten, um öffentlichen Internetzugriff auf eine Instanz zu gewähren, für die nur private IP-Adresse aktiviert ist.
Hinweise
Bevor Sie einen Proxyserver einrichten können, müssen Sie die neueste Version der Google Cloud CLI installieren oder auf die neueste Version aktualisieren.
Proxyserver einrichten
Im folgenden Beispiel wird gezeigt, wie Sie mit der Befehlszeile einen NGINX-Proxyserver für eine vorhandene Looker-Instanz (Google Cloud Core) einrichten, für die eine private IP-Netzwerkverbindung aktiviert ist. Obwohl NGINX-Server entweder mit Konfigurationen für öffentliche IP-Adressen oder mit privaten IP-Adressen (mit VPN-Zugriff) instanziiert werden können, wird in diesem Beispiel eine öffentliche IP-Konfiguration veranschaulicht.
Sie können einen beliebigen Webserver verwenden, der als Reverse-Proxyserver konfiguriert werden kann. Sie müssen keinen NGINX-Server speziell einrichten.
Erstellen Sie mit der Befehlszeile mithilfe der folgenden Befehle ein Subnetzwerk und eine Ubuntu 18 NGINX VM mit öffentlicher IP-Adresse in Ihrem VPC-Netzwerk:
PROJECT="NAME_OF_CLOUD_PROJECT_THAT_CREATES_LOOKER" NETWORK="VPC_PEERED_WITH_SERVICE_NETWORKING" SUBNETNAME="NAME_SUBNET_WHEN_CREATED_INSTANCE" IP_RANGE=ANY_NONCONFLICTING_RANGE REGION="REGION gcloud compute networks subnets create $SUBNETNAME --network=$NETWORK \ --range=$IP_RANGE --region=$REGION --project=$PROJECT
ZONE="ZONE_THE_INSTANCE_NEEDS_TO_BE_CREATED_IN" INSTANCE_NAME="THE_NAME_FOR_THE_VM_INSTANCE" INSTANCE_EXTERNAL_IP=$(gcloud compute instances create $INSTANCE_NAME \ --project=$PROJECT --zone=$ZONE --network=$NETWORK --subnet=$SUBNETNAME \ --format="json" | jq '.[].networkInterfaces[].accessConfigs[].natIP')
PROJECT
ist der Name des Google Cloud-Projekts, in dem Sie die Looker-Instanz (Google Cloud Core) erstellt haben.NETWORK
ist der Name des VPC-Netzwerk, das Sie für Ihre Looker-Instanz (Google Cloud-Kern) konfiguriert haben.- Setzen Sie
IP_RANGE
auf mindestens/22
(z. B.10.10.0.0/22
). SUBNETNAME
kann ein beliebiger Name sein. Er muss nicht mit dem Subnetznamen Ihrer Looker-Instanz (Google Cloud Core) übereinstimmen.ZONE
kann durch Ausführen vongcloud compute zones list
ermittelt werden.INSTANCE_NAME
kann beliebig aufgerufen werden. Dies bezieht sich auf den Namen der VM-Instanz.
Führen Sie den folgenden gcloud-Befehl aus:
echo $INSTANCE_EXTERNAL_IP
Dadurch wird die öffentliche IP-Adresse Ihrer VM-Instanz generiert.
Erstellen Sie eine Firewall, damit Traffic zu Ihrer Instanz an den Ports 80, 443 und 22 (oder anderen Ports, die NGINX annimmt) mithilfe der folgenden Befehle zugelassen wird:
gcloud compute firewall-rules create managementnet-allow-http-https-ssh \ --direction=INGRESS --priority=1000 --network=$NETWORK --action=ALLOW \ --rules=tcp:80,tcp:443,tcp:22 --source-ranges=0.0.0.0/0 --project=$PROJECT
Erstellen Sie ein Drittanbieterzertifikat, um auf die öffentliche URL zugreifen zu können. In diesem Beispiel wird Let's Encrypt verwendet, um ein Let's Encrypt-Zertifikat zu generieren. Sie können aber ein beliebiges Verschlüsselungszertifikat verwenden.
Melden Sie sich auf der NGINX-VM an.
Installieren Sie das Let's Encrypt-Tool:
sudo apt-get update sudo apt-get install certbot python3-certbot-nginx
Rufen Sie die Datei
nginx.config
auf:sudo vi /etc/nginx/sites-available/default
Ersetzen Sie in der Datei
nginx.config
die vorhandene Serverkonfiguration, um den Server und Port 80 für die Überwachung einzurichten:server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; server_name SERVER_NAME>; }
SERVER_NAME
ist der DNS-Eintragsname aus der benutzerdefinierten Domain für Ihre Looker-Instanz (Google Cloud-Kern)
NGINX neu laden:
sudo nginx -t && sudo nginx -s reload
Generieren Sie ein Zertifikat:
sudo certbot --nginx -d SERVER_NAME
SERVER_NAME
ist der DNS-Eintragsname aus der benutzerdefinierten Domain für Ihre Looker-Instanz (Google Cloud-Kern)
Ersetzen Sie in der Datei
nginx.config
die Serverkonfiguration aus Schritt 3 durch die folgende Serverkonfiguration, um Traffic an Ihre Looker-Instanz (Google Cloud Core) weiterzuleiten:server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name SERVER_NAME ssl_certificate /etc/letsencrypt/live/SERVER_NAME/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/SERVER_NAME/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; location / { set $priv_dns "private.lookerapp"; proxy_pass https://PRIVATE_IP_ADDRESS/$request_uri; proxy_set_header Host $server_name; proxy_set_header X-Forwarded-Host $host:$server_port; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_ssl_protocols TLSv1.3; proxy_ssl_verify off; proxy_http_version 1.1; proxy_pass_request_headers on; proxy_set_header X-Real-IP $remote_addr; proxy_redirect https://$priv_dns/ https://SERVER_NAME/; } } server { if ($host = SERVER_NAME) { return 301 https://$host$request_uri; } listen 80 default_server; listen [::]:80 default_server; server_name SERVER_NAME; return 404; }
PRIVATE_IP_ADDRESS
ist die private IP-Adresse, die Ihrer Looker- (Google Cloud-Core-)Instanz zugewiesen ist. Sie können sie in der Google Cloud Console auf der Seite DETAILS der Instanz ansehen.SERVER_NAME
ist der Name des DNS-Eintrags aus der benutzerdefinierten Domain für Ihre Looker-Instanz (Google Cloud-Kern)
Validieren Sie die Datei
nginx.config
und laden Sie sie neu:sudo nginx -t && sudo nginx -s reload
Nächste Schritte