Une fois que vous avez configuré une instance Looker (Google Cloud Core) avec une connexion IP privée, vous pouvez configurer votre instance ou votre projet Google Cloud pour utiliser certaines fonctionnalités de Looker (Google Cloud Core), ou pour autoriser ou limiter la communication avec des services externes ou Internet.
Restreindre la distribution des e-mails aux domaines externes
Par défaut, les instances Looker (Google Cloud Core) qui utilisent une configuration IP privée autorisent la distribution des e-mails aux domaines externes. Pour limiter les domaines auxquels les utilisateurs de Looker peuvent envoyer des e-mails, vous pouvez configurer une liste d'autorisation de domaines de messagerie.
Connecter une instance Looker IP privée (Google Cloud Core) à des services externes
Les instances Looker (Google Cloud Core) qui utilisent un réseau IP privé peuvent nécessiter une configuration supplémentaire du projet Google Cloud pour se connecter à des services ou à des ressources en dehors d'un périmètre VPC Service Controls. Les options de configuration sont décrites dans les sections suivantes.
Se connecter à une ressource ou à un service Google Cloud
Pour vous connecter à une autre ressource ou à un autre service Google Cloud, vous devrez peut-être configurer des règles d'entrée et de sortie si le projet dans lequel se trouve la ressource se trouve en dehors du périmètre de VPC Service Controls. Pour savoir comment configurer une connexion privée à des sources de données hébergées par un autre fournisseur de services cloud, consultez Se connecter aux bases de données hébergées par d'autres fournisseurs de services cloud sur cette page.
Connexion à des bases de données hébergées par d'autres fournisseurs de services cloud
Pour que vous puissiez configurer une connexion privée à des bases de données ou des services hébergés par d'autres fournisseurs de services cloud, votre projet Google Cloud doit être configuré pour acheminer le trafic vers ces fournisseurs de services cloud et permettre l'échange de données. Pour en savoir plus sur la connexion d'environnements cloud, consultez la page Modèles de connexion à d'autres fournisseurs de services cloud avec Google Cloud.
Se connecter aux ressources sur site
Pour configurer une connexion privée aux bases de données sur site, utilisez Cloud VPN. Vous devez configurer une route dynamique dans votre VPC pour chaque base de données sur site. Si vous avez configuré le transfert DNS pour le projet dans lequel se trouve l'instance Looker (Google Cloud Core), Looker pourra se connecter à toutes les ressources sur site.
Connexion à d'autres services Internet
Pour vous connecter aux services Internet, vous devez configurer une route dynamique dans votre VPC pour chaque service. Vous pouvez également utiliser Cloud NAT pour créer des connexions sortantes.
Accorder un accès public aux instances IP privées
Pour mieux contrôler l'interface des parties externes avec votre instance Looker (Google Cloud Core), vous pouvez configurer un serveur proxy afin d'accorder un accès Internet public à une instance pour laquelle seule l'adresse IP privée est activée.
Avant de commencer
Avant de configurer un serveur proxy, vous devez installer ou installer la dernière version de Google Cloud CLI.
Configurer un serveur proxy
L'exemple suivant montre comment utiliser la ligne de commande pour configurer un serveur proxy NGINX pour une instance Looker (Google Cloud Core) existante pour laquelle une connexion réseau Adresse IP privée est activée. Bien que les serveurs NGINX puissent être instanciés avec des configurations IP publique ou privée (avec accès VPN autorisé), cet exemple illustre une configuration IP publique.
Vous pouvez utiliser n'importe quel serveur Web pouvant être configuré comme serveur proxy inverse. Vous n'avez pas besoin de configurer de serveur NGINX spécifiquement.
À l'aide de la ligne de commande, créez un sous-réseau et créez une VM NGINX Ubuntu 18 avec l'adresse IP publique activée sur votre réseau VPC en exécutant les commandes suivantes:
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
est le nom du projet Google Cloud dans lequel vous avez créé votre instance Looker (Google Cloud Core).NETWORK
est le nom du réseau VPC que vous avez configuré pour votre instance Looker (Google Cloud Core).- Définissez
IP_RANGE
sur au moins/22
(par exemple,10.10.0.0/22
). SUBNETNAME
peut être n'importe quel nom et ne doit pas nécessairement correspondre au nom du sous-réseau de votre instance Looker (Google Cloud Core).ZONE
peut être déterminé en exécutantgcloud compute zones list
.INSTANCE_NAME
peut être nommé comme suit : il s'agit du nom de votre instance de VM.
Après avoir exécuté les deux commandes gcloud, exécutez la commande suivante:
echo $INSTANCE_EXTERNAL_IP
Cette opération génère l'adresse IP publique de votre instance de VM.
Créez un pare-feu pour autoriser le trafic vers votre instance sur les ports 80, 443 et 22 (ou d'autres ports que NGINX va écouter) en exécutant ces commandes:
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
Créez un certificat tiers pour accéder à l'URL publique. Cet exemple utilise Let's Encrypt de NGINX pour générer un certificat Let's Encrypt, mais vous pouvez utiliser n'importe quel certificat.
Connectez-vous à la VM NGINX.
Installez l'outil Let's Encrypt:
sudo apt-get update sudo apt-get install certbot python3-certbot-nginx
Accédez au fichier
nginx.config
:sudo vi /etc/nginx/sites-available/default
Dans le fichier
nginx.config
, remplacez la configuration existante du serveur afin de configurer le serveur et le port 80 pour l'écoute:server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; server_name SERVER_NAME>; }
SERVER_NAME
est le nom d'enregistrement DNS du domaine personnalisé pour votre instance Looker (Google Cloud Core).
Actualisez NGINX:
sudo nginx -t && sudo nginx -s reload
Générez un certificat:
sudo certbot --nginx -d SERVER_NAME
SERVER_NAME
est le nom d'enregistrement DNS du domaine personnalisé pour votre instance Looker (Google Cloud Core).
Dans le fichier
nginx.config
, remplacez la configuration du serveur de l'étape 3 par la configuration de serveur suivante, afin de transmettre le trafic à votre instance Looker (Google Cloud Core) :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
est l'adresse IP privée attribuée à votre instance Looker (Google Cloud Core). Vous pouvez la consulter sur la page Détails de l'instance dans la console Google Cloud.SERVER_NAME
est le nom d'enregistrement DNS du domaine personnalisé pour votre instance Looker (Google Cloud Core).
Validez le fichier
nginx.config
et actualisez-le:sudo nginx -t && sudo nginx -s reload
Étape suivante