Crea una instancia de Looker (Google Cloud Core)

En esta página, se analiza cómo aprovisionar una instancia de Looker (Google Cloud Core).

Antes de comenzar

  1. En la consola de Google Cloud, en la página del selector de proyectos, crea un proyecto de Google Cloud o navega a uno existente.

    Ir al selector de proyectos

  2. 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 haya habilitado.

    Habilitar la API

  3. 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 haya habilitado.

    Habilitar la API

  4. Configura un cliente de OAuth y crea credenciales de autorización. El cliente de OAuth te permite autenticar la instancia y acceder a ella. Debes configurar OAuth para crear una instancia de Looker (Google Cloud Core), incluso si usas un método de autenticación diferente para autenticar usuarios en tu instancia.
  5. Si quieres usar una IP privada, los Controles del servicio de VPC o claves de encriptación administradas por el cliente (CMEK) con la instancia de Looker (Google Cloud Core) que estás creando, se requiere una configuración adicional antes de crearla. Es posible que también se requiera una edición y una configuración de red adicionales durante la creación de la instancia.

Funciones obligatorias

Si quieres obtener los permisos que necesitas para crear una instancia de Looker (Google Cloud Core), pídele a tu administrador que te otorgue el rol de IAM Administrador de Looker (roles/looker.admin) en el proyecto en el que residirá la instancia. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

Es posible que también puedas obtener los permisos necesarios a través de los roles personalizados o de otros roles predefinidos.

Es posible que también necesites roles de IAM adicionales para configurar la IP privada, los Controles del servicio de VPC o las claves de encriptación administradas por el cliente (CMEK). Visita las páginas de documentación de esas funciones para obtener más información.

Crea una instancia de Looker (Google Cloud Core)

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

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

Console

  1. Navega a la página de producto de Looker (Google Cloud Core) desde tu proyecto en la consola de Google Cloud. Si ya creaste una instancia de Looker (Google Cloud Core) en este proyecto, se abrirá la página Instancias.

    Ir a Looker (Google Cloud Core)

  2. Haz clic en CREAR INSTANCIA.
  3. En la sección Nombre de la instancia, asígnale un nombre a la instancia de Looker (Google Cloud Core). Una vez que se creó la instancia, el nombre no estará asociado con la URL de la instancia de Looker (Google Cloud Core). No se puede cambiar el nombre de la instancia después de su creación.
  4. En la sección Credenciales de la aplicación de OAuth, ingresa el ID de cliente y el secreto de OAuth que creaste cuando configuraste el cliente de OAuth.
  5. En la sección Región, selecciona la opción correspondiente del menú desplegable. La región adecuada es la 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, que es donde se asigna la cuota de tu proyecto. Las regiones disponibles se enumeran en la página de documentación de las ubicaciones de Looker (Google Cloud Core).
  6. En la sección Edición, configura la edición de la instancia según las necesidades de tu organización. El tipo de edición afecta algunas de las funciones disponibles para la instancia. Estas son las opciones de edición:

    • Estándar: Plataforma de Looker para organizaciones pequeñas o equipos con menos de 50 usuarios. Se puede comprar a través de un contrato anual.
    • Enterprise: Plataforma de Looker con funciones de seguridad mejoradas para abordar una amplia variedad de casos de uso de IE interna y estadísticas. Disponible con un contrato anual.
    • Embed: Es una plataforma de Looker para implementar y mantener estadísticas externas confiables y aplicaciones personalizadas a gran escala. Disponible con un contrato anual.

    Las ediciones no se pueden cambiar después de crear la instancia. Si quieres cambiar una edición, puedes usar la opción importar y exportar para trasladar los datos de tu instancia de Looker (Google Cloud Core) a una nueva instancia configurada con una edición diferente.

  7. En la sección Personaliza tu instancia, haz clic en MOSTRAR OPCIONES DE CONFIGURACIÓN para ver un grupo de parámetros de configuración adicionales que puedes personalizar para la instancia.

  8. En la sección Conexiones, se muestran las opciones de conexión de red. El tipo de conexión de red seleccionado afecta las funciones de Looker disponibles para la instancia. Están disponibles las siguientes opciones de conexión de red:

    • IP pública: Asigna una dirección IP externa a la que se puede acceder a través de Internet.
    • IP privada: Asigna una dirección IP interna alojada en Google a la que se puede acceder en una nube privada virtual (VPC). Puedes usar esta dirección para conectarte desde otros recursos con acceso a la VPC. Si seleccionas esta opción, sigue las instrucciones de la página de documentación Crea una conexión IP privada para Looker (Google Cloud Core) para completar la configuración de tu red. Solo las ediciones Enterprise y Embed admiten IP privadas.
    • También puedes seleccionar ambas opciones. Si se seleccionan ambas opciones, el tráfico entrante se enrutará a través de una IP pública, y el tráfico saliente, a través de una IP privada. La instancia de Looker (Google Cloud Core) no usará la IP pública para originar el tráfico saliente de Internet.

    Si seleccionas solo IP privada o IP pública y IP privada, sigue los pasos que se indican en la página de documentación Usa una IP privada con Looker (Google Cloud Core) para completar la configuración de tu red durante la creación de instancias.

  9. En la sección Encriptación, puedes seleccionar si quieres usar la encriptación predeterminada administrada por Google o una clave de encriptación administrada por el cliente (CMEK). Consulta la página de documentación Usa claves de encriptación administradas por el cliente con Looker (Google Cloud Core) para obtener más información sobre las CMEK y cómo configurarlas durante la creación de instancias. No se puede cambiar el tipo de encriptación después de crear la instancia.

  10. En la sección Período de mantenimiento, puedes especificar el día de la semana y la hora en que Looker (Google Cloud Core) programa el mantenimiento. Los períodos de mantenimiento duran una hora. De forma predeterminada, la opción Período preferido en Período de mantenimiento está configurada en Cualquier período.

  11. En la sección Denegar período de mantenimiento, puedes especificar un bloque de días de forma opcional en el que Looker (Google Cloud Core) no programa el mantenimiento. Los períodos de rechazo del mantenimiento pueden ser de hasta 60 días. Debes permitir al menos 14 días de disponibilidad de mantenimiento entre cualquiera de 2 períodos de rechazo del mantenimiento.

  12. Haz clic en Crear.

Mientras se crea la instancia, se te redireccionará a la página Instancias en la consola. Es posible que debas actualizar la página para ver el estado de la instancia nueva. También puedes ver la actividad de creación de instancias haciendo clic en el ícono de notificaciones en el menú de la consola de Google Cloud. Mientras se crea la instancia, el ícono de notificaciones en el menú de la consola de Google Cloud estará rodeado por un ícono de carga.

gcloud

  1. Si usas CMEK, crea la cuenta de servicio de Looker y sigue las instrucciones para configurar CMEK primero.
  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]
    

    Reemplaza lo siguiente:

    • INSTANCE_NAME: Es un nombre para la instancia de Looker (Google Cloud Core); no está asociado con la URL de la instancia.
    • PROJECT_ID: Es el nombre del proyecto de Google Cloud en el que crearás la instancia de Looker (Google Cloud Core).
    • OAUTH_CLIENT_ID y OAUTH_CLIENT_SECRET: El ID y el secreto de OAuth que creaste cuando configuraste tu cliente de OAuth. Después de crear la instancia, ingresa su URL en la sección URI de redireccionamiento autorizados del cliente de OAuth.
    • REGION: Es 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 de las ubicaciones de Looker (Google Cloud Core).
    • EDITION: Es la edición de la instancia. Sus valores posibles son core-standard-annual, core-enterprise-annual o core-embed-annual. Las ediciones no se pueden cambiar después de crear la instancia. Si quieres cambiar una edición, puedes usar la opción importar y exportar para trasladar los datos de tu instancia de Looker (Google Cloud Core) a una nueva instancia configurada con una edición diferente.
    • CONSUMER_NETWORK: tu red de VPC o VPC compartida. Se debe configurar si creas una instancia de IP privada.
    • RESERVED_RANGE: Es el rango de direcciones IP dentro de la VPC en el que Google aprovisionará una subred para tu instancia de Looker (Google Cloud Core). No definas un rango si habilitas una conexión de red IP privada para tu instancia.

    También puedes incluir las siguientes marcas:

    • --private-ip-enabled habilita la IP privada.
    • --public-ip-enabled o --no-public-ip-enabled se usan para habilitar o inhabilitar la IP pública.
    • Se recomienda usar --async cuando creas una instancia de Looker (Google Cloud Core).
  3. Puedes agregar más parámetros para aplicar otra 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
    
    Reemplaza lo siguiente:

    • MAINTENANCE_WINDOW_DAY: Debe ser una de las siguientes opciones: friday, monday, saturday, sunday, thursday, tuesday o wednesday. Consulta la página de documentación Administra las políticas de mantenimiento de Looker (Google Cloud Core) para obtener más información sobre la configuración del período de mantenimiento.
    • MAINTENANCE_WINDOW_TIME y DENY_MAINTENANCE_PERIOD_TIME: Deben estar en formato UTC en formato de 24 horas (por ejemplo, 13:00, 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 cuando se configuran claves de encriptación administradas por el cliente (CMEK).

Terraform

Usa el siguiente recurso de Terraform para aprovisionar una instancia estándar de Looker (Google Cloud Core) 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 Terraform para aprovisionar una instancia estándar de Looker (Google Cloud Core) con parámetros de configuración 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) de 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"
}

Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.

La creación de instancias no se puede pausar ni finalizar una vez iniciada. Cuando tu recurso de Terraform se aprovisione correctamente, la 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 de forma aleatoria, visita la página Instancias en la consola.

El aprovisionamiento de la instancia puede tardar hasta 60 minutos.

Después de crear la instancia, ingresa su URL en la sección URI de redireccionamiento autorizados del cliente de OAuth.

Después de crear la instancia y completar la configuración de OAuth, puedes verla si navegas a su URL, que se mostrará en la página Instancias. Luego, podrás seleccionar tu método de autenticación de usuarios y agregar usuarios, conectarte a tu base de datos y continuar con la configuración de la instancia.

Cuenta de servicio de Looker

Looker (Google Cloud Core) usa un agente de servicio, llamado cuenta de servicio de Looker, para realizar ciertas actividades. Una sola cuenta de servicio de Looker trabaja en nombre de todas las instancias de Looker (Google Cloud Core) en un proyecto de Google Cloud determinado. La cuenta de servicio de Looker se crea automáticamente la primera vez que se crea una instancia de Looker (Google Cloud Core) en un proyecto.

A veces, como cuando usas las credenciales predeterminadas de la aplicación (ADC) con una conexión a BigQuery en otro proyecto, necesitas ver información sobre la cuenta de servicio de Looker, como su dirección de correo electrónico.

O bien, si planeas usar CMEK y usarás Google Cloud CLI, Terraform o la API para configurar CMEK antes de crear la instancia de Looker (Google Cloud Core), debes crear la cuenta de servicio de Looker de forma manual antes de crear la instancia.

Para ver o crear la cuenta de servicio de Looker, selecciona una de las siguientes opciones:

Console

Para ver la cuenta de servicio de Looker, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página IAM.

    Ir a IAM
  2. Selecciona el proyecto en el que reside la instancia de Looker (Google Cloud Core).
  3. Selecciona la casilla de verificación Incluir asignaciones de roles proporcionadas por Google.

gcloud

Para crear o ver la cuenta de servicio de Looker, haz lo siguiente:


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

Reemplaza PROJECT_ID por el proyecto en el que reside la instancia de Looker (Google Cloud Core).

El nombre de la cuenta de servicio será Looker Service Account. Tendrá el formato service-<project number>@gcp-sa-looker.iam.gserviceaccount.com.

¿Qué sigue?