Criar uma instância de IP público do Looker (Google Cloud Core)

Nesta página, explicamos como provisionar uma instância de IP público 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, talvez seja necessário atualizar a página do console para confirmar que ela foi ativada.

    Ativar a API

  3. Configurar um cliente OAuth e criar credenciais de autorização. O cliente OAuth permite que você autentique e acesse a instância. É necessário configurar o OAuth para criar uma instância do Looker (Google Cloud Core), mesmo que você esteja usando um método de autenticação diferente para autenticar os usuários na sua instância.
  4. Se você quiser usar o VPC Service Controls, crie uma instância de IP particular em vez de uma instância de IP público.

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ê Papel do IAM Administrador do Looker (roles/looker.admin) no projeto em que a instância vai residir. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

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

Você também pode precisar de outros papéis do IAM se quiser configurar chaves de criptografia gerenciadas pelo cliente (CMEK). Acesse a página Controle de acesso com o IAM da documentação do Cloud Key Management Service 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) após a criação. O nome da instância não pode ser alterado após a criação dela.
  4. Na seção Credenciais do aplicativo OAuth, insira o ID do cliente OAuth e a chave secreta OAuth que você criou ao configurar o cliente OAuth.
  5. Na seção Região, selecione a opção adequada no menu suspenso para hospedar sua instância do Looker (Google Cloud Core). 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. Escolha o mesmo tipo de edição listado no seu contrato anual e verifique se você tem cota alocada para esse tipo de edição. Estas são as opções de edição:

    • Padrão: a plataforma Looker (Google Cloud Core) para pequenas organizações ou equipes com menos de 50 usuários
    • Enterprise: plataforma do Looker (Google Cloud Core) com recursos de segurança reforçada para atender a uma ampla variedade de casos de uso internos de BI e análise
    • Incorporar: plataforma Looker (Google Cloud Core) para implantar e manter análises externas e aplicativos personalizados confiáveis em grande escala

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

  7. Na seção Personalizar a instância, clique em MOSTRAR OPÇÕES DE CONFIGURAÇÃO para mostrar um grupo de configurações adicionais que podem ser personalizadas para a instância.

  8. Na seção Conexões, selecione apenas IP público. Uma configuração de conexão de IP público atribui um endereço IP externo acessível pela Internet e está disponível para todos os tipos de edição.

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

  9. Na seção Criptografia, é possível selecionar o tipo de criptografia a ser usado na instância. As seguintes opções de criptografia estão disponíveis:

  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 (núcleo do Google Cloud) não programa manutenções. Os períodos de bloqueio de manutenção podem ser de até 60 dias. É necessário permitir pelo menos 14 dias de disponibilidade de manutenção entre dois períodos de bloqueio de manutenção.

  12. Clique em Criar.

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. Depois que a instância for criada, insira o URL dela 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 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 mudar as edições após a criação da instância. Se você quiser mudar de edição, use a importação e exportação para mover os dados da instância do Looker (Google Cloud Core) para uma nova instância configurada com uma edição diferente.
    • 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 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.

    Inclua também estas flags:

    • --public-ip-enabled é usado para ativar o IP público.
    • O --async é recomendado 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
    [--fips-enabled]
    
    Substitua:

    • 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 no formato UTC 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).

    Inclua a flag --fips-enabled para ativar a conformidade com o FIPS 140-2 nível 1.

Terraform

Use o recurso do Terraform a seguir para provisionar uma instância do Looker (núcleo do Google Cloud) padrão 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 recurso do Terraform a seguir 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.

Durante a criação da instância, você pode ver o status dela na página Instâncias do console. 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.

Depois que a instância de IP público for criada, o URL público dela aparecerá na coluna URL da instância da página Instâncias.

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ê poderá vê-la navegando até o URL da instância, que será mostrado na página Instâncias.

A seguir