1. Introducción
En este codelab, crearás un balanceador de cargas de aplicaciones interno regional de L7 y un backend de Private Service Connect para obtener acceso de salida a Looker. El acceso ascendente a Looker requiere que la VPC del consumidor esté en la lista de entidades permitidas de la instancia de PSC de Looker.
Private Service Connect es una función de las herramientas de redes de Google Cloud que permite a los consumidores acceder a los servicios administrados de forma privada desde su red de VPC. Del mismo modo, permite a los productores de servicios administrados alojar estos servicios en sus propias redes de VPC independientes y ofrecer una conexión privada a sus consumidores. Por ejemplo, cuando usas Private Service Connect para acceder a Looker, eres el consumidor del servicio y Google es el productor de servicios, como se destaca en la figura 1.
Figura 1:

El acceso de salida, también conocido como PSC inverso, permite que el consumidor cree un servicio publicado como productor para permitir que Looker acceda a extremos locales, en una VPC, a servicios administrados y a Internet. Las conexiones de salida se pueden implementar en cualquier región, independientemente de dónde se implemente el PSC de Looker, como se destaca en la figura 2.
Figura 2:

Qué aprenderás
- Requisitos de red
- Actualiza la lista de entidades permitidas de Looker para el acceso de salida
- Crea un backend de Private Service Connect en la VPC del consumidor
- Certificados de Google frente a certificados autofirmados
Requisitos
- Proyecto de Google Cloud con permisos de propietario
- Dominio registrado
- Instancia existente del PSC de Looker

2. Qué compilarás
Establecerás una red de consumidor incluida en la lista de entidades permitidas, looker-psc-demo, para implementar un balanceador de cargas de aplicaciones interno regional de L7 y un NEG de backend de PSC que requiere un certificado administrado por Google o autoadministrado. Para obtener más detalles, consulta la página de resumen del balanceador de cargas y el certificado.
3. Requisitos de red
A continuación, se desglosan los requisitos de red:
Componentes | Descripción |
VPC (looker-psc-demo) | VPC en modo personalizado |
Subred del NEG del PSC | Se usa para asignar una dirección IP al grupo de extremos de red. |
Subred de solo proxy | A cada uno de los proxies del balanceador de cargas se le asigna una dirección IP interna. Los paquetes enviados desde un proxy a una VM o un extremo de backend tienen una dirección IP de origen de la subred de solo proxy. |
Servicio de backend | Un servicio de backend actúa como puente entre tu balanceador de cargas y tus recursos de backend. En el instructivo, el servicio de backend está asociado con el NEG del PSC. |
4. Topología del codelab

5. Configuración y requisitos
Configuración del entorno de autoaprendizaje
- Accede a Google Cloud Console y crea un proyecto nuevo o reutiliza uno existente. Si aún no tienes una cuenta de Gmail o de Google Workspace, debes crear una.



- El Nombre del proyecto es el nombre visible de los participantes de este proyecto. Es una cadena de caracteres que no se utiliza en las APIs de Google. Puedes actualizarla cuando quieras.
- El ID del proyecto es único en todos los proyectos de Google Cloud y es inmutable (no se puede cambiar después de configurarlo). La consola de Cloud genera automáticamente una cadena única. Por lo general, no importa cuál sea. En la mayoría de los codelabs, deberás hacer referencia al ID de tu proyecto (suele identificarse como
PROJECT_ID). Si no te gusta el ID que se generó, podrías generar otro aleatorio. También puedes probar uno propio y ver si está disponible. No se puede cambiar después de este paso y se usa el mismo durante todo el proyecto. - Recuerda que hay un tercer valor, un número de proyecto, que usan algunas APIs. Obtén más información sobre estos tres valores en la documentación.
- A continuación, deberás habilitar la facturación en la consola de Cloud para usar las APIs o los recursos de Cloud. Ejecutar este codelab no costará mucho, tal vez nada. Para cerrar recursos y evitar que se generen cobros más allá de este instructivo, puedes borrar los recursos que creaste o borrar el proyecto. Los usuarios nuevos de Google Cloud son aptos para participar en el programa Prueba gratuita de $300.
Inicia Cloud Shell
Si bien Google Cloud y Spanner se pueden operar de manera remota desde tu laptop, en este codelab usarás Google Cloud Shell, un entorno de línea de comandos que se ejecuta en la nube.
En Google Cloud Console, haz clic en el ícono de Cloud Shell en la barra de herramientas en la parte superior derecha:

El aprovisionamiento y la conexión al entorno deberían tomar solo unos minutos. Cuando termine el proceso, debería ver algo como lo siguiente:

Esta máquina virtual está cargada con todas las herramientas de desarrollo que necesitarás. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud, lo que permite mejorar considerablemente el rendimiento de la red y la autenticación. Todo tu trabajo en este codelab se puede hacer en un navegador. No es necesario que instales nada.
6. Antes de comenzar
Habilita las APIs
En Cloud Shell, asegúrate de que tu ID del proyecto esté configurado:
gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
echo $project
echo $region
Habilita todos los servicios necesarios con el siguiente comando:
gcloud services enable compute.googleapis.com
7. Red del consumidor
En la siguiente sección, crearás la red del consumidor que se actualizará en la lista de entidades permitidas de la VPC del PSC de Looker.
Red de VPC
Dentro de Cloud Shell, haz lo siguiente:
gcloud compute networks create looker-psc-demo --subnet-mode custom
Crear subredes
Dentro de Cloud Shell, crea la subred del grupo de extremos de red del consumidor:
gcloud compute networks subnets create consumer-psc-neg-subnet --network looker-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access
Dentro de Cloud Shell, crea la subred del balanceador de cargas de aplicaciones interno:
gcloud compute networks subnets create consumer-ilb-subnet --network looker-psc-demo --range 172.16.40.0/28 --region $region --enable-private-ip-google-access
Dentro de Cloud Shell, crea la subred de solo proxy regional del productor:
gcloud compute networks subnets create $region-proxy-only-subnet \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=$region \
--network=looker-psc-demo \
--range=10.10.10.0/24
8. Crea un dominio personalizado
Para establecer un dominio personalizado, debes seguir estos pasos:
En el siguiente ejemplo, looker.cosmopup.com es el dominio personalizado.

Ejemplo de OAuth
A continuación, se muestra un ejemplo de credenciales de OAuth para orígenes autorizados y devolución de llamada para el subdominio looker.cosmopup.com.

9. Certificados
Puedes crear certificados de Compute Engine o del Administrador de certificados. Usa cualquiera de los siguientes métodos para crear certificados con Certificate Manager:
- Certificados regionales autoadministrados Para obtener información sobre cómo crear y usar certificados autoadministrados regionales, consulta implementa un certificado autoadministrado regional. No se admiten mapas de certificados.
- Certificados regionales administrados por Google No se admiten mapas de certificados. Certificate Manager admite los siguientes tipos de certificados regionales administrados por Google:
- Certificados regionales administrados por Google con autorización de DNS por proyecto. Para obtener más información, consulta Implementa un certificado administrado por Google regional.
- Certificados regionales administrados por Google (privados) con Certificate Authority Service. Para obtener más información, consulta Implementa un certificado administrado por Google regional con CA Service.
10. Lista de entidades permitidas de la VPC de Looker
Ver las VPC permitidas
En la siguiente sección, usarás la IU de Cloud Console para ver la lista de VPC permitidas de Looker.
En la consola de Cloud, navega a:
Looker → Instancia de Looker → Detalles
En el siguiente ejemplo, no hay entradas en la lista de VPC permitidas:

Actualiza las VPC permitidas
Actualiza tu instancia de Looker para admitir el acceso de salida agregando looker-psc-demo como una VPC permitida.
En la consola de Cloud, navega a:
Looker → Instancia de Looker → Editar

Conexiones → VPC permitidas
Asegúrate de seleccionar el proyecto en el que se implementó looker-psc-demo, seguido de la VPC looker-psc-demo y, luego, haz clic en Continuar.


Valida las VPC permitidas
Cómo ver la lista de VPC permitidas actualizadas
En la consola de Cloud, navega a:
Looker → Instancia de Looker → Detalles

11. Crea un backend de PSC
Looker PSC como productor de servicios genera un URI de adjunto de servicio que los consumidores de servicios usan para implementar extremos y back-ends para obtener acceso de norte a sur a Looker. En el siguiente paso, identificarás el URI del adjunto de servicio de PSC de Looker y, luego, crearás un backend del grupo de extremos de red (NEG) de Private Service Connect en la VPC del consumidor.
Cómo identificar el adjunto de servicio de PSC de Looker
En la consola de Cloud, navega hasta el URI del adjunto del servicio y cópialo:
Looker → Instancia de Looker → Detalles

Crea el grupo de extremos de red de PSC
En Cloud Shell, realiza las siguientes acciones y asegúrate de actualizar psc-target-service:
gcloud compute network-endpoint-groups create looker-northbound-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=[UPDATE WITH YOU LOOKER SERVICE ATTACHMENT URI] \
--region=$region \
--network=looker-psc-demo \
--subnet=consumer-psc-neg-subnet
Ejemplo:
gcloud compute network-endpoint-groups create looker-northbound-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183 \
--region=$region \
--network=looker-psc-demo \
--subnet=consumer-psc-neg-subnet
Valida la creación del grupo de extremos de red de PSC
Dentro de Cloud Shell, realiza las siguientes acciones y asegúrate de que se acepte pscConnectionStatus:
gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:
Ejemplo:
user@cloudshell$ gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:
pscConnectionStatus: ACCEPTED
Crea un balanceador de cargas de aplicaciones interno regional
En los siguientes pasos, usarás la consola de Cloud para crear el balanceador de cargas de aplicaciones interno regional y asociarás los certificados generados a la configuración de frontend.
En la consola de Cloud, navega a:
Servicios de red → Balanceo de cargas → Crear balanceador de cargas

Selecciona estas opciones:

Crea la configuración de backend
Selecciona las siguientes opciones y personaliza el entorno según tu implementación:
- Región que se usa para implementar la infraestructura de red
- Red: looker-psc-demo
- La subred de solo proxy se propaga automáticamente según tu región y red




Reglas de enrutamiento
No se requiere configuración

Configuración de frontend



Asegúrate de que el balanceador de cargas esté habilitado y obtén la dirección IP.
En la consola de Cloud → Servicios de red → Balanceo de cargas → looker-ilb-alb

12. resolución de DNS
La resolución de DNS para el dominio personalizado puede ser autoritativa en las instalaciones o en Cloud DNS. En el instructivo, definiremos Cloud DNS como el servidor autorizado para el dominio personalizado de Looker. Para habilitar la resolución de DNS de las instalaciones locales a GCP, se deben habilitar las políticas del servidor entrante. Cuando creas una política de servidor entrante, Cloud DNS crea puntos de entrada de política de servidor entrante en la red de VPC a la que se aplica la política de servidor. Los puntos de entrada de la política de servidor de entrada son direcciones IPv4 internas provenientes del rango de direcciones IPv4 principal de cada subred de la red de VPC aplicable, excepto las subredes solo de proxy.
En la siguiente sección, se crea una zona de DNS privada para el dominio personalizado de Looker, looker.cosmopup.com y un registro A que consta de la dirección IP del balanceador de cargas.
13. Crea una zona de DNS privado
Dentro de Cloud Shell, crea la zona privada de Cloud DNS.
gcloud dns --project=$projectid managed-zones create looker-cosmopup-dns --description="" --dns-name="looker.cosmopup.com." --visibility="private" --networks="https://compute.googleapis.com/compute/v1/projects/$projectid/global/networks/looker-psc-demo"
Dentro de Cloud Shell, crea el registro A que consta de la dirección IP del balanceador de cargas, que obtuviste en el paso anterior.
gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="<insert-your-ip>"
Ejemplo:
gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="172.16.20.7"
A continuación, se debe configurar la conexión de redes híbridas (p.ej., Interconnect, VPN con alta disponibilidad) entre la VPC de looker-psc-demo y la red local para habilitar la conectividad.
A continuación, se indican los pasos necesarios para establecer la conectividad del NEG híbrido con las instalaciones locales:
- Elige un producto de Conectividad de red | Google Cloud
- En una arquitectura de concentrador y radio con intercambio de tráfico entre VPCs, el NEG híbrido se implementa en la misma VPC que Cloud Router (concentrador).
- Asegúrate de que los firewalls locales estén actualizados para admitir el rango de subred de solo proxy, ya que esta subred actúa como la dirección IP de origen para la comunicación con las cargas de trabajo locales.
- Actualiza el DNS local con la dirección IP de reenvío entrante como el agente de resolución de DNS para looker.cosomopup.com
Accede a la IU de Looker
Ahora que el balanceador de cargas está en funcionamiento, puedes acceder a tu dominio personalizado de Looker a través de un navegador web. Es importante tener en cuenta que es posible que aparezca una advertencia según el tipo de certificado que uses, p. ej., certificado no confiable frente a certificado confiable.
A continuación, se muestra un ejemplo (certificado no confiable) de acceso al dominio personalizado de Looker looker.cosmopup.com que obtiene acceso de salida a la IU de Looker:

14. Limpia
Desde una sola terminal de Cloud Shell, borra los componentes del lab:
gcloud compute forwarding-rules delete regional-internal-alb-fr --region=$region -q
gcloud compute target-https-proxies delete regional-internal-alb-target-proxy --region=$region -q
gcloud compute url-maps delete regional-internal-alb --region=$region -q
gcloud compute backend-services delete looker-psc-neg-backend-svc --region=$region -q
gcloud compute addresses delete regional-alb-static-ip --region=$region -q
gcloud compute network-endpoint-groups delete looker-northbound-neg --region=$region -q
gcloud compute networks delete looker-psc-demo -q
15. Felicitaciones
¡Felicitaciones! Configuraste y validaste correctamente la conectividad de salida a Looker con un dominio del cliente y un balanceador de cargas de aplicaciones interno regional.
Creaste la infraestructura del consumidor, aprendiste a crear un NEG de PSC y un dominio personalizado, y conociste las diferentes opciones de certificados. Hay muchas cosas emocionantes que te ayudarán a comenzar a usar Looker.
Cosmopup cree que los codelabs son increíbles.

¿Qué sigue?
Consulta algunos codelabs sobre los siguientes temas:
- Usa Private Service Connect para publicar y consumir servicios
- Conéctate a servicios locales a través de redes híbridas con Private Service Connect y un balanceador de cargas de proxy TCP interno
- Acceso a todos los codelabs publicados de Private Service Connect
Lecturas y videos adicionales
Documentos de referencia
- Usa certificados SSL autoadministrados | Balanceo de cargas | Google Cloud
- Implementa un certificado regional administrado por Google
- Crea un backend de Private Service Connect | VPC | Google Cloud
- Crea un backend de Private Service Connect | VPC | Google Cloud
- Crea una instancia de Private Service Connect de Looker (Google Cloud Core)
- Cómo publicar un servicio con Private Service Connect