Crea una instancia de Looker (Google Cloud Core) con conexiones privadas (acceso privado a servicios)

En esta página, se explica cómo crear una instancia de Looker (Google Cloud Core) de conexiones privadas (PSA) de producción o que no sea de producción que usa el acceso privado a servicios (PSA).

Las conexiones privadas hacen que los servicios sean accesibles sin pasar por Internet o usar direcciones IP externas. Debido a que no atraviesan Internet, las conexiones privadas suelen proporcionar una latencia más baja y vectores de ataque limitados. Las conexiones privadas permiten que tu instancia de Looker (Google Cloud Core) se comunique con otros recursos en tu nube privada virtual (VPC), pero no permiten la comunicación entrante desde Internet pública.

La conectividad privada permite el uso de algunas funciones, como los Controles del servicio de VPC. Sin embargo, las conexiones privadas no son compatibles con algunas funciones de Looker (Google Cloud Core). Consulta la tabla de compatibilidad de funciones para obtener más información.

Looker (Google Cloud Core) admite conexiones privadas (PSA) para las ediciones de instancias Enterprise o Embed .

Roles y permisos requeridos

Para configurar una instancia de conexiones privadas (PSA), debes tener los siguientes permisos de IAM:

  1. Para crear una instancia de Looker (Google Cloud Core), debes tener el rol de administrador de Looker (roles/looker.Admin).
  2. Para obtener los permisos que necesitas para crear rangos de direcciones IP asignados y administrar conexiones privadas, pídele a tu administrador que te otorgue el rol de IAM Administrador de Compute Network (roles/compute.networkAdmin) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

    Este rol predefinido contiene los permisos necesarios para crear rangos de direcciones IP asignados y administrar conexiones privadas. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

    Permisos necesarios

    Se requieren los siguientes permisos para crear rangos de direcciones IP asignados y administrar conexiones privadas:

    • Consulta las redes disponibles en el menú desplegable Red :
      • compute.addresses.list
      • compute.globalAddresses.list
      • compute.networks.list
      • compute.globalAddresses.list
    • Crea una nueva red de VPC:
      • compute.addresses.create
      • compute.globalAddresses.create
      • serviceusage.services.enable
    • Asigna un rango de IP privadas y configura una conexión de acceso privado a servicios: compute.networks.addPeering

    También puedes obtener estos permisos con roles personalizados o otros roles predefinidos.

    Si usas una red privada que ya se configuró, no necesitas estos permisos.

Es posible que también necesites roles de IAM adicionales para configurar los Controles del servicio de VPC o las claves de encriptación administradas por el cliente (CMEK). Para obtener más información, visita las páginas de documentación Compatibilidad de los Controles del servicio de VPC con Looker (Google Cloud Core) o Habilita CMEK para Looker (Google Cloud Core) para esas funciones.

Antes de comenzar

  1. Trabaja con Ventas para asegurarte de que se complete tu contrato anual y de que tengas una cuota asignada en tu proyecto.
  2. Asegúrate de tener habilitada la facturación para tu Google Cloud proyecto.
  3. En la página del selector de proyectos de la consola de Google Cloud, crea un Google Cloud proyecto o navega a uno existente en el que deseas crear la instancia de Looker (Google Cloud Core).

    Ir al selector de proyectos

  4. Habilita la API de Looker para tu proyecto en la consola de Google Cloud. Cuando habilites la API, es posible que debas actualizar la página de la consola para confirmar que se habilitó.

    Habilitar la API

  5. Habilita la API de Service Networking para tu proyecto en la consola de Google Cloud. Cuando habilites la API, es posible que debas actualizar la página de la consola para confirmar que se habilitó.

    Habilitar la API

  6. Habilita la API de Compute Engine para tu proyecto en la consola de Google Cloud. Cuando habilites la API, es posible que debas actualizar la página de la consola para confirmar que se habilitó.

    Habilitar la API

  7. Configura un cliente de OAuth y crea credenciales de autorización. El cliente de OAuth te permite autenticarte y acceder a la instancia. Debes configurar OAuth para crear una instancia de Looker (Google Cloud Core), incluso si usas un método de autenticación diferente para autenticar a los usuarios en tu instancia.

Crea y configura una red de VPC

Antes de crear una conexión privada, primero debes crear y configurar una red de nube privada virtual (VPC). Looker (Google Cloud Core) admite varias instancias de conexiones privadas (PSA) en la misma VPC, ya sea en la misma región o en regiones diferentes.

  1. Crea una red de VPC en tu proyecto. Como alternativa, si usas una VPC compartida en lugar de crear una red de VPC nueva, completa los pasos de la siguiente sección, Crea una instancia en una VPC compartida, además de completar los pasos restantes de esta sección para la VPC compartida.
  2. Asigna un rango de IP IPv4 (bloque CIDR) en tu VPC para una conexión de acceso privado a servicios a Looker (Google Cloud Core).
    • Antes de asignar tu rango, ten en cuenta las restricciones.
    • Cuando establezcas el tamaño del rango de direcciones IP, ten en cuenta que el tamaño mínimo es un bloque /22.
    • Looker (Google Cloud Core) admite todos los rangos de IPv4 dentro de RFC 1918, que especifica las direcciones IP que se asignan para usar de manera interna (es decir, dentro de una organización) y que no se enrutarán en Internet. En particular, estos son los siguientes:
      • 10.0.0.0/8
      • 172.16.0.0/12
      • 192.168.0.0/16
    • Los rangos de IPv4 de clase E (240.0.0.0/4) están reservados para uso futuro, como se indica en RFC 5735 y RFC 1112, y no son compatibles con Looker (Google Cloud Core).
    Cuando se crea una instancia de Looker (Google Cloud Core) por primera vez en una región dentro de una VPC, Looker crea una subred solo de proxy. La subred solo de proxy usa una subred de rango /26 de la subred /22 que reservas cuando creas la instancia de Looker (Google Cloud Core). Cualquier instancia posterior de Looker (Google Cloud Core) de conexiones privadas (PSA) en la misma VPC y en la misma región usa la misma subred solo de proxy.
  3. Agrega la conexión de acceso privado a servicios a tu red de VPC con el rango de IP asignado en el paso anterior para la Asignación asignada.
  4. Una vez que se cree tu red de VPC, regresa a la página Crear instancia de Looker en tu Google Cloud proyecto. Es posible que debas actualizar la página para que se reconozca tu red de VPC.

Una vez que completes estos pasos, puedes comenzar a crear tu instancia siguiendo los pasos de la página de documentación Crea una instancia de Looker (Google Cloud Core) , comenzando con la sección Antes de comenzar.

Varias instancias de conexiones privadas en la misma VPC

Si dos o más instancias de Looker (Google Cloud Core) de conexiones privadas se encuentran en la misma región y en la misma VPC, y borras la primera instancia de Looker (Google Cloud Core) que se creó en la región, la subred solo de proxy no se libera porque las instancias restantes aún la usan. Si intentas crear una nueva instancia de Looker (Google Cloud Core) de conexiones privadas (PSA) que use el mismo rango de direcciones que usaste para la instancia borrada (que contiene el rango de direcciones IP de la subred solo de proxy), no se podrá crear la instancia y verás un error de "Rangos de IP agotados". Para verificar si un rango de IP está en uso, verifica el intercambio de tráfico entre VPC para Service Networking y verifica las rutas de importación para ver si usan el rango de IP que te interesa.

Crea una instancia en una VPC compartida

Si creas una instancia de Looker (Google Cloud Core) en una VPC compartida, completa los siguientes pasos en el proyecto host de la VPC compartida:

  1. Habilita la API de Looker en el proyecto host de la VPC compartida en la consola de Google Cloud. Cuando habilites la API, es posible que debas actualizar la página de la consola para confirmar que se habilitó.

    Habilitar la API

  2. Crea una cuenta de servicio en el proyecto host de la VPC compartida con el comando gcloud services identity create:

    gcloud beta services identity create --service=looker.googleapis.com \
    --project=SHARED_HOST_PROJECT_ID
    

    Reemplaza SHARED_HOST_PROJECT_ID por el ID del proyecto host de la VPC compartida.

  3. Otorga a la cuenta de servicio en el proyecto host de la VPC compartida un rol de IAM que contenga el permiso de IAM compute.globalAddresses.get. Luego, ejecuta el add-iam-policy-binding comando:

    gcloud projects add-iam-policy-binding SHARED_HOST_PROJECT_ID \
        --member=serviceAccount:SA_EMAIL --role=ROLE_NAME

    Reemplaza lo siguiente:

    • SHARED_HOST_PROJECT_ID: El ID del proyecto host de la VPC compartida.

    • SA_EMAIL: La dirección de correo electrónico de la cuenta de servicio que creaste en el proyecto host de la VPC compartida.

    • ROLE_NAME: El nombre del rol que contiene el permiso compute.globalAddresses.get. Usa uno de los siguientes formatos:

      • Roles predefinidos: roles/SERVICE.IDENTIFIER
      • Roles personalizados a nivel de proyecto: projects/PROJECT_ID/roles/IDENTIFIER
      • Roles personalizados a nivel de la organización: organizations/ORG_ID/roles/IDENTIFIER

      Para obtener una lista de roles predefinidos, consulta Cómo entender los roles.

Después de crear la cuenta de servicio y otorgarle el permiso de IAM, espera unos minutos para que se propaguen la cuenta de servicio y el permiso.

Además, asigna un rango de IP IPv4 en la VPC compartida y agrega la conexión de acceso privado a servicios a la VPC compartida como se describe en la sección anterior, Crea y configura una red de VPC.

Crea la instancia de conexiones privadas

Looker (Google Cloud Core) requiere aproximadamente 60 minutos para generar una instancia nueva.

Si deseas una instancia de conexiones privadas (PSA), debes usar Google Cloud CLI o Terraform y configurar la instancia como conexiones privadas (PSA) cuando la crees. No se pueden agregar ni quitar conexiones privadas de una instancia después de que se crea.

Para crear una instancia de conexiones privadas (PSA) con Google Cloud CLI, sigue estos pasos:

  1. Si usas CMEK, sigue las instrucciones para crear una cuenta de servicio, un llavero y una clave antes de crear tu instancia de Looker (Google Cloud Core).
  2. Usa el comando gcloud looker instances create para crear la instancia:

    gcloud looker instances create INSTANCE_NAME \
    --project=PROJECT_ID \
    --oauth-client-id=OAUTH_CLIENT_ID \
    --oauth-client-secret=OAUTH_CLIENT_SECRET \
    --region=REGION \
    --edition=EDITION \
    --private-ip-enabled \
    --consumer-network=CONSUMER_NETWORK --reserved-range=RESERVED_RANGE
    [--no-public-ip-enabled]\
    [--public-ip-enabled]\
    [--release-channel=RELEASE_CHANNEL]
    

    Reemplaza lo siguiente:

    • INSTANCE_NAME: Un nombre para tu instancia de Looker (Google Cloud Core); no está asociado con la URL de la instancia.
    • PROJECT_ID: El nombre del Google Cloud proyecto en el que creas la instancia de Looker (Google Cloud Core).
    • OAUTH_CLIENT_ID y OAUTH_CLIENT_SECRET: El ID de cliente de OAuth y el secreto de OAuth que creaste cuando configuraste tu cliente de OAuth. Una vez que se haya creado la instancia, ingresa su URL en la sección URIs de redireccionamiento autorizados del cliente de OAuth.
    • REGION: La región en la que se aloja tu instancia de Looker (Google Cloud Core). Selecciona la región que coincida con la región del contrato de suscripción. Las regiones disponibles se enumeran en la página de documentación Ubicaciones de Looker (Google Cloud Core).
    • EDITION: la edición, el tipo de entorno (producción o no producción) y si se trata de una edición de prueba para la instancia. Para una instancia de conexiones privadas (PSA), debe ser core-enterprise-annual, core-embed-annual, nonprod-core-enterprise-annual, nonprod-core-embed-annual, core-trial-enterprise o core-trial-embed. Asegúrate de elegir el mismo tipo de edición que se indica en tu contrato anual y de que tengas cuota asignada. Una vez que se crea una instancia, no se pueden cambiar las ediciones. Si deseas cambiar una edición, puedes usar la importación y la exportación para mover los datos de tu instancia de Looker (Google Cloud Core) a una instancia nueva que esté configurada con una edición diferente.
    • CONSUMER_NETWORK: Tu red de VPC o red de VPC compartida en el formato projects/PROJECT_ID/global/networks/NETWORK_NAME. Se debe configurar si creas una instancia de conexiones privadas (PSA).
    • RESERVED_RANGE: El rango de direcciones IP dentro de la VPC en el que Google aprovisionará una subred para tu instancia de Looker (Google Cloud Core).
    • RELEASE_CHANNEL: el canal de versiones de la instancia. Los valores disponibles son rapid, regular y no-channel. El valor predeterminado durante la versión preliminar es no-channel. Si no incluyes esta marca en tu comando create, la instancia se creará con el canal predeterminado. Esta función está en vista previa.

    Puedes incluir las siguientes marcas:

    • --private-ip-enabled habilita las conexiones privadas (PSA). Se debe incluir para crear una instancia de conexiones privadas (PSA).
    • --public-ip-enabled habilita la IP pública.
    • --no-public-ip-enabled inhabilita la IP pública.
    • Se recomienda --async cuando creas una instancia de Looker (Google Cloud Core).
  3. Puedes agregar más parámetros para aplicar otras opciones de configuración de la instancia:

      [--maintenance-window-day=MAINTENANCE_WINDOW_DAY
              --maintenance-window-time=MAINTENANCE_WINDOW_TIME]
      [--deny-maintenance-period-end-date=DENY_MAINTENANCE_PERIOD_END_DATE
              --deny-maintenance-period-start-date=DENY_MAINTENANCE_PERIOD_START_DATE
              --deny-maintenance-period-time=DENY_MAINTENANCE_PERIOD_TIME]
      [--kms-key=KMS_KEY_ID]
      [--accelerated-security-patch-enabled]
      [--no-accelerated-security-patch-enabled]
      [--fips-enabled]
      [--catalog-integration-enabled]
      [--no-catalog-integration-enabled]
    

    Reemplaza lo siguiente:

    Las siguientes marcas habilitan otros parámetros:

Mientras se crea la instancia, puedes ver su estado en la página Instancias de la consola. También puedes ver la actividad de creación de instancias haciendo clic en el ícono de notificaciones en el Google Cloud menú de la consola.

Si elegiste conexiones híbridas cuando configuraste la instancia, puedes configurar el acceso entrante a través de la URL web de la instancia. Puedes encontrar esa URL en la página Instancias de la Google Cloud consola o en la pestaña Dominio personalizado de la página de detalles de la instancia, si configuraste un dominio personalizado. Puedes configurar una lista de entidades permitidas de IP para restringir las conexiones entrantes al tráfico de ciertas direcciones IP.

Si creas una instancia solo de conexiones privadas (PSA), una URL no aparecerá en la página Instancias. Consulta la siguiente sección Accede a una instancia de acceso privado a servicios después de la creación para obtener más información sobre cómo configurar el acceso a tu instancia de conexiones privadas (PSA).

Accede a una instancia de acceso privado a servicios después de la creación

Si creas una instancia que solo está habilitada para conexiones privadas, no recibirás una URL para la instancia. Para acceder a la instancia, debes configurar un dominio personalizado para la instancia y agregar ese dominio personalizado a las credenciales de OAuth de la instancia. Sigue las instrucciones de la página de documentación Accede a una instancia de Looker (Google Cloud Core) con acceso privado a servicios para crear un dominio personalizado y acceder a él.

Si creas una instancia que usa una configuración de redes híbrida, sigue las instrucciones de la página de documentación Configura un dominio personalizado para una instancia de Looker (Google Cloud Core) que usa conexiones públicas para crear un dominio personalizado y acceder a él.

Soluciona problemas de creación de instancias

Para obtener ayuda para solucionar problemas, consulta la página de documentación Soluciona problemas de fallas en la creación de instancias de Looker (Google Cloud Core).

¿Qué sigue?