Criar uma instância do Looker (Google Cloud Core) com conexões particulares (acesso a serviços particulares)

É possível configurar uma instância de produção ou não produção do Looker (Google Cloud Core) para usar conexões particulares com acesso a serviços privados.

Com o acesso a serviços privados, sua instância do Looker (Google Cloud Core) se comunica diretamente com outros recursos na sua nuvem privada virtual (VPC) sem passar pela Internet pública ou usar endereços IP externo. Essa configuração limita os vetores de ataque, impede o tráfego de entrada da Internet pública e reduz a latência da rede.

A conectividade privada permite o uso de recursos como o VPC Service Controls. No entanto, as conexões particulares não são compatíveis com todos os recursos do Looker (Google Cloud Core). Para mais informações, consulte a tabela de compatibilidade de recursos.

O Looker (Google Cloud Core) é compatível com conexões particulares (PSA) para as edições de instância Enterprise ou Embed.

Papéis e permissões necessárias

Para configurar uma instância de conexões particulares (PSA), você precisa ter as seguintes permissões do IAM:

  1. Para criar uma instância do Looker (Google Cloud Core), é preciso ter o papel de Administrador do Looker (roles/looker.Admin).
  2. Para receber as permissões necessárias para criar intervalos de endereços IP alocados e gerenciar conexões particulares, peça ao administrador para conceder a você o papel do IAM de Administrador de rede do Compute (roles/compute.networkAdmin) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

    Esse papel predefinido contém as permissões necessárias para criar intervalos de endereços IP alocados e gerenciar conexões particulares. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

    Permissões necessárias

    As permissões a seguir são necessárias para criar intervalos de endereços IP alocados e gerenciar conexões particulares:

    • Confira as redes disponíveis no menu suspenso Rede:
      • compute.addresses.list
      • compute.globalAddresses.list
      • compute.networks.list
      • compute.globalAddresses.list
    • Crie uma nova rede VPC:
      • compute.addresses.create
      • compute.globalAddresses.create
      • serviceusage.services.enable
    • Aloque um intervalo de IP particular e configure uma conexão de acesso a serviços particulares: compute.networks.addPeering

    Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

    Se você estiver usando uma rede privada que já foi configurada, não vai precisar dessas permissões.

Também pode ser necessário ter outros papéis do IAM para configurar o VPC Service Controls ou as chaves de criptografia gerenciadas pelo cliente (CMEK). Para saber mais, acesse as páginas de documentação Suporte do VPC Service Controls para o Looker (Google Cloud Core) ou Ativar CMEK para o Looker (Google Cloud Core).

Também pode ser necessário ter outros papéis do IAM para configurar a federação de identidade de colaboradores, o VPC Service Controls ou as chaves de criptografia gerenciadas pelo cliente (CMEK). Para saber mais, acesse as páginas de documentação desses recursos: Usar a federação de identidade de colaboradores para autenticação de usuários do Looker (Google Cloud Core), Suporte do VPC Service Controls para o Looker (Google Cloud Core) ou Ativar CMEK para o Looker (Google Cloud Core).

Antes de começar

  1. Entre em contato com a equipe de vendas para garantir que seu contrato anual seja concluído e que você tenha uma cota alocada no projeto.
  2. Verifique se o faturamento está ativado para o projeto do Google Cloud .
  3. No console do Google Cloud, na página do seletor de projetos, crie um projeto do Google Cloud ou navegue até um projeto atual em que você quer criar a instância do Looker (Google Cloud Core).

    Acessar o seletor de projetos

  4. 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

  5. Ative a API Service Networking 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

  6. Ative a API Compute Engine 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

  7. Configure um cliente OAuth e crie 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 usuários na instância.

Criar e configurar uma rede VPC

Antes de criar uma conexão particular, é preciso criar e configurar uma rede de nuvem privada virtual (VPC). O Looker (Google Cloud Core) é compatível com várias instâncias de conexões privadas (PSA) na mesma VPC, seja na mesma região ou em regiões diferentes.

  1. Crie uma rede VPC no seu projeto. Como alternativa, se você estiver usando uma VPC compartilhada em vez de criar uma nova rede VPC, conclua as etapas na seção a seguir, Como criar uma instância em uma VPC compartilhada, além de concluir as etapas restantes nesta seção para a VPC compartilhada.
  2. Aloque um intervalo de IP IPv4 (bloco CIDR) na VPC para uma conexão de acesso a serviços particulares com o Looker (Google Cloud Core).
    • Antes de alocar o intervalo, considere as restrições.
    • Ao definir o tamanho do intervalo de endereços IP, lembre-se de que o tamanho mínimo é um bloco /22.
    • O Looker (Google Cloud Core) é compatível com todos os intervalos IPv4 dentro do RFC 1918, que especifica os endereços IP atribuídos para uso interno (ou seja, em uma organização) e não são roteados na Internet. Especificamente, são as seguintes:
      • 10.0.0.0/8
      • 172.16.0.0/12
      • 192.168.0.0/16
    • Os intervalos IPv4 de classe E (240.0.0.0/4) são reservados para uso futuro, conforme indicado em RFC 5735 e RFC 1112, e não são compatíveis com o Looker (Google Cloud Core).
    Quando uma instância do Looker (Google Cloud Core) é criada pela primeira vez em uma região dentro de uma VPC, o Looker cria uma sub-rede somente proxy. A sub-rede somente proxy usa uma sub-rede de intervalo /26 da sub-rede /22 que você reserva ao criar a instância do Looker (Google Cloud Core). Todas as instâncias subsequentes de conexões privadas (PSA) do Looker (Google Cloud Core) na mesma VPC e na mesma região usam a mesma sub-rede somente proxy.
  3. Adicione a conexão de acesso a serviços particulares à sua rede VPC usando o intervalo de IP alocado na etapa anterior para a Alocação atribuída.
  4. Depois que a rede VPC for criada, volte para a página Criar instância do Looker no projeto do Google Cloud . Talvez seja necessário atualizar a página para que a rede VPC seja reconhecida.

Depois de concluir essas etapas, comece a criar sua instância seguindo as etapas na página de documentação Criar uma instância do Looker (Google Cloud Core) , começando pela seção Antes de começar.

Várias instâncias de conexões particulares na mesma VPC

Se duas ou mais instâncias do Looker (Google Cloud Core) de conexões particulares estiverem localizadas na mesma região e na mesma VPC, e você excluir a primeira instância do Looker (Google Cloud Core) criada na região, a sub-rede somente proxy não será liberada porque ainda está em uso pelas instâncias restantes. Se você tentar criar uma nova instância do Looker (Google Cloud Core) de conexões particulares (PSA) que use o mesmo intervalo de endereços da instância excluída (que contém o intervalo de endereços IP da sub-rede somente proxy), a criação da instância vai falhar e você vai receber um erro "Intervalos de IP esgotados". Para verificar se um intervalo de IP está em uso, verifique o peering de VPC para o Service Networking e as rotas de importação para ver se elas estão usando o intervalo de IP em que você tem interesse.

Criar uma instância em uma VPC compartilhada

Se você estiver criando uma instância do Looker (Google Cloud Core) em uma VPC compartilhada, conclua as seguintes etapas no projeto host da VPC compartilhada:

  1. Ative a API Looker no projeto host da VPC compartilhada 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

  2. Crie uma conta de serviço no projeto host da VPC compartilhada usando o comando services identity create da gcloud:

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

    Substitua SHARED_HOST_PROJECT_ID pelo ID do projeto host da VPC compartilhada.

  3. Conceda à conta de serviço no projeto host da VPC compartilhada um papel do IAM que contenha a permissão do IAM compute.globalAddresses.get. Em seguida, execute o comando add-iam-policy-binding:

    gcloud projects add-iam-policy-binding SHARED_HOST_PROJECT_ID \
        --member=serviceAccount:SA_EMAIL --role=ROLE_NAME

    Substitua:

    • SHARED_HOST_PROJECT_ID: o ID do projeto host da VPC compartilhada.

    • SA_EMAIL: o endereço de e-mail da conta de serviço que você criou no projeto host da VPC compartilhada.

    • ROLE_NAME: o nome do papel que contém a permissão compute.globalAddresses.get. Use um dos seguintes formatos:

      • Papéis predefinidos: roles/SERVICE.IDENTIFIER
      • Papéis personalizados para envolvidos no projeto: projects/PROJECT_ID/roles/IDENTIFIER
      • Papéis personalizados no nível da organização: organizations/ORG_ID/roles/IDENTIFIER

      Para uma lista de papéis predefinidos, consulte Noções básicas sobre papéis.

Depois de criar a conta de serviço e conceder a ela a permissão do IAM, aguarde alguns minutos para que a conta de serviço e a permissão sejam propagadas.

Além disso, aloque um intervalo de IP IPv4 na VPC compartilhada e adicione a conexão de acesso a serviços particulares à VPC compartilhada, conforme descrito na seção anterior, Criar e configurar uma rede VPC.

Criar a instância de conexões particulares

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

Se você quiser uma instância de conexões particulares (PSA), use a Google Cloud CLI ou o Terraform e configure a instância como conexões particulares (PSA) ao criá-la. Não é possível adicionar ou remover conexões particulares de uma instância depois que ela é criada.

Para criar uma instância de conexões particulares (PSA) usando a Google Cloud CLI, siga estas etapas:

  1. Se você estiver usando CMEK, siga as instruções para criar uma conta de serviço, um keyring e uma chave antes de criar sua instância do Looker (Google Cloud Core).
  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 \
    --private-ip-enabled \
    --consumer-network=CONSUMER_NETWORK --reserved-range=RESERVED_RANGE
    [--no-public-ip-enabled]\
    [--public-ip-enabled]\
    [--release-channel=RELEASE_CHANNEL]
    

    Substitua:

    • INSTANCE_NAME: um nome para a 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 OAuth e a chave secreta OAuth que você criou ao configurar seu 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 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 Locais do Looker (Google Cloud Core).
    • EDITION: a edição, o tipo de ambiente (produção ou não produção) e se esta é uma edição de teste para a instância. Para uma instância de conexões particulares (PSA), use core-enterprise-annual, core-embed-annual, nonprod-core-enterprise-annual, nonprod-core-embed-annual, core-trial-enterprise ou core-trial-embed. Escolha o mesmo tipo de edição listado no seu contrato anual e verifique se você tem uma cota alocada. Não é possível alterar as edições depois que uma instância é criada. Se você quiser mudar uma 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 rede VPC compartilhada no formato projects/PROJECT_ID/global/networks/NETWORK_NAME. Precisa ser definido se você estiver criando uma instância de conexões particulares (PSA).
    • 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).
    • RELEASE_CHANNEL: o canal de lançamento da instância. Os valores disponíveis são rapid, regular e no-channel. O padrão durante o pré-lançamento é no-channel. Se você não incluir essa flag no comando create, a instância será criada com o canal padrão. Esse recurso está em pré-lançamento.

    É possível incluir as seguintes flags:

    • --private-ip-enabled ativa conexões particulares (PSA). Isso precisa ser incluído para criar uma instância de conexões particulares (PSA).
    • --public-ip-enabled ativa o IP público.
    • --no-public-ip-enabled desativa 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]
      [--accelerated-security-patch-enabled]
      [--no-accelerated-security-patch-enabled]
      [--fips-enabled]
      [--catalog-integration-enabled]
      [--no-catalog-integration-enabled]
    

    Substitua:

    As flags a seguir ativam outras configurações:

Enquanto a instância está sendo criada, é possível conferir o status dela na página Instâncias no console. Também é possível ver a atividade de criação de instâncias clicando no ícone de notificações no menu do console do Google Cloud .

Se você escolheu conexões híbridas ao configurar a instância, poderá configurar o acesso de entrada pelo URL da Web da instância. Esse URL pode ser encontrado na página Instâncias do console do Google Cloud ou na guia Domínio personalizado da página de detalhes da instância, se você tiver configurado um domínio personalizado. É possível configurar uma lista de permissões de IP para restringir as conexões de entrada ao tráfego de determinados endereços IP.

Se você criar uma instância somente de conexões particulares (PSA), um URL não vai aparecer na página Instâncias. Consulte a seção Acessar uma instância de acesso a serviços particulares após a criação para mais informações sobre como configurar o acesso à sua instância de conexões particulares (PSA).

Acessar uma instância de acesso a serviços particulares após a criação

Se você criar uma instância ativada apenas para conexões particulares, não vai receber um URL para ela. Para acessar a instância, é necessário configurar um domínio personalizado para ela e adicioná-lo às credenciais do OAuth da instância. Siga as instruções na página de documentação Acessar uma instância do Looker (Google Cloud Core) usando o acesso a serviços particulares para criar e acessar um domínio personalizado.

Se você criar uma instância que usa uma configuração de rede híbrida, siga as instruções na página de documentação Configurar um domínio personalizado para uma instância do Looker (Google Cloud Core) que usa conexões públicas para criar e acessar um domínio personalizado.

Solução de problemas de criação de instâncias

Para receber ajuda com a solução de problemas, consulte a página de documentação Solução de problemas de falhas na criação de instâncias do Looker (Google Cloud Core).

A seguir