Criar uma instância do Looker (Google Cloud Core)

Nesta página, explicamos como provisionar uma instância do Looker (Google Cloud Core).

Antes de começar

  1. Na página do seletor de projetos do console do Google Cloud, crie um projeto do Google Cloud ou acesse um atual.

    Acessar o seletor de projetos

  2. Ative a API Looker para seu projeto no console do Google Cloud. Talvez seja necessário atualizar a página do console para confirmar que a API foi ativada.

    Ativar a API

  3. Ative a API Service Networking para seu projeto no console do Google Cloud. Talvez seja necessário atualizar a página do console para confirmar que a API foi ativada.

    Ativar a API

  4. Configurar um cliente OAuth e criar credenciais de autorização. O cliente OAuth permite autenticar e acessar a instância. É necessário configurar o OAuth para criar uma instância do Looker (Google Cloud Core), mesmo que você use um método de autenticação diferente para autenticar usuários na sua instância.
  5. Se você quiser usar IP particular, VPC Service Controls ou chaves de criptografia gerenciadas pelo cliente (CMEK) com a instância do Looker (Google Cloud Core) que você está criando, será necessário configurar outra configuração antes da criação da instância. Também pode ser necessária outra edição e configuração de rede durante a criação da instância.

Funções exigidas

Para receber as permissões necessárias para criar uma instância do Looker (Google Cloud Core), peça ao administrador para conceder a você o papel do IAM de Administrador do Looker (roles/looker.admin) no projeto em que a instância vai residir. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Talvez você também precise de outros papéis do IAM para configurar IP privado, VPC Service Controls ou chaves de criptografia gerenciadas pelo cliente (CMEK). Acesse as páginas de documentação desses recursos para saber mais.

Criar uma instância do Looker (Google Cloud Core)

O Looker (Google Cloud Core) leva aproximadamente 60 minutos para gerar uma nova instância.

Para criar sua instância do Looker (Google Cloud Core), selecione uma das seguintes opções:

Console

  1. Navegue até a página do produto Looker (Google Cloud Core) do seu projeto no console do Google Cloud. Se você já tiver criado uma instância do Looker (Google Cloud Core) no projeto, a página Instâncias vai ser aberta.

    Acessar o Looker (Google Cloud Core)

  2. Clique em CRIAR INSTÂNCIA.
  3. Na seção Nome da instância, dê um nome para sua instância do Looker (Google Cloud Core). O nome da instância não é associado ao URL da instância do Looker (Google Cloud Core) depois que ela é criada. Não é possível alterar o nome da instância após a criação dela.
  4. Na seção Credenciais do aplicativo OAuth, digite o ID do cliente OAuth e a chave secreta do OAuth que você criou ao configurar o cliente OAuth.
  5. Na seção Região, selecione a opção apropriada no menu suspenso. A região apropriada é aquela em que sua instância do Looker (Google Cloud Core) está hospedada. Selecione a região no contrato de assinatura, que é onde a cota do seu projeto é alocada. As regiões disponíveis estão listadas na página de documentação dos locais do Looker (Google Cloud Core).
  6. Na seção Edição, defina a edição da instância de acordo com as necessidades da sua organização. O tipo de edição afeta alguns dos recursos disponíveis da instância. Estas são as opções de edição:

    • Padrão: plataforma Looker para pequenas organizações ou equipes com menos de 50 usuários. Ele pode ser comprado em um contrato anual.
    • Empresarial: plataforma Looker com recursos de segurança reforçada para atender a uma ampla variedade de casos de uso internos de BI e análise. Disponível com um contrato anual.
    • Incorporar: plataforma Looker para implantar e manter análises externas confiáveis e aplicativos personalizados em grande escala. Disponível com um contrato anual.

    Não é possível alterar as edições após a criação da instância. Caso queira mudar uma edição, use as importações e exportações para mover os dados da instância do Looker (Google Cloud Core) para uma nova instância configurada com outra edição.

  7. Na seção Personalizar sua instância, clique em MOSTRAR OPÇÕES DE CONFIGURAÇÃO para exibir um grupo de configurações adicionais que você pode personalizar para a instância.

  8. Na seção Conexões, as opções de conexão de rede são exibidas. O tipo de conexão de rede selecionado afeta os recursos do Looker disponíveis para a instância. As seguintes opções de conexão de rede estão disponíveis:

    • IP público: atribui um endereço IP externo acessível pela Internet.
    • IP privado: atribui um endereço IP interno hospedado pelo Google que pode ser acessado em uma nuvem privada virtual (VPC). É possível usar esse endereço para se conectar a partir de outros recursos com acesso à VPC. Se você selecionar essa opção, siga as instruções na página de documentação Criar uma conexão IP privada para o Looker (Google Cloud Core) para concluir a configuração da rede. Somente as edições Enterprise e Embed aceitam IP privado.
    • Você também pode selecionar as duas opções. Se ambas as opções forem selecionadas, o tráfego de entrada será roteado pelo IP público, e o tráfego de saída pelo IP particular. A instância do Looker (Google Cloud Core) não vai usar o IP público para dar origem ao tráfego de saída da Internet.

    Se você selecionar apenas IP privado ou IP público e IP privado, siga as etapas na página de documentação Usar IP privado com o Looker (Google Cloud Core) para concluir a configuração da rede durante a criação da instância.

  9. Na seção Criptografia, é possível selecionar se você quer usar a criptografia padrão gerenciada pelo Google ou uma chave de criptografia gerenciada pelo cliente (CMEK). Consulte a página de documentação Como usar chaves de criptografia gerenciadas pelo cliente com o Looker (Google Cloud Core) para mais informações sobre CMEK e como configurá-la durante a criação da instância. Não é possível alterar o tipo de criptografia após a criação da instância.

  10. Na seção Janela de manutenção, é possível especificar o dia da semana e a hora em que o Looker (Google Cloud Core) programa a manutenção. As janelas de manutenção duram uma hora. Por padrão, a opção Janela preferencial na Janela de manutenção é definida como Qualquer janela.

  11. Na seção Período de negação de manutenção, é possível especificar um bloco de dias em que o Looker (Google Cloud Core) não programa manutenção. Os períodos de bloqueio de manutenção podem ser de até 60 dias. É preciso permitir pelo menos 14 dias de disponibilidade de manutenção entre dois períodos de bloqueio de manutenção.

  12. Clique em Criar.

Durante a criação da instância, você será redirecionado para a página Instâncias no console. Talvez seja necessário atualizar a página para ver o status da nova instância. Também é possível ver a atividade de criação da instância clicando no ícone de notificações no menu do console do Google Cloud. Enquanto sua instância é criada, um ícone de carregamento aparece ao redor do ícone de notificações no menu do console do Google Cloud.

gcloud

  1. Se você estiver usando CMEK, crie a conta de serviço do Looker e siga as instruções para configurar a CMEK primeiro.
  2. Use o comando gcloud looker instances create para criar a instância:

    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]
    

    Substitua:

    • INSTANCE_NAME: um nome para sua instância do Looker (Google Cloud Core). Ele não está associado ao URL da instância.
    • PROJECT_ID: o nome do projeto do Google Cloud em que você está criando a instância do Looker (Google Cloud Core).
    • OAUTH_CLIENT_ID e OAUTH_CLIENT_SECRET: o ID do cliente e a chave secreta do OAuth que você criou ao configurar o cliente OAuth. Após a criação da instância, insira o URL da instância na seção URIs de redirecionamento autorizados do cliente OAuth.
    • REGION: a região em que a instância do Looker (Google Cloud Core) está hospedada. Selecione a região que corresponde à região no contrato de assinatura. As regiões disponíveis estão listadas na página de documentação dos locais do Looker (Google Cloud Core).
    • EDITION: a edição da instância. Os valores possíveis são core-standard-annual, core-enterprise-annual ou core-embed-annual. Não é possível alterar as edições após a criação da instância. Caso queira mudar uma edição, use as importações e exportações para mover os dados da instância do Looker (Google Cloud Core) para uma nova instância configurada com outra edição.
    • CONSUMER_NETWORK: sua rede VPC ou a VPC compartilhada. Precisa ser definido se você criar uma instância de IP particular.
    • RESERVED_RANGE: o intervalo de endereços IP na VPC em que o Google vai provisionar uma sub-rede para sua instância do Looker (Google Cloud Core). Precisa ser definido se você criar uma instância de IP particular.

    Você também pode incluir estas sinalizações:

    • --private-ip-enabled ativa o IP privado.
    • --public-ip-enabled ou --no-public-ip-enabled são usados para ativar ou desativar o IP público.
    • Recomendamos o uso de --async ao criar uma instância do Looker (Google Cloud Core).
  3. É possível adicionar mais parâmetros para aplicar outras configurações da instância:

    [--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
    
    Substitua:

    • MAINTENANCE_WINDOW_DAY: precisa ser um dos seguintes valores: friday, monday, saturday, sunday, thursday, tuesday ou wednesday. Consulte a página de documentação Gerenciar políticas de manutenção do Looker (Google Cloud Core) para mais informações sobre as configurações da janela de manutenção.
    • MAINTENANCE_WINDOW_TIME e DENY_MAINTENANCE_PERIOD_TIME: precisam estar no horário UTC no formato de 24 horas (por exemplo, 13:00, 17:45).
    • DENY_MAINTENANCE_PERIOD_START_DATE e DENY_MAINTENANCE_PERIOD_END_DATE: precisam estar no formato YYYY-MM-DD.
    • KMS_KEY_ID: precisa ser a chave criada ao configurar as chaves de criptografia gerenciadas pelo cliente (CMEK).

Terraform

Use o recurso do Terraform a seguir para provisionar uma instância padrão do Looker (Google Cloud Core) com funcionalidade básica:

# 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"
  }
}

Use o recurso do Terraform a seguir para provisionar uma instância padrão do Looker (Google Cloud Core) com mais configurações:

# 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"
  }
}

Use o recurso do Terraform a seguir para provisionar uma instância do Looker (Google Cloud Core) com uma conexão de rede 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 como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

A criação da instância não pode ser pausada ou encerrada depois de iniciada. Quando o recurso do Terraform for provisionado, o terminal vai exibir a seguinte mensagem:

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 o status da nova instância, que receberá um nome gerado aleatoriamente, visite a página Instâncias no console.

O provisionamento da instância pode levar até 60 minutos.

Após a criação da instância, insira o URL da instância na seção URIs de redirecionamento autorizados do cliente OAuth.

Depois que a instância for criada e você concluir a configuração do OAuth, acesse o URL dela para acessar a página Instâncias. Em seguida, você pode selecionar o método de autenticação do usuário e adicionar usuários, conectar-se ao banco de dados e continuar a configuração da instância.

Conta de serviço do Looker

O Looker (Google Cloud Core) usa um agente de serviço, chamado de conta de serviço do Looker, para realizar determinadas atividades. Uma única conta de serviço do Looker funciona em nome de todas as instâncias do Looker (Google Cloud Core) em um determinado projeto do Google Cloud. A conta de serviço do Looker é criada automaticamente na primeira vez que uma instância do Looker (Google Cloud Core) é criada em um projeto.

Às vezes, por exemplo, quando você está usando o Application Default Credentials (ADC) com uma conexão ao BigQuery em outro projeto, é necessário conferir informações sobre a conta de serviço do Looker, como o endereço de e-mail.

Ou, se você planeja usar a CMEK e vai utilizar a Google Cloud CLI, o Terraform ou a API para configurar a CMEK antes de criar a instância do Looker (Google Cloud Core), crie a conta de serviço do Looker manualmente antes de criar a instância.

Para visualizar ou criar a conta de serviço do Looker, selecione uma das seguintes opções:

Console

Para conferir a conta de serviço do Looker:

  1. No console do Google Cloud, abra a página IAM.

    Acessar IAM
  2. Selecione o projeto em que a instância do Looker (Google Cloud Core) está localizada.
  3. Marque a caixa de seleção Incluir concessões de papel fornecidas pelo Google.

gcloud

Para criar ou visualizar a conta de serviço do Looker:


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

Substitua PROJECT_ID pelo projeto que contém a instância do Looker (Google Cloud Core).

O nome da conta de serviço será Looker Service Account. O e-mail terá o formato service-<project number>@gcp-sa-looker.iam.gserviceaccount.com.

A seguir