Crear una instancia pública de Looker (Google Cloud core) con conexiones seguras

En esta página se explica cómo aprovisionar una instancia de producción o no producción de Looker (servicio principal de Google Cloud) configurada para conexiones públicas seguras.

Si quieres crear una instancia de conexiones privadas, la configuración debe asignarse al crear la instancia. Para obtener instrucciones sobre cómo crear una instancia de conexiones privadas, sigue el procedimiento que se indica en las páginas de documentación Crear una instancia de Private Service Connect de Looker (Google Cloud core) o Crear una instancia de Looker (Google Cloud core) de conexiones privadas (acceso a servicios privados) en lugar del siguiente procedimiento.

Antes de empezar

  1. Colabora con el equipo de Ventas para asegurarte de que tu contrato anual se ha completado y de que tienes cuota asignada en tu proyecto.
  2. Asegúrate de que la facturación esté habilitada en tu Google Cloud proyecto.
  3. En la consola de Google Cloud, en la página del selector de proyectos, crea un proyecto Google Cloud o ve a uno que ya tengas.

    Ir al selector de proyectos

  4. Habilita la API de Looker en tu proyecto en la consola de Google Cloud. Al habilitar la API, es posible que tengas que actualizar la página de la consola para confirmar que se ha habilitado.

    Habilitar la API

  5. Configura un cliente de OAuth y crea credenciales de autorización. El cliente OAuth te permite autenticarte y acceder a la instancia. Debes configurar OAuth para crear una instancia de Looker (Google Cloud core), aunque utilices otro método de autenticación para autenticar a los usuarios en tu instancia.
  6. Si quieres usar Controles de Servicio de VPC, debes crear una instancia de conexiones privadas (acceso a servicios privados) en lugar de una instancia de conexión segura pública.

Roles obligatorios

Para obtener los permisos que necesitas para crear una instancia de Looker (Google Cloud Core), pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de Looker (roles/looker.admin) en el proyecto en el que se ubicará la instancia. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

También es posible que necesites roles de gestión de identidades y accesos adicionales si quieres configurar claves de cifrado gestionadas por el cliente (CMEK). Visita la página Control de acceso con IAM de la documentación de Cloud Key Management Service para obtener más información.

Crear una instancia de Looker (Google Cloud Core)

Looker (Google Cloud core) tarda unos 60 minutos en generar una instancia nueva.

Para crear tu instancia de Looker (Google Cloud core), selecciona una de las siguientes opciones:

consola

  1. Ve a la página del producto Looker (en la infraestructura de Google Cloud) desde tu proyecto en la consola de Google Cloud. Si ya has creado una instancia de Looker (Google Cloud core) en este proyecto, se abrirá la página Instancias.

    Ir a Looker (servicio principal de Google Cloud)

  2. Haz clic en CREAR INSTANCIA.
  3. En la sección Nombre de la instancia, indica un nombre para tu instancia de Looker (Google Cloud Core). El nombre de la instancia no está asociado a la URL de la instancia de Looker (Google Cloud core) una vez que se ha creado. El nombre de la instancia no se puede cambiar después de crearla.
  4. En la sección Credenciales de la aplicación OAuth, introduce el ID de cliente de OAuth y el secreto de OAuth que creaste al configurar tu cliente de OAuth.
  5. En la sección Región, selecciona la opción adecuada en el menú desplegable para alojar tu instancia de Looker (Google Cloud core). Selecciona la región que coincida con la región del contrato de suscripción, que es donde se asigna la cuota de tu proyecto. Las regiones disponibles se indican en la página de documentación sobre las ubicaciones de Looker (Google Cloud Core). No puedes cambiar la región una vez que se haya creado la instancia.
  6. En la sección Edición, define la edición de la instancia según las necesidades de tu organización. El tipo de edición afecta a algunas de las funciones disponibles para la instancia. Asegúrate de elegir el mismo tipo de edición que se indica en tu contrato anual y de que tienes cuota asignada para ese tipo de edición. Estas son las opciones de edición:

    • Estándar: plataforma Looker (servicio principal de Google Cloud) para organizaciones o equipos pequeños con menos de 50 usuarios
    • Empresa: plataforma Looker (principal de Google Cloud) con funciones de seguridad mejoradas para abordar una amplia variedad de casos prácticos de BI y analíticas internos.
    • Insertar: plataforma de Looker (Google Cloud core) para implementar y mantener analíticas externas fiables y aplicaciones personalizadas a gran escala
    • Ediciones que no son de producción: si quieres un entorno de preproducción y de pruebas, selecciona una de las ediciones que no son de producción. Para obtener más información, consulta la documentación sobre instancias de no producción.
    • Ediciones de prueba: una edición de prueba tiene las mismas funciones que la edición de producción correspondiente, con la excepción de que las ediciones de prueba son válidas durante 90 días.

    Las ediciones no se pueden cambiar después de crear la instancia. Si quieres cambiar de edición, puedes usar la función de importación y exportación para mover los datos de tu instancia de Looker (Google Cloud core) a una nueva instancia configurada con otra edición.

  7. En la sección Personalizar la instancia, haz clic en Mostrar opciones de configuración para ver un grupo de ajustes adicionales que puedes personalizar en la instancia.

  8. En la sección Conexiones, selecciona Usar conexiones públicas seguras. Una configuración de conexión pública segura asigna una dirección IP externa accesible a través de Internet y está disponible para todos los tipos de edición.

  9. Si vas a crear una instancia de la edición Enterprise o Embed, verás la sección Cifrado. En la sección Cifrado, puedes seleccionar el tipo de cifrado que quieras usar en tu instancia. Están disponibles las siguientes opciones de cifrado:

  10. En la sección Ventana de mantenimiento, puedes especificar el día de la semana y la hora en los que Looker (Google Cloud core) programa el mantenimiento. Las ventanas de mantenimiento duran una hora. De forma predeterminada, la opción Ventana preferida de Ventana de mantenimiento está definida como Cualquier ventana.

  11. En la sección Deny Maintenance Period (Periodo de mantenimiento denegado), puedes especificar un bloque de días en los que Looker (Google Cloud core) no programará el mantenimiento. Los periodos de denegación de mantenimiento pueden durar hasta 60 días. Debes permitir al menos 14 días de disponibilidad de mantenimiento entre dos periodos de mantenimiento denegados.

  12. En la sección Gemini en Looker, puedes hacer que las funciones de Gemini en Looker estén disponibles para la instancia de Looker (Google Cloud Core). Para habilitar Gemini en Looker, selecciona Gemini y, a continuación, Funciones para testers de confianza. Cuando la opción Funciones para testers de confianza está habilitada, los usuarios pueden acceder a las funciones para testers de confianza de Gemini en Looker. Cada usuario puede solicitar acceso a las funciones no públicas para testers de confianza usando el formulario de versión preliminar de Gemini en Looker. Debes habilitar este ajuste para usar Gemini durante la vista previa de acceso previo a la disponibilidad general. También puedes seleccionar Uso de datos de testers de confianza. Si habilitas este ajuste, aceptas que Google utilice tus datos tal como se describe en los términos del Programa de Testers de Confianza de Gemini Google Cloud . Para inhabilitar Gemini en una instancia de Looker (Google Cloud Core), desmarca el ajuste Gemini.

  13. Haz clic en Crear.

gcloud

  1. Si usas CMEK, crea la cuenta de servicio de Looker y sigue las instrucciones para configurar CMEK.
  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 \
    [--consumer-network=CONSUMER_NETWORK --private-ip-enabled --reserved-range=RESERVED_RANGE]
    [--no-public-ip-enabled]
    [--public-ip-enabled]
    [--async]
    

    Haz los cambios siguientes:

    • INSTANCE_NAME: nombre de la instancia de Looker (servicio principal de Google Cloud). No está asociado a la URL de la instancia.
    • PROJECT_ID: el nombre del proyecto Google Cloud en el que vas a crear 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 al configurar tu cliente de OAuth. Una vez creada la instancia, configura la URI de redireccionamiento autorizada en el cliente de OAuth que creaste anteriormente.
    • REGION: la región en la que se aloja tu instancia de Looker (Google Cloud Core). Selecciona la región que coincida con la del contrato de suscripción. Las regiones disponibles se indican en la página de documentación sobre las ubicaciones de Looker (Google Cloud Core). No puedes cambiar la región una vez que se haya creado la instancia.
    • EDITION: la edición, el tipo de entorno (producción o no producción) y si se trata de una edición de prueba de la instancia. Los valores posibles son core-standard-annual, core-enterprise-annual, core-embed-annual, nonprod-core-standard-annual, nonprod-core-enterprise-annual, nonprod-core-embed-annual, core-trial-standard, core-trial-enterprise o core-trial-embed. Las ediciones no se pueden cambiar después de crear la instancia. Si quieres cambiar de edición, puedes usar la función de importación y exportación para mover los datos de tu instancia de Looker (Google Cloud core) a una nueva instancia configurada con otra edición.
    • CONSUMER_NETWORK: tu red de VPC o VPC compartida. Se debe definir si vas a crear una instancia de conexiones privadas.
    • RESERVED_RANGE: el intervalo de direcciones IP de la VPC en el que Google aprovisionará una subred para tu instancia de Looker (Google Cloud Core). No definas un intervalo si vas a habilitar una conexión de red privada para tu instancia.

    Incluye también estas marcas:

    • --public-ip-enabled se usa para habilitar la conexión pública segura.
    • --async se recomienda cuando creas una instancia de Looker (Google Cloud Core).
  3. Puedes añadir más parámetros para aplicar otros ajustes 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
    [--fips-enabled]
    
    Sustituye lo siguiente:

    • MAINTENANCE_WINDOW_DAY: debe ser uno de los siguientes: friday, monday, saturday, sunday, thursday, tuesday o wednesday. Consulta la página de documentación Gestionar políticas de mantenimiento de Looker (Google Cloud core) para obtener más información sobre los ajustes de la ventana de mantenimiento.
    • MAINTENANCE_WINDOW_TIME y DENY_MAINTENANCE_PERIOD_TIME: deben estar en hora UTC y en formato de 24 horas (por ejemplo, 13:00 o 17:45).
    • DENY_MAINTENANCE_PERIOD_START_DATE y DENY_MAINTENANCE_PERIOD_END_DATE: deben tener el formato YYYY-MM-DD.
    • KMS_KEY_ID: debe ser la clave que se crea al configurar las claves de cifrado gestionadas por el cliente (CMEK).

    Puedes incluir la marca --fips-enabled para habilitar el cumplimiento del estándar FIPS 140-2 de nivel 1.

Terraform

Usa el siguiente recurso de Terraform para aprovisionar una instancia de Looker (Google Cloud core) Standard con funciones básicas:

# Creates a Standard edition Looker (Google Cloud core) instance with basic functionality enabled.
resource "google_looker_instance" "main" {
  name             = "my-instance"
  platform_edition = "LOOKER_CORE_STANDARD"
  region           = "us-central1"
  oauth_config {
    client_id     = "my-client-id"
    client_secret = "my-client-secret"
  }
}

Usa el siguiente recurso de Terraform para aprovisionar una instancia Standard de Looker (Google Cloud Core) con ajustes adicionales:

# Creates a Standard edition Looker (Google Cloud core) instance with full functionality enabled.

resource "google_looker_instance" "main" {
  name              = "my-instance"
  platform_edition  = "LOOKER_CORE_STANDARD"
  region            = "us-central1"
  public_ip_enabled = true
  admin_settings {
    allowed_email_domains = ["google.com"]
  }
  // User metadata config is only available when platform edition is LOOKER_CORE_STANDARD.
  user_metadata {
    additional_developer_user_count = 10
    additional_standard_user_count  = 10
    additional_viewer_user_count    = 10
  }
  maintenance_window {
    day_of_week = "THURSDAY"
    start_time {
      hours   = 22
      minutes = 0
      seconds = 0
      nanos   = 0
    }
  }
  deny_maintenance_period {
    start_date {
      year  = 2050
      month = 1
      day   = 1
    }
    end_date {
      year  = 2050
      month = 2
      day   = 1
    }
    time {
      hours   = 10
      minutes = 0
      seconds = 0
      nanos   = 0
    }
  }
  oauth_config {
    client_id     = "my-client-id"
    client_secret = "my-client-secret"
  }
}

Usa el siguiente recurso de Terraform para aprovisionar una instancia de Looker (Google Cloud core) Enterprise con una conexión de red privada:

# Creates an Enterprise edition Looker (Google Cloud core) instance with full, Private IP functionality.
resource "google_looker_instance" "main" {
  name               = "my-instance"
  platform_edition   = "LOOKER_CORE_ENTERPRISE_ANNUAL"
  region             = "us-central1"
  private_ip_enabled = true
  public_ip_enabled  = false
  reserved_range     = google_compute_global_address.main.name
  consumer_network   = data.google_compute_network.main.id
  admin_settings {
    allowed_email_domains = ["google.com"]
  }
  encryption_config {
    kms_key_name = google_kms_crypto_key.main.id
  }
  maintenance_window {
    day_of_week = "THURSDAY"
    start_time {
      hours   = 22
      minutes = 0
      seconds = 0
      nanos   = 0
    }
  }
  deny_maintenance_period {
    start_date {
      year  = 2050
      month = 1
      day   = 1
    }
    end_date {
      year  = 2050
      month = 2
      day   = 1
    }
    time {
      hours   = 10
      minutes = 0
      seconds = 0
      nanos   = 0
    }
  }
  oauth_config {
    client_id     = "my-client-id"
    client_secret = "my-client-secret"
  }
  depends_on = [
    google_service_networking_connection.main,
    google_kms_crypto_key.main
  ]
}

resource "google_kms_key_ring" "main" {
  name     = "keyring-example"
  location = "us-central1"
}

resource "google_kms_crypto_key" "main" {
  name     = "crypto-key-example"
  key_ring = google_kms_key_ring.main.id
}

resource "google_service_networking_connection" "main" {
  network                 = data.google_compute_network.main.id
  service                 = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [google_compute_global_address.main.name]
}

resource "google_compute_global_address" "main" {
  name          = "looker-range"
  purpose       = "VPC_PEERING"
  address_type  = "INTERNAL"
  prefix_length = 20
  network       = data.google_compute_network.main.id
}

data "google_project" "main" {}

data "google_compute_network" "main" {
  name = "default"
}

resource "google_kms_crypto_key_iam_member" "main" {
  crypto_key_id = google_kms_crypto_key.main.id
  role          = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
  member        = "serviceAccount:service-${data.google_project.main.number}@gcp-sa-looker.iam.gserviceaccount.com"
}

Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.

No se puede pausar ni finalizar la creación de una instancia una vez que se ha iniciado. Cuando el recurso de Terraform se haya aprovisionado correctamente, tu terminal mostrará el siguiente mensaje:

Creation complete after XmXs [id=projects/PROJECT-ID/locations/REGION/instances/my-instance-randomly-generated-name]

Apply complete! Resources: X added, X changed, X destroyed.

Para ver el estado de tu nueva instancia, a la que se le asignará un nombre generado aleatoriamente, ve a la página Instancias de la consola.

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

Una vez que se haya creado la instancia de conexión segura pública, la URL pública de la instancia aparecerá en la columna URL de la instancia de la página Instancias.

Una vez creada la instancia, configura la URI de redireccionamiento autorizada en el cliente de OAuth que creaste anteriormente.

Una vez que se haya creado la instancia y hayas completado la configuración de OAuth, podrás verla accediendo a su URL, que se mostrará en la página Instancias.

Siguientes pasos