Una vez que hayas configurado una instancia de Looker (Google Cloud Core) para que use solo una IP privada o una IP pública y privada, te recomendamos que configures tu red para usar ciertas funciones de Looker (Google Cloud Core), o bien permitir o restringir la comunicación con servicios externos o Internet.
Restricción de entregas de correo electrónico a dominios externos
De forma predeterminada, las instancias de Looker (Google Cloud Core) que usan solo una IP privada o una IP pública y privada permiten la entrega de correos electrónicos a dominios externos. Para restringir los dominios a los que los usuarios de Looker pueden enviar entregas de correo electrónico, puedes configurar una lista de dominios de correo electrónico permitidos.
Conecta una instancia de IP privada de Looker (Google Cloud Core) a servicios externos
Es posible que las instancias de Looker (Google Cloud Core) que usan solo una IP privada o una IP privada y pública requieran una configuración adicional para conectarse a servicios o recursos fuera de la red de VPC de la instancia. En las siguientes secciones, se describen opciones de configuración adicionales.
Conéctate a otras VPC mediante el acceso privado a servicios
Si quieres usar IP internas para conectarte a servicios en otras VPC alojadas por Google o por terceros, puedes usar el acceso privado a servicios.
Durante la creación de instancias de Looker (Google Cloud Core), creaste una conexión de acceso a servicios privados para conectar tu VPC al servicio de Looker (Google Cloud Core). También puedes actualizar la asignación de IP de una conexión de acceso a servicios privados existente sin interrumpir el tráfico.
Para configurar una conexión de acceso privado a servicios, haz lo siguiente:
- Asigna un rango de IP internas en tu red de VPC.
- Configura la conexión privada entre tu red de VPC y la del productor de servicios mediante el rango de IP asignado. Esta conexión privada establece una conexión de intercambio de tráfico entre redes de VPC entre tu VPC y la otra red.
Las conexiones privadas constituyen una relación uno a uno entre tu red de VPC y el productor de servicios. Si un solo productor de servicios ofrece varios servicios, solo necesitas una conexión privada para todos ellos.
Conéctate a recursos locales o servicios de terceros
Puedes usar cualquiera de las siguientes dos opciones para conectar instancias de Looker (Google Cloud Core) solo con una IP privada o una IP pública y privada a recursos locales o servicios de terceros:
- Cloud Interconnect y Cloud Router
- Cloud VPN, específicamente VPN con alta disponibilidad y Cloud Router
Con cualquiera de los dos métodos, deberás hacer lo siguiente:
- Configurar una ruta dinámica en tu VPC de Looker (Google Cloud Core) para cada recurso local
- Configura un anuncio de ruta personalizado de la subred de acceso a servicios privados de Looker (Google Cloud Core) en todos los Cloud Routers que se implementan en la VPC de Looker (Google Cloud Core).
- Actualiza tus firewalls locales para permitir el tráfico con la subred de Looker (Google Cloud Core).
- Configurar el reenvío de DNS, que permitirá que Looker (Google Cloud Core) se conecte a cualquier recurso local
Cloud Interconnect y Cloud Router
En el siguiente diagrama de red, se muestra cómo interactúan Cloud Interconnect y Cloud Router con el servicio de Looker (Google Cloud Core) para conectarse a una red local:
- El acceso privado a los servicios conecta el servicio de Looker (Google Cloud Core) con la VPC a través de direcciones IP internas con el intercambio de tráfico de VPC.
- Cloud Router usa el Protocolo de puerta de enlace de frontera (BGP) para anunciar los prefijos de IP privadas y las rutas dinámicas del programa en función de los anuncios de BGP que recibe de un par. Cloud Interconnect se usa para conectarse a la red local.
Cloud VPN y Cloud Router
Para ver una explicación sobre cómo crear una instancia de IP pública y privada de Looker (Google Cloud Core) y conectarla a una base de datos local con VPN con alta disponibilidad y Cloud Router, consulta el codelab Cómo conectar Looker Cloud a través de redes híbridas.
Conexión a bases de datos alojadas por otros proveedores de servicios en la nube
Para configurar una conexión privada a bases de datos o servicios alojados por otros proveedores de servicios en la nube, se debe configurar tu proyecto de Google Cloud de modo que dirija el tráfico a esos proveedores de servicios en la nube para permitir el intercambio de datos. Obtén más información para conectar entornos de nube en la página de documentación Patrones para conectar otros proveedores de servicios en la nube con Google Cloud.
Otorga acceso a instancias de IP privadas
Para permitir que terceros externos a tu VPC interactúen con una instancia de Looker (Google Cloud Core) que solo tenga habilitada una IP privada, puedes configurar un servidor proxy y un dominio personalizado. En el resto de esta sección, se proporciona un ejemplo de cómo configurar un servidor proxy.
Antes de comenzar
Antes de configurar un servidor proxy, debes instalar Google Cloud CLI o actualizarlo a su versión más reciente.
Configurar un servidor proxy
En el siguiente ejemplo, se muestra cómo usar la línea de comandos a fin de configurar un servidor proxy NGINX para una instancia existente de Looker (Google Cloud Core) que tenga habilitada una conexión de red de IP privada. Aunque se pueden crear instancias de los servidores NGINX con configuraciones de IP pública o privada (con acceso de VPN permitido), en este ejemplo se demuestra una configuración de IP pública.
Puedes usar cualquier servidor web que se pueda configurar como un servidor proxy inverso. No es necesario que configures un servidor NGINX de manera específica.
- Crea un dominio personalizado. El dominio personalizado se asignará a la IP externa del servidor proxy cuando configures el registro DNS más adelante en este proceso.
Abre Cloud Shell.
Ejecuta los siguientes comandos para crear una subred y una VM de NGINX de Ubuntu 18 con una IP pública habilitada en tu red de VPC:
Establece tus variables:
PROJECT="PROJECT" NETWORK="NETWORK" SUBNETNAME="SUBNETNAME" IP_RANGE=IP_RANGE REGION="REGION" ZONE="ZONE" INSTANCE_NAME="INSTANCE_NAME"
Reemplaza lo siguiente:
- PROJECT: Es el ID del proyecto de Google Cloud en el que creaste tu instancia de Looker (Google Cloud Core).
- NETWORK: Es el nombre de la red de VPC que configuraste para la instancia de Looker (Google Cloud Core).
- SUBNETNAME: Puede ser una subred nueva que crees en este procedimiento o cualquier subred en tu red de VPC. No es necesario que coincida con el nombre de subred de tu instancia de Looker (Google Cloud Core).
- IP_RANGE: Cualquier rango sin conflictos. Usa al menos
/22
(por ejemplo,10.10.0.0/22
). - REGION: Es la región en la que deseas crear el servidor proxy.
- ZONE: Es la zona en la que deseas crear el servidor proxy. Las zonas disponibles se pueden determinar ejecutando
gcloud compute zones list
. - INSTANCE_NAME: Es el nombre del servidor proxy.
Crea la subred (o bien, puedes usar una subred que se creó cuando creaste la red de VPC si usaste el modo automático para crear la red de VPC):
gcloud compute networks subnets create $SUBNETNAME --network=$NETWORK \ --range=$IP_RANGE --region=$REGION --project=$PROJECT
Crea la instancia de proxy:
INSTANCE_EXTERNAL_IP=$(gcloud compute instances create $INSTANCE_NAME \ --project=$PROJECT --zone=$ZONE --network=$NETWORK --subnet=$SUBNETNAME \ --format="json" | jq '.[].networkInterfaces[].accessConfigs[].natIP')
Después de crear la instancia de proxy, ejecuta este comando para generar la dirección IP pública de tu instancia de proxy:
echo $INSTANCE_EXTERNAL_IP
Toma nota de la IP externa para más adelante en el procedimiento.
Crea un firewall para permitir el tráfico a tu instancia en los puertos 80, 443 y 22 (o en otros puertos que NGINX escuche) ejecutando estos comandos:
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
Crea un registro DNS público con el dominio personalizado que configuraste para la instancia de Looker (Google Cloud Core) al comienzo de este proceso y que apunte a la dirección IP pública de la VM de NGINX que se generó después de la creación de la VM.
Crea un certificado de terceros para acceder a la URL pública. En este ejemplo, se usa NGINX's Let's Encrypt para generar un certificado de Let's Encrypt, pero puede usar cualquier certificado de encriptación.
Conéctate a la VM de NGINX.
Instala la herramienta Let's Encrypt:
sudo apt-get update sudo apt-get install certbot python3-certbot-nginx
Accede al archivo
nginx.config
:sudo vi /etc/nginx/sites-available/default
En el archivo
nginx.config
, reemplaza la configuración del servidor existente a fin de configurar el servidor y el puerto 80 para escuchar:server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; server_name SERVER_NAME; }
Reemplaza SERVER_NAME por el nombre del registro DNS.
Vuelve a cargar NGINX:
sudo nginx -t && sudo nginx -s reload
Genera un certificado:
sudo certbot --nginx -d SERVER_NAME
Reemplaza SERVER_NAME por el nombre del registro DNS.
En el archivo
nginx.config
, reemplaza la configuración del servidor del paso anterior por la siguiente configuración del servidor para pasar el tráfico a tu instancia de 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; }
Reemplaza lo siguiente:
- PRIVATE_IP_ADDRESS: La dirección IP privada asignada a tu instancia de Looker (Google Cloud Core), que puedes ver en la página DETALLES de la instancia en la consola de Google Cloud
- SERVER_NAME: Es el nombre del registro DNS.
Valida el archivo
nginx.config
y vuelve a cargarlo:sudo nginx -t && sudo nginx -s reload
Después de validar la configuración y de enrutar el tráfico a la instancia de Looker (Google Cloud Core) y de haber configurado tu dominio personalizado, puedes ingresar el dominio personalizado de la instancia en la sección URI de redireccionamiento autorizados del cliente de OAuth. Para verla, navega a su URL, agrega usuarios, conecta Looker (Google Cloud Core) a tu base de datos y continúa con la configuración de la instancia.
Próximos pasos
- Conecta Looker Cloud a través de redes híbridas
- Compatibilidad de los Controles del servicio de VPC para Looker (Google Cloud Core)
- Conecta Looker (Google Cloud Core) a tu base de datos
- Configura tu instancia de Looker (Google Cloud Core)
- Para ver un ejemplo de cómo instalar de forma manual el contenido de Looker Marketplace, consulta el artículo de la comunidad de Looker: Instala el Explorador de APIs de Looker en una instancia de Looker (Google Cloud Core) en una red de IP privada.