Configurar o VPC Service Controls e os clusters particulares

Nesta página, descrevemos como o VPC Service Controls e os clusters particulares funcionam e como configurá-los no Cloud Workstations.

VPC Service Controls

O VPC Service Controls adiciona mais segurança às estações de trabalho para reduzir o risco de exfiltração de dados. Com o VPC Service Controls, é possível adicionar projetos a perímetros de serviço. Isso ajuda a proteger recursos e serviços contra solicitações originadas fora do perímetro.

Estes são os requisitos para usar o Cloud Workstations em um perímetro de serviço da VPC:

  • Para ajudar a proteger o Cloud Workstations, restrinja a API Compute Engine no perímetro de serviço sempre que restringir a API Cloud Workstations.
  • Verifique se a API Google Cloud Storage, a API Google Container Registry e a API Artifact Registry podem ser acessíveis pela VPC no perímetro de serviço. Isso é necessário para extrair imagens para a estação de trabalho. Também recomendamos permitir que a API Cloud Logging e a API Cloud Error Reporting sejam acessíveis por VPC no perímetro de serviço, embora isso não seja necessário para usar o Cloud Workstations.

  • Verifique se o cluster da estação de trabalho é particular. A configuração de um cluster particular impede conexões com as estações de trabalho de fora do perímetro de serviço da VPC. O serviço Cloud Workstations impede a criação de clusters públicos em um perímetro de serviço de VPC.
  • Desative os endereços IP públicos na configuração da estação de trabalho. Se isso não for feito, VMs com endereços IP públicos no projeto. Recomendamos que você use a restrição da política da organização constraints/compute.vmExternalIpAccess para desativar os endereços IP públicos de todas as VMs no perímetro de serviço da VPC. Para mais detalhes, consulte Como restringir endereços IP externo a VMs específicas.

Para saber mais sobre perímetros de serviço, consulte Detalhes e configuração do perímetro de serviço.

Arquitetura

Quando você configura um cluster de estação de trabalho como particular, o plano de controle desse cluster tem apenas um endereço IP interno. Isso significa que os clientes da Internet pública não podem se conectar às estações de trabalho que pertencem ao cluster da estação de trabalho. Para usar um cluster particular, é necessário conectá-lo manualmente à sua rede de nuvem privada virtual (VPC) por meio de um endpoint do Private Service Connect.

As configurações com clusters particulares exigem dois endpoints do PSC:

  • Por padrão, o Cloud Workstations cria um endpoint do PSC separado para conectar o plano de controle às VMs da estação de trabalho.

  • É necessário criar outro endpoint PSC para clusters particulares. Para se conectar da sua máquina local a uma estação de trabalho em um cluster particular, a máquina local precisa estar conectada à sua rede VPC. Use o Cloud VPN ou o Cloud Interconnect para conectar a rede externa em que você executa sua máquina à rede VPC. Esse endpoint do PSC extra precisa ser criado na mesma rede a que sua rede externa se conecta com o Cloud VPN ou o Cloud Interconnect.

No diagrama a seguir, ilustramos um exemplo de arquitetura de um cluster particular:

Figura 1. Clusters particulares

Antes de começar

Antes de começar, conclua estas etapas de configuração necessárias:

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  5. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  6. Ative a Cloud Workstations API.

    Ative a API

  7. Verifique se você tem um papel do IAM de administrador do Cloud Workstations no projeto para criar configurações de estações de trabalho. Para verificar os papéis do IAM no console do Google Cloud, acesse a página IAM:

    Acessar IAM

  8. Se a restrição constraints/compute.trustedimageProjects da política da organização for aplicada, será necessário adicionar o projeto de origem da imagem à lista de permissões.
    • Sem virtualização aninhada, você precisa conceder permissão ao seu projeto para usar imagens de VM do Compute Engine do projeto cos-cloud.
    • Com a virtualização aninhada, você precisa conceder ao seu projeto permissão para usar imagens de VM do Compute Engine do projeto ubuntu-os-gke-cloud.

    Para mais informações, consulte Definir restrições de acesso a imagens.

  9. Opcional: ative a API Container File System para permitir uma inicialização mais rápida da estação de trabalho.

    Ativar a API Container File System

    Para mais informações, consulte Reduzir o tempo de inicialização da estação de trabalho com o streaming de imagens.

Criar um cluster particular

Siga estas etapas para criar um cluster particular:

  1. No console do Google Cloud, acesse a página Cloud Workstations.

    Acessar o Cloud Workstations

  2. Navegue até a página Gerenciamento de clusters da estação de trabalho.

  3. Clique em Criar.

  4. Insira o Nome e selecione uma Região para o cluster da estação de trabalho.

  5. Na seção Rede, selecione Redes neste projeto.

  6. Selecione uma Rede e uma Sub-rede.

  7. Em Tipo de gateway, selecione Gateway particular.

  8. Opcional: especifique um ou mais projetos extras que hospedam o endpoint do Private Service Connect que permite o acesso HTTP ao cluster particular. Por padrão, esse endpoint só pode ser criado no projeto do cluster da estação de trabalho e no projeto host da rede VPC (se forem diferentes). Se necessário, esses projetos também podem ser especificados após a criação do cluster.

  9. Clique em Criar.

Ativar a conectividade do cluster particular

Os clientes não podem se conectar a estações de trabalho em clusters de estações de trabalho particulares pela Internet pública. Os clientes precisam estar em uma rede que se conecte ao cluster da estação de trabalho usando o Private Service Connect (PSC). Siga as etapas nesta seção para se conectar a uma estação de trabalho:

  1. Crie um endpoint do PSC que seja destinado ao anexo de serviço da estação de trabalho.

  2. Crie uma zona de DNS particular.

  3. Use o Cloud DNS para criar um registro DNS que mapeie o nome do host do cluster para o endpoint do PSC.

Criar um endpoint do Private Service Connect

Siga estas etapas para criar um endpoint do PSC:

  1. No console do Google Cloud, acesse o Private Service Connect.

    Acessar o Private Service Connect

  2. Clique na guia Endpoints conectados e, em seguida, clique em adicionarConectar endpoint.

  3. Em Destino, selecione Serviço publicado.

  4. No campo Serviço de destino, insira o URI do anexo de serviço criado para o cluster da estação de trabalho. Para encontrar essa opção, navegue até o cluster da estação de trabalho no console e procure o campo URI do anexo de serviço em Configurações de rede.

  5. No campo Endpoint, digite um nome para o endpoint.

  6. Selecione uma Rede para o endpoint e uma Sub-rede. Essa rede precisa ser a rede que você quer usar para se conectar às estações de trabalho. Ela também precisa ser a mesma rede a que sua rede externa se conecta com o Cloud VPN ou o Cloud Interconnect.

  7. Selecione um Endereço IP para o endpoint.

    Se você precisar de um novo endereço IP, selecione Criar endereço IP:

    1. Digite um Nome e uma Descrição opcional para o endereço IP.
    2. Em um Endereço IP estático, selecione Atribuir automaticamente. Em Endereço IP personalizado, selecione Quero escolher e insira o endereço IP que você quer usar.
    3. Em Finalidade, selecione Não compartilhado.
    4. Clique em Reservar.
  8. Selecione um Namespace na lista suspensa ou crie um novo namespace. A Região é preenchida com base na sub-rede selecionada.

  9. Clique em Adicionar endpoint.

  10. Copie o endereço IP do endpoint para usá-lo na próxima seção, para Criar uma zona DNS particular e um registro DNS.

Criar uma zona de DNS particular

Siga estas etapas para criar uma zona de DNS particular para este cluster de estação de trabalho com o nome DNS definido como clusterHostname, que pode ser encontrado navegando até o cluster de estação de trabalho no console.

  1. No Console do Google Cloud, acesse a página Criar uma zona de DNS.

    Acessar "Criar uma zona de DNS"

  2. Em Tipo de zona, selecione Private.

  3. Digite um nome de zona, como private-workstations-cluster-zone.

  4. Insira um sufixo de nome DNS para a zona particular. Todos os registros na zona compartilham esse sufixo. Defina esse nome como clusterHostname.

    Para encontrar o clusterHostname, navegue até a página Cloud Workstations  > Gerenciamento de clusters no console do Google Cloud e clique no cluster da estação de trabalho para visualizar o nome do host.

  5. Opcional: adicione uma descrição.

  6. Em Opções, selecione Padrão (privado).

  7. Selecione a rede em que você criou o endpoint do PSC na seção anterior, porque o endereço IP só é válido nessa rede.

  8. Clique em Criar.

Para mais informações sobre zonas de DNS particulares, consulte a documentação do Cloud DNS sobre como Criar uma zona particular e Práticas recomendadas para zonas particulares do Cloud DNS.

Criar um registro DNS

Para adicionar um registro que mapeie *.<clusterHostname> para o endereço IP reservado quando você criou o endpoint do Private Service Connect, siga estas etapas:

  1. No Console do Google Cloud, acesse a página Zonas do Cloud DNS.

    Acessar zonas do Cloud DNS

  2. Clique no nome da zona gerenciada a que você quer adicionar o registro.

  3. Na página Detalhes da zona, clique em Adicionar padrão.

  4. Na página Criar conjunto de registros, no campo Nome do DNS, insira *.<clusterHostname>.

  5. No campo Endereço IP, insira o endereço IP que você reservou para o endpoint do Private Service Connect na seção anterior.

  6. Clique em Criar.

  7. Sua rede VPC agora está conectada ao cluster de estações de trabalho, e é possível se conectar a estações de trabalho usando essa rede.

Ativar a resolução de DNS no local

Para usar o editor baseado em navegador padrão na sua estação de trabalho, use um navegador em uma máquina conectada à rede VPC. Use o Cloud VPN ou o Cloud Interconnect para se conectar a partir da rede externa em que você executa o navegador à rede VPC.

Para se conectar de uma rede externa, você precisa configurar o DNS na rede externa. Assim como nas etapas anteriores, é possível criar uma zona de DNS para clusterHostname e adicionar um registro que mapeie *.<clusterHostname> para o endereço IP reservado quando você criou o endpoint do Private Service Connect. Como alternativa, é possível configurar zonas de encaminhamento de DNS ou políticas de servidor DNS para permitir pesquisas de nomes DNS entre seus ambientes locais e do Google Cloud.

Talvez também seja necessário adicionar *cloudworkstations.dev à lista de permissões da infraestrutura local.

A seguir