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 pelo usuário usam vários domínios que não são gerenciados por uma rede de nuvem privada virtual por padrão. Para garantir que sua 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 de um domínio, adicione uma entrada DNS que roteará a solicitação e executar 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 ferramenta de linha de comando gcloud esteja instalada, digite o seguinte comando da ferramenta de linha de comando gcloud.

  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"
        --target-network=TARGET_NETWORK
        --target-project=TARGET_PROJECT
    

    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 após o *.. Por exemplo, o DNS_NAME de *.notebooks.googleapis.com é notebooks.googleapis.com

    • TARGET_NETWORK: o ID da rede privada da rede para encaminhar consultas

    • TARGET_PROJECT: o ID do projeto da rede privada para encaminhar consultas;

  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á realizou essas tarefas para *.notebooks.googleapis.com.

    • *.notebooks.googleapis.com

    • *.notebooks.cloud.google.com

    • *.notebooks.googleusercontent.com

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

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

Se você quiser usar o Container Registry no perímetro de serviço, siga estas etapas para configurar as entradas DNS e o perímetro de serviço.

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.

Como instalar extensões Jupyter em notebooks gerenciados pelo usuário

As extensões de notebooks gerenciados pelo usuário são armazenadas no bucket público deeplearning-platform-ui-public. Se você tentar instalar extensões JupyterLab, mas API Cloud Storage for restrita, talvez veja um erro NETWORK_NOT_IN_SAME_SERVICE_PERIMETER.

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
  • *.gstatic.com
  • *.googleusercontent.com
  • *.datalab.cloud.google.com

A seguir