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

Nesta página, descrevemos o processo de uso da CLI gcloud para criar uma instância do Looker (núcleo do Google Cloud) com o Private Service Connect ativado.

O Private Service Connect pode ser ativado para uma instância do Looker (Google Cloud Core) que atenda aos seguintes critérios:

  • A instância do Looker (Google Cloud Core) precisa ser nova. O Private Service Connect só pode ser ativado no momento da criação da instância.
  • O IP público não pode estar ativado na instância.
  • A edição da instância precisa ser Enterprise (core-enterprise-annual) ou Embed (core-embed-annual).

Antes de começar

  1. No console do Google Cloud, na página do seletor de projetos, escolha o projeto em que você quer criar a instância do Private Service Connect.

    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 outro método de autenticação para autenticar usuários na instância.
  4. Se você quiser usar o VPC Service Controls ou as chaves de criptografia gerenciadas pelo cliente (CMEKs) com a instância do Looker (núcleo do Google Cloud) que está criando, será necessário fazer mais configurações 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 receber as permissões necessárias para criar uma instância do Looker (núcleo do Google Cloud), peça ao administrador para conceder a você o Administrador do Looker (roles/looker.admin) do IAM 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.

Talvez você também precise de outros papéis do IAM para configurar 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 Private Service Connect

Para criar uma instância do Private Service Connect, execute o comando gcloud looker instances create com todas estas flags:


gcloud looker instances create INSTANCE_NAME \
--no-public-ip-enabled \
--psc-enabled \
--oauth-client-id=OAUTH_CLIENT_ID \
--oauth-client-secret=OAUTH_CLIENT_SECRET \
--region=REGION \
--edition=EDITION \
--psc-allowed-vpcs=ALLOWED_VPC,ADDITIONAL_ALLOWED_VPCS \
--async

Substitua:

  • INSTANCE_NAME: um nome para sua instância do Looker (Google Cloud Core); não está associado ao URL da instância.
  • 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 dos locais do Looker (Google Cloud Core).
  • EDITION: a edição da instância. Os valores possíveis são 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.
  • ALLOWED_VPC: uma VPC que terá acesso norte-sul (de entrada) ao Looker (Google Cloud Core). Para acessar a instância de fora da VPC em que ela está localizada, você precisa listar pelo menos uma VPC. Especifique uma VPC usando um destes formatos:
    • projects/{project}/global/networks/{network}
    • https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
  • ADDITIONAL_ALLOWED_VPCS: qualquer VPC adicional que tenha permissão de acesso do lado do servidor ao Looker (Google Cloud Core) pode ser adicionado à flag --psc-allowed-vpcs em uma lista separada por vírgulas.

Se quiser, adicione mais parâmetros para aplicar outras configurações de 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 mais informações 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.

O processo de criação de uma instância do Private Service Connect é diferente do processo de criação de uma instância do Looker (Google Cloud Core) (acesso a serviços particulares) das seguintes maneiras:

  • Com a configuração do Private Service Connect, as sinalizações --consumer-network e --reserved-range não são necessárias.
  • As instâncias do Private Service Connect exigem duas flags adicionais: --no-public-ip-enabled e --psc-enabled.
  • A flag --psc-allowed-vpcs é uma lista de VPCs separada por vírgulas. É possível especificar quantas VPCs quiser na lista.

Verificar o status da instância

A criação da instância leva de 40 a 60 minutos. Para verificar o status, use o comando gcloud looker instances describe:

gcloud looker instances describe INSTANCE_NAME --region=REGION

Substitua:

  • INSTANCE_NAME: o nome da sua instância do Looker (Google Cloud Core).
  • REGION: a região em que sua instância do Looker (Google Cloud Core) está hospedada.

A instância estará pronta quando atingir o estado ACTIVE.

Configurar o Private Service Connect para serviços externos

Para que sua instância do Looker (Google Cloud Core) possa se conectar a um serviço externo, ele precisa ser publicado usando o Private Service Connect. Siga as instruções para publicar serviços usando o Private Service Connect para qualquer serviço que você quiser publicar.

Os serviços podem ser publicados com aprovação automática ou aprovação explícita. Se você optar por publicar com aprovação explícita, será necessário configurar o anexo de serviço da seguinte maneira:

  • Defina a lista de permissões de anexos de serviço para usar projetos (não redes).
  • Adicione o ID do projeto de locatário do Looker à lista de permissões.

Para encontrar o ID do projeto do locatário do Looker depois que a instância for criada, execute o seguinte comando:

gcloud looker instances describe INSTANCE_NAME --region=REGION--format=json

Substitua:

  • INSTANCE_NAME: o nome da sua instância do Looker (Google Cloud Core).
  • REGION: a região em que sua instância do Looker (Google Cloud Core) está hospedada.

Na resposta ao comando, o campo looker_service_attachment_uri vai conter o ID do projeto de locatário do Looker. Ele terá o seguinte formato: projects/{Looker tenant project ID}/regions/…

URI do anexo de serviço

Ao atualizar a instância do Looker (Google Cloud Core) para se conectar ao serviço, você vai precisar do URI completo do anexo de serviço. O URI será especificado da seguinte maneira, usando o projeto, a região e o nome usados para criar o anexo de serviço:

projects/{project}/regions/{region}/serviceAttachments/{name}

Atualizar uma instância do Private Service Connect do Looker (Google Cloud Core)

Depois que sua instância do Private Service Connect do Looker (Google Cloud Core) for criada, você poderá fazer as seguintes alterações:

Especificar conexões southbound

Use flags --psc-service-attachment para ativar conexões southbound (saída) para serviços externos para os quais você já configurou o Private Service Connect:

gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment  domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--psc-service-attachment domain=DOMAIN_2,attachment=SERVICE_ATTACHMENT_URI_2 \
--region=REGION

Substitua:

  • INSTANCE_NAME: o nome da sua instância do Looker (Google Cloud Core).
  • DOMAIN_1 e DOMAIN_2: se você estiver se conectando a um serviço público, use o nome de domínio do serviço. Se você estiver se conectando a um serviço particular, escolha um nome de domínio totalmente qualificado. As seguintes restrições se aplicam ao nome de domínio:

    • Cada conexão southbound oferece suporte a um único domínio.
    • O nome de domínio deve ter pelo menos três partes. Por exemplo, mydomain.github.com é aceitável, mas github.com não é.
    • A última parte do nome não pode ser:

      • googleapis.com
      • google.com
      • gcr.io
      • pkg.dev

    Ao configurar uma conexão com o serviço na instância do Looker (Google Cloud Core), use esse domínio como alias do serviço.

  • SERVICE_ATTACHMENT_1 e SERVICE_ATTACHMENT_2: o URI do anexo de serviço completo do serviço publicado ao qual você está se conectando. Cada URI de anexo de serviço pode ser acessado por um único domínio.

  • REGION: a região em que sua instância do Looker (Google Cloud Core) está hospedada.

Se você estiver se conectando a um serviço gerenciado que não é do Google em uma região diferente daquela em que sua instância do Looker (Google Cloud Core) está localizada, ative o acesso global no balanceador de carga do produtor.

Inclua todas as conexões que precisam ser ativadas

Sempre que você executar um comando de atualização com sinalizações --psc-service-attachment, inclua todas as conexões que você quer ativar, inclusive as já ativadas. Por exemplo, suponha que você tenha conectado uma instância chamada my-instance ao domínio www.cloud.com da seguinte maneira:

gcloud looker instances update my-instance
--psc-service-attachment domain=www.cloud.com,attachment=projects/123/regions/us-central1/serviceAttachment/cloud

A execução do comando a seguir para adicionar uma nova conexão www.me.com excluiria a conexão www.cloud.com:

gcloud looker instances update my-instance \
--psc-service-attachment domain=www.me.com,attachment=projects/123/regions/us-central1/serviceAttachment/my-sa

Para evitar a exclusão da conexão www.cloud.com ao adicionar a nova conexão www.me.com, inclua uma flag psc-service-attachment separada para a conexão atual e a nova no comando de atualização da seguinte maneira:

gcloud looker instances update my-instance \
--psc-service-attachment domain=www.cloud.com,attachment=projects/123/regions/us-central1/serviceAttachment/cloud \
--psc-service-attachment domain=www.me.com,attachment=projects/123/regions/us-central1/serviceAttachment/my-sa

Verificar o status da conexão no sentido sul

Para conferir o status das conexões de saída (de saída), execute novamente o comando gcloud looker instances describe --format=json. Cada anexo de serviço precisa ser preenchido com um campo connection_status.

Excluir todas as conexões no sentido sul

Para excluir todas as conexões de saída (do lado de baixo), execute o seguinte comando:

gcloud looker instances update MY_INSTANCE \ --clear-psc-service-attachments \
--region=REGION

Substitua:

  • INSTANCE_NAME: o nome da sua instância do Looker (Google Cloud Core).
  • REGION: a região em que sua instância do Looker (Google Cloud Core) está hospedada.

Atualizar VPCs permitidas

Use a flag --psc-allowed-vpcs para atualizar a lista de VPCs que autorizaram o acesso de entrada à instância.

Ao atualizar as VPCs permitidas, especifique toda a lista que você quer que entre em vigor após a atualização. Por exemplo, suponha que a VPC ALLOWED_VPC_1 já esteja permitida e que você queira adicionar a VPC ALLOWED_VPC_2. Para adicionar a VPC ALLOWED_VPC_1 e garantir que a VPC ALLOWED_VPC_2 continue sendo permitida, adicione a flag --psc-allowed-vpcs da seguinte maneira:

gcloud looker instances update INSTANCE_NAME --psc-allowed-vpcs=ALLOWED_VPC_1,ALLOWED_VPC_2 --region=REGION

Substitua:

  • INSTANCE_NAME: o nome da sua instância do Looker (Google Cloud Core).
  • ALLOWED_VPC_1 e ALLOWED_VPC_2: as VPCs que poderão ingressar no Looker (núcleo do Google Cloud). Especifique cada VPC permitida usando um dos formatos a seguir:
    • projects/{project}/global/networks/{network}
    • https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
  • REGION: a região em que sua instância do Looker (Google Cloud Core) está hospedada.

Excluir todas as VPCs permitidas

Para excluir todas as VPCs permitidas, execute o seguinte comando:

gcloud looker instances update MY_INSTANCE \ --clear-psc-allowed-vpcs \
--region=REGION

Substitua:

  • INSTANCE_NAME: o nome da sua instância do Looker (Google Cloud Core).
  • REGION: a região em que sua instância do Looker (Google Cloud Core) está hospedada.

Acesso de saída à sua instância

Depois que a instância do Looker (Google Cloud Core) (Private Service Connect) é criada, é possível configurar o acesso ao norte para permitir que os usuários a acessem.

Para acessar a instância em outra rede VPC, siga as instruções para criar um endpoint do Private Service Connect. Verifique se a rede tem permissão para acessar sua instância do Looker (Google Cloud Core) no sentido norte e siga estas diretrizes ao criar o endpoint:

  • Defina o campo Serviço de destino (para o console do Google Cloud) ou a variável SERVICE_ATTACHMENT (se estiver seguindo as instruções da API ou da CLI do Google Cloud) para o URI de anexo do serviço do Looker. Para encontrar esse URI, marque a guia Detalhes na página de configuração da instância do console ou execute o seguinte comando:

    gcloud looker instances describe INSTANCE_NAME --region=REGION--format=json

    Substitua:

    • INSTANCE_NAME: o nome da sua instância do Looker (Google Cloud Core).
    • REGION: a região em que sua instância do Looker (Google Cloud Core) está hospedada.
  • É possível usar qualquer sub-rede hospedada na mesma região da instância do Looker (Google Cloud Core).

  • Não ative o acesso global.

Para acessar a instância em um ambiente de rede híbrido, siga as instruções na página de documentação Acesso ao norte a uma instância do Looker (Google Cloud Core) usando o Private Service Connect para configurar um domínio personalizado e acessar a instância.

A seguir