ALB de L7 externo regional de Looker PSC

1. Introducción

En este codelab, crearás un balanceador de cargas de aplicaciones regional de la capa 7 y un backend de Private Service Connect para obtener acceso de norte a sur a Looker. El acceso ascendente a Looker requiere que la VPC del consumidor esté incluida 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, tú eres el consumidor del servicio y Google es el productor del servicio, como se destaca en la Figura 1.

Figura 1:

145ea4672c3a3b14.png

El acceso de sur a norte, 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:

259493afd914f68b.png

Qué aprenderás

  • Requisitos de red
  • Actualiza la lista de entidades permitidas de Looker para el acceso de norte a sur
  • Crea un backend de Private Service Connect en la VPC del consumidor
  • Certificados de Google y autofirmados

Requisitos

def88091b42bfe4d.png

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 L7 externo regional y un NEG de backend de PSC que requiera un certificado de Google o autofirmado. En cualquiera de los métodos, se requiere un dominio registrado que coincida con el dominio personalizado definido en Looker.

3. Requisitos de red

A continuación, se muestra un desglose de los requisitos de red:

Componentes

Descripción

VPC (looker-psc-demo)

VPC en modo personalizado

Subred del PSC NEG

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 un puente entre el balanceador de cargas y tus recursos de backend. En el instructivo, el servicio de backend está asociado con el NEG de PSC.

4. Topología del codelab

7f06f9b9876f76c4.png

5. Configuración y requisitos

Configuración del entorno de autoaprendizaje

  1. 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.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • 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.
  1. 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:

55efc1aaa7a4d3ad.png

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:

7ffe5cbb04455448.png

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 de consumidores que se actualizará en la lista de entidades permitidas de la VPC de PSC de Looker.

Red de VPC

En Cloud Shell, haz lo siguiente:

gcloud compute networks create looker-psc-demo --subnet-mode custom

Crea subredes

En 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

En 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

Reserva la dirección IP del balanceador de cargas

En Cloud Shell, reserva una dirección IP externa para el balanceador de cargas:

gcloud compute addresses create regional-alb-static-ip  \
   --region=$region \
   --network-tier=STANDARD

En Cloud Shell, consulta la dirección IP reservada:

gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address:

Resultado de ejemplo:

user@cloudshell$ gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address: 
address: 35.208.202.244

8. Crea un dominio personalizado

Para establecer un dominio personalizado, debes seguir estos pasos:

Ejemplo de dominio personalizado

El dominio personalizado looker.cosmopup.com existe como un subdominio de DNS público asociado con un registro A de las direcciones IP estáticas (regional-alb-static-ip) definidas anteriormente. Captura de pantalla tomada de una terminal que valida la búsqueda de DNS.

6be44a9b2536e3f4.png

A continuación, crea el dominio del cliente con el subdominio looker.cosmopup.com.

5424ce99136d5b3a.png

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.

c7e5b8c7d2cc6a01.png

9. Certificados

Puedes crear certificados de Compute Engine o del Administrador de certificados. Usa cualquiera de los siguientes métodos para crear certificados con el Administrador de certificados:

10. Lista de entidades permitidas de 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:

ad33177a2d721ea7.png

Actualiza las VPC permitidas

Actualiza tu instancia de Looker para admitir el acceso norte-sur agregando looker-psc-demo como un VPC permitido.

En la consola de Cloud, navega a:

Looker → Instancia de Looker → Editar

cbbc069688890b82.png

Conexiones → VPC permitidas

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

dc931643e1b220a.png

3e26d16d83cceae9.png

Cómo validar las VPC permitidas

Consulta la lista actualizada de VPC permitidas

En la consola de Cloud, navega a:

Looker → Instancia de Looker → Detalles

e34664c867929c66.png

11. Crea el backend de PSC

El PSC de Looker como productor de servicios genera un URI de adjunto de servicio que usan los consumidores de servicios para implementar extremos y backends para obtener acceso norte a Looker. En el siguiente paso, identificarás el URI del adjunto de servicio de PSC de Looker y, luego, crearás un backend de grupo de extremos de red (NEG) de Private Service Connect en la VPC del consumidor.

Identifica el archivo adjunto de servicio de PSC de Looker

En la consola de Cloud, navega y copia el URI del archivo adjunto del servicio:

Looker → Instancia de Looker → Detalles

a253f94e946a1eef.png

Crea el grupo de extremos de red de PSC

En Cloud Shell, haz lo siguiente 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 de grupos de extremos de red de PSC

En Cloud Shell, haz lo siguiente 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 regional

En los siguientes pasos, usarás la consola de Cloud para crear el balanceador de cargas de aplicaciones externo regional y, al mismo tiempo, asociar tus certificados generados a la configuración del frontend.

En la consola de Cloud, navega a:

Servicios de red → Balanceo de cargas → Crear balanceador de cargas

e3474ca153d7c55a.png

Selecciona estas opciones:

63c2e656953444f2.png

Crea la configuración de frontend

Selecciona las siguientes opciones y personaliza el entorno según tu implementación:

  • Región que se usa para implementar la infraestructura de red
  • La subred de solo proxy se propaga automáticamente según tu región
  • La IP estática definida anteriormente está disponible según la región que selecciones

a1c24bd4650b27d3.png

Si seleccionas Certificado, se abre la opción para usar un certificado existente o nuevo:

aac196a6fa1ee3d5.png

Sube tu certificado y clave privada, y selecciona CREAR:

64a390bda0c9c3f1.png

Selecciona LISTO para completar la configuración de frontend:

758a1921e3020854.png

Crea la configuración de backend

Selecciona estas opciones:

e9bf17b1277bd597.png

af3b4a59864b15bc.png

6c784cc0169c892b.png

ba3bf9fa7d3497a5.png

Crea las reglas de enrutamiento

Selecciona las siguientes opciones (opciones predeterminadas):

8884421f10a50ce0.png

Revisa y finaliza

Verifica la configuración y selecciona CREATE:

bdf5793ba8f46bb9.png

El balanceador de cargas ahora está habilitado:

61adc0509f07ab15.png

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 veas una advertencia según el tipo de certificado que uses, p. ej., certificado de confianza o no confiable.

A continuación, se muestra un ejemplo (certificado no confiable) de acceso al dominio personalizado de Looker looker.cosmopup.com que obtiene acceso norte a la IU de Looker:

ae43d0d0d7136044.png

12. Limpia

Borra componentes del lab desde una sola terminal de Cloud Shell

gcloud compute forwarding-rules delete regional-external-alb-fr --region=$region -q

gcloud compute target-https-proxies delete regional-external-alb-target-proxy --region=$region -q

gcloud compute url-maps delete regional-external-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

13. Felicitaciones

Felicitaciones, configuraste y validaste correctamente la conectividad de norte a sur a Looker con un dominio de cliente y un balanceador de cargas de aplicaciones externo regional.

Creaste la infraestructura para consumidores, aprendiste a crear un NEG de PSC, un dominio personalizado y conociste las diferentes opciones de certificados. Hay muchas funciones interesantes para comenzar a usar Looker.

Cosmopup piensa que los codelabs son geniales.

c911c127bffdee57.jpeg

¿Qué sigue?

Consulta algunos codelabs sobre los siguientes temas:

Lecturas y videos adicionales

Documentos de referencia