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. No console do Google Cloud, na página do seletor de projetos, crie um projeto do Google Cloud ou navegue até um projeto atual.

    Acessar o seletor de projetos

  2. Ative a API Looker para seu projeto no console do Google Cloud. Ao ativar a API, pode ser necessário atualizar a página do console para confirmar que ela foi ativada.

    Ativar a API

  3. Ative a API Service Networking para seu projeto no console do Google Cloud. Ao ativar a API, pode ser necessário atualizar a página do console para confirmar que ela 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ê esteja usando outro método de autenticação para autenticar usuários na instância.
  5. Se você quiser usar IP privado, VPC Service Controls ou chaves de criptografia gerenciadas pelo cliente (CMEK) com a instância do Looker (Google Cloud Core) que está criando, será necessária uma configuração extra antes da criação da instância. Também pode ser necessário editar e configurar a rede durante a criação da instância.

Funções exigidas

Para ter as permissões necessárias para criar uma instância do Looker (Google Cloud Core), peça ao administrador para conceder a você 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 com papéis personalizados ou outros papéis predefinidos.

Talvez você também precise de outros papéis do IAM para configurar o IP privado, o VPC Service Controls ou as 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. Acesse 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) nesse projeto, a página Instâncias será aberta.

    Acessar o Looker (Google Cloud Core)

  2. Clique em CRIAR INSTÂNCIA.
  3. Na seção Nome da instância, insira 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. O nome da instância não pode ser alterado após a criação dela.
  4. Na seção Credenciais do aplicativo OAuth, digite o ID do cliente e a chave secreta OAuth que você criou quando configurou seu 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 está 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 para a instância. Estas são as opções de edição:

    • Padrão: a plataforma Looker para pequenas organizações ou equipes com menos de 50 usuários. Ela pode ser comprada por meio de um contrato anual.
    • Enterprise: 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. Se quiser mudar uma edição, use a opção de importação e exportação para migrar 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 extras que podem ser personalizadas 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. Apenas as edições Enterprise e Embed aceitam IP particular.
    .
    • 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 originar o 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, escolha entre usar a criptografia gerenciada pelo Google padrão 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 a 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 o horário 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 a manutenção. Os períodos de bloqueio de manutenção podem ser de até 60 dias. É preciso oferecer pelo menos 14 dias de disponibilidade de manutenção entre dois períodos de bloqueio de manutenção.

  12. Clique em Criar.

Quando a instância estiver sendo criada, a página Instâncias será aberta no console. Talvez seja necessário atualizar a página para conferir o status da nova instância. Também é possível conferir a atividade de criação de instâncias clicando no ícone de notificações no menu do console do Google Cloud. Enquanto a instância é criada, o ícone de notificações no menu do console do Google Cloud é circulado por um ícone de carregamento.

gcloud

  1. Se você estiver usando a CMEK, crie a conta de serviço do Looker e siga as instruções para configurá-la 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); ela não está associada 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 e a chave secreta do cliente OAuth que você criou quando configurou 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 sua 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. Se quiser mudar uma edição, use a opção de importação e exportação para migrar 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 VPC compartilhada. Precisa ser definido se você estiver criando 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). Não defina um intervalo se você estiver ativando uma conexão de rede IP particular para sua instância.

    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 usar --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 o seguinte:

    • MAINTENANCE_WINDOW_DAY: precisa ser um destes valores: friday, monday, saturday, sunday, thursday, tuesday, wednesday. Consulte a página de documentação Gerenciar políticas de manutenção do Looker (Google Cloud Core) para saber mais sobre as configurações da janela de manutenção.
    • MAINTENANCE_WINDOW_TIME e DENY_MAINTENANCE_PERIOD_TIME: precisam estar na hora 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 seguinte Terraform recurso 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 seguinte Terraform recurso para provisionar uma instância padrão do Looker (Google Cloud Core) com outras configurações aplicadas:

# 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 seguinte Terraform recurso para provisionar uma instância do Looker (Google Cloud Core) Enterprise com uma conexão de rede particular:

# 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, seu terminal vai imprimir 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 conferir o status da nova instância, que vai receber um nome gerado aleatoriamente, acesse 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, você pode ver a instância navegando até o URL da instância, que será mostrado na página Instâncias. Em seguida, selecione o método de autenticação de usuário, adicione usuários, conecte-se ao banco de dados e continue 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 executar 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.

A conta de serviço permite que o Looker (Google Cloud Core) se conecte a outros serviços, como o BigQuery.

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

Ou, se você planeja usar CMEK e vai usar 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 acessar 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 acessar a conta de serviço do Looker:


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

Substitua PROJECT_ID pelo projeto em que a instância do Looker (Google Cloud Core) está localizada.

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