Configurar o VPC Service Controls e 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 suas estações de trabalho para ajudar a reduzir o risco de exfiltração de dados. Ao usar 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 que vêm de 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 estão acessíveis por VPC no perímetro de serviço. Isso é necessário para extrair imagens para a estação de trabalho. Também recomendamos que você permita 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. Configurar 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 da VPC.
  • Desative os endereços IP públicos na configuração da estação de trabalho. Se você não fizer isso, haverá VMs com endereços IP públicos no projeto. É altamente recomendável usar 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 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 dele 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 à rede da 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 do PSC para clusters particulares. Para se conectar da máquina local a uma estação de trabalho em um cluster particular, a máquina local precisa estar conectada à rede VPC. Use o Cloud VPN ou o Cloud Interconnect para conectar a rede externa em que você executa sua máquina à rede VPC.

O diagrama a seguir ilustra um exemplo de arquitetura de um cluster particular:

Figura 1. clusters particulares

Antes de começar

Antes de começar, conclua estas etapas obrigatórias de configuração:

  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 do IAM:

    Acessar IAM

  8. Se a restrição da política da organização constraints/compute.trustedimageProjects for aplicada, adicione o projeto de origem da imagem à lista de permissões.
    • Sem a virtualização aninhada, você precisa conceder permissão ao projeto para usar imagens de VM do Compute Engine do projeto cos-cloud.
    • Com a virtualização aninhada, você precisa conceder permissão ao projeto 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 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.

    Acesse o Cloud Workstations

  2. Acesse a página Gerenciamento de clusters da estação de trabalho.

  3. Clique em Criar.

  4. Digite 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 de cluster da estação de trabalho e no projeto host de rede VPC (se for diferente). 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 particulares de estações de trabalho 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 segmente o 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, 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 esse valor, 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 o nome de um endpoint.

  6. Selecione uma Rede para o endpoint e depois uma Sub-rede. Ela precisa ser a rede que você quer usar para se conectar às estações de trabalho.

  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 Endereço IP estático, selecione Atribuir automaticamente. Para um 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 em 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 esse cluster de estação de trabalho com o nome de DNS definido como clusterHostname, que pode ser encontrado navegando até o cluster da 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 seu clusterHostname.

    Para encontrar o clusterHostname, acesse 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 deve estar 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 padrão baseado em navegador na estação de trabalho, use o navegador de uma máquina conectada à rede VPC. É possível usar o Cloud VPN ou o Cloud Interconnect para se conectar a partir da rede externa em que o navegador é executado à rede VPC.

Para se conectar por uma rede externa, configure 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. Se preferir, configure 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 seja necessário adicionar *cloudworkstations.dev à lista de permissões da infraestrutura local.

A seguir