Usar uma instância de notebooks gerenciada pelo usuário em um perímetro de serviço

Nesta página, descrevemos como usar o VPC Service Controls para configurar uma instância de notebooks gerenciados pelo usuário em um perímetro de serviço.

Antes de começar

  1. Consulte a Visão geral do VPC Service Controls.

  2. Criar uma instância de notebooks gerenciados pelo usuário. Essa instância ainda não está em um perímetro de serviço.

  3. Crie um perímetro de serviço usando o VPC Service Controls. Esse perímetro protege os recursos gerenciados pelo Google dos serviços especificados por você. Ao criar o perímetro de serviço, faça o seguinte:

    1. Quando você precisar adicionar projetos ao perímetro de serviço, adicione o que contém a instância de notebooks gerenciados.

    2. Quando você precisar adicionar serviços ao perímetro, inclua a API Notebooks.

    Se você criou o perímetro de serviço sem adicionar os projetos e serviços necessários, consulte Como gerenciar perímetros de serviço para saber como atualizá-lo.

Configurar entradas DNS usando o Cloud DNS

As instâncias de notebooks gerenciados pelos usuários do Vertex AI Workbench usam vários domínios que não são gerenciados por uma rede de nuvem privada virtual por padrão. Para garantir que a rede VPC processe corretamente as solicitações enviadas a esses domínios, use o Cloud DNS para adicionar registros DNS. Para mais informações sobre rotas VPC, consulte Visão geral de rotas.

Para criar uma zona gerenciada para um domínio, adicione uma entrada DNS que roteará a solicitação e execute a transação para concluir as etapas a seguir. Repita esses passos para cada um dos vários domínios em que você processará solicitações, começando com *.notebooks.googleapis.com.

No Cloud Shell ou em qualquer ambiente em que a Google Cloud CLI esteja instalada, insira os comandos da Google Cloud CLI a seguir.

  1. Para criar uma zona gerenciada privada para um dos domínios que a rede VPC precisa gerenciar:

        gcloud dns managed-zones create ZONE_NAME \
            --visibility=private \
            --networks=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME \
            --dns-name=DNS_NAME \
            --description="Description of your managed zone"
        

    Substitua:

    • ZONE_NAME: um nome para a zona a ser criada. Você precisa usar uma zona separada para cada domínio. Esse nome de zona é usado em todas as etapas a seguir.
    • PROJECT_ID: o ID do projeto que hospeda a rede VPC
    • NETWORK_NAME: o nome da rede VPC que você criou anteriormente.
    • DNS_NAME: a parte do nome de domínio que vem depois de *., com um ponto no fim. Por exemplo, *.notebooks.googleapis.com tem um DNS_NAME de notebooks.googleapis.com.
  2. Inicie uma transação.

        gcloud dns record-sets transaction start --zone=ZONE_NAME
        
  3. Adicione o registro A DNS a seguir. Isso redireciona o tráfego para os endereços IP restritos do Google.

        gcloud dns record-sets transaction add \
            --name=DNS_NAME. \
            --type=A 199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7 \
            --zone=ZONE_NAME \
            --ttl=300
        
  4. Inclua o registro CNAME DNS a seguir para apontar para o registro A que você acabou de adicionar. Isso redireciona todo o tráfego que corresponde ao domínio para os endereços IP listados na etapa anterior.

        gcloud dns record-sets transaction add \
            --name=\*.DNS_NAME. \
            --type=CNAME DNS_NAME. \
            --zone=ZONE_NAME \
            --ttl=300
        
  5. Execute a transação.

        gcloud dns record-sets transaction execute --zone=ZONE_NAME
        
  6. Repita essas etapas para cada um dos domínios a seguir. Para cada repetição, altere ZONE_NAME e DNS_NAME para os valores apropriados para esse domínio. Mantenha PROJECT_ID e NETWORK_NAME sempre iguais. Você já concluiu essas etapas para *.notebooks.googleapis.com.

    • *.notebooks.googleapis.com
    • *.notebooks.cloud.google.com
    • *.notebooks.googleusercontent.com
    • *.googleapis.com para executar um código que interage com outras APIs e serviços do Google

Configurar o perímetro de serviço

Depois de configurar os registros DNS, crie um perímetro de serviço ou atualize um existente para adicionar seu projeto ao perímetro de serviço.

Na rede VPC, adicione uma rota para o intervalo 199.36.153.4/30 com um próximo salto de Default internet gateway.

Usar o Artifact Registry no perímetro de serviço

Se você quiser usar o Artifact Registry no perímetro de serviço, consulte Configurar acesso restrito para clusters particulares do GKE.

Usar VPC compartilhada

Se você estiver usando uma VPC compartilhada, será necessário adicionar o host e os projetos de serviço ao perímetro de serviço. No projeto host, também é necessário conceder o papel de Usuário da rede do Compute (roles/compute.networkUser) ao Agente de serviço de notebooks no projeto de serviço. Para mais informações, consulte Como gerenciar perímetros de serviço.

Acessar a instância de notebooks gerenciados pelo usuário

Siga as etapas para abrir um notebook.

Limitações

Tipo de identidade para políticas de entrada e saída

Ao especificar uma política de entrada ou saída para um perímetro de serviço, não é possível usar ANY_SERVICE_ACCOUNT ou ANY_USER_ACCOUNT como um tipo de identidade para todos os Vertex AI Workbench operações.

Em vez disso, use ANY_IDENTITY como o tipo de identidade.

Como acessar o proxy de notebooks gerenciados pelo usuário em uma estação de trabalho sem Internet.

Para acessar instâncias de notebooks gerenciados pelo usuário em uma estação de trabalho com acesso limitado à Internet, verifique com seu administrador de TI se você consegue acessar os seguintes domínios:

  • *.accounts.google.com
  • *.accounts.youtube.com
  • *.googleusercontent.com
  • *.kernels.googleusercontent.com
  • *.gstatic.com
  • *.notebooks.cloud.google.com
  • *.notebooks.googleapis.com

Você precisa ter acesso a esses domínios para fazer a autenticação no Google Cloud. Consulte a seção anterior, Configurar suas entradas de DNS usando o Cloud DNS, para mais informações sobre configuração.

A seguir