Esta página descreve como o VPC Service Controls e os clusters particulares funcionam e como configurá-los no Cloud Workstations.
VPC Service Controls
O VPC Service Controls oferece mais segurança para suas estações de trabalho, o que ajuda a reduzir o risco de exfiltração de dados. Com o VPC Service Controls, é possível adicionar projetos a perímetros de serviço que ajudam a proteger recursos e serviços contra solicitações que se originam 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, é preciso restringir a API Compute Engine ao perímetro de serviço sempre que restringir a API Cloud Workstations.
Verifique se as APIs Google Cloud Storage e Artifact Registry são acessíveis por VPC no seu perímetro de serviço. Isso é necessário para extrair imagens para sua estação de trabalho. Também é recomendável permitir que as APIs API Cloud Logging e API Error Reporting sejam acessíveis por VPC no perímetro de serviço, embora isso não seja necessário para usar as Cloud Workstations.
- Verifique se o cluster da estação de trabalho é particular. A configuração de um cluster particular impede conexões às suas estações de trabalho a partir de fora do perímetro de serviço do 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 sua estação de trabalho. Não fazer isso resulta em VMs com endereços IP públicos
no seu projeto. Recomendamos usar a
constraints/compute.vmExternalIpAccessrestrição de política da organização para desativar endereços IP públicos em 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ções de trabalho como particular, o plano de controle dele tem apenas um endereço IP interno. Isso significa que clientes da Internet pública não podem se conectar às estações de trabalho pertencentes ao cluster. Para usar um cluster particular, é necessário conectá-lo manualmente à rede da nuvem privada virtual (VPC) por meio de um Private Service Connect endpoint.
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 um endpoint do PSC adicional 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 Cloud VPN ou Cloud Interconnect para conectar a rede externa em que você executa a máquina à rede VPC network. Esse endpoint do PSC adicional precisa ser criado na mesma rede a que a rede externa se conecta com o Cloud VPN ou o Cloud Interconnect.
O diagrama a seguir ilustra um exemplo de arquitetura de um cluster particular:
Antes de começar
Antes de começar, conclua estas etapas de configuração obrigatórias:
- Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Ative a API Cloud Workstations.
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (
roles/serviceusage.serviceUsageAdmin), que contém a permissãoserviceusage.services.enable. Saiba como conceder papéis. -
Verifique se você tem um papel do IAM de administrador do Cloud Workstations no projeto para poder criar configurações de estações de trabalho. Para verificar seus papéis do IAM no Google Cloud console do, acesse a página IAM:
-
O Cloud Workstations é hospedado em VMs inicializadas a partir de imagens públicas pré-configuradas
do Container-Optimized OS (COS)
do Compute Engine. Se a restrição de política da organização
constraints/compute.trustedimageProjectsfor aplicada, defina restrições de acesso à imagem para permitir que os usuários criem discos de inicialização com base emprojects/cos-cloudou em todas as imagens públicas. -
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:
No Google Cloud console do, acesse a página Cloud Workstations.
Navegue até a página Gerenciamento de cluster da estação de trabalho.
Clique em Criar.
Insira o Nome e selecione uma região para o cluster da estação de trabalho.
Na seção "Rede", selecione Redes neste projeto.
Selecione uma rede e uma sub-rede.
Em Tipo de gateway, selecione Gateway particular.
Opcional: especifique um ou mais projetos adicionais 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 de estações 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.
Clique em Criar. Enquanto o cluster está sendo criado, o status aparece como Atualizando.
A criação de um cluster leva vários minutos para ser concluída. Quando a criação do cluster terminar, o status dele poderá aparecer como Degradado. Depois de concluir as etapas na seção Criar um endpoint do PSC, o status do cluster's será alterado para Pronto em alguns minutos.
Ativar a conectividade do cluster particular
Os clientes não podem se conectar a estações de trabalho em clusters particulares da Internet pública. Os clientes precisam estar em uma rede que se conecta ao cluster de estações de trabalho usando Private Service Connect (PSC). Siga as etapas desta seção para se conectar a uma estação de trabalho:
Crie um endpoint do PSC que tenha como destino o anexo de serviço da estação de trabalho.
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:
No Google Cloud console do, acesse Private Service Connect.
Clique na guia Endpoints conectados e em adicionarConectar endpoint.
Em Destino, selecione Serviço publicado.
No campo Serviço de destino, insira o URI do anexo de serviço criado para o cluster de estações de trabalho. Para encontrar esse URI, navegue até o cluster de estações de trabalho no console e procure o campo URI do anexo de serviço em Configurações de rede.
No campo Endpoint, insira um nome de endpoint.
Selecione uma rede para o endpoint e, em seguida, selecione uma sub-rede. Essa rede precisa ser a que você quer usar para se conectar às estações de trabalho e precisa ser a mesma rede a que a rede externa se conecta com o Cloud VPN ou o Cloud Interconnect.
Selecione um endereço IP para o endpoint.
Se você precisar de um novo endereço IP, selecione Criar endereço IP:
- Digite um Nome e uma Descrição opcional para o endereço IP.
- Para um 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.
- Em Finalidade, selecione Não compartilhado.
- Clique em Reservar.
Selecione um namespace na lista suspensa ou crie um novo namespace. A região é preenchida com base na sub-rede selecionada.
Clique em Adicionar endpoint.
Copie o endereço IP do endpoint para que você possa usá-lo na próxima seção para criar uma zona de 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ções de trabalho com o nome DNS definido como clusterHostname, que pode ser encontrado navegando até o cluster de estações de trabalho no console.
No Google Cloud console do, acesse a página Criar zona de DNS.
Em Tipo de zona, selecione Particular.
Digite um nome de zona, como
private-workstations-cluster-zone.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 cluster no Google Cloud console e clique no cluster de estações de trabalho para conferir o nome do host.Opcional: adicione uma descrição.
Em Opções, selecione Padrão (particular).
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.
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 as 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:
No Google Cloud console do, acesse a página Zonas do Cloud DNS.
Clique no nome da zona gerenciada a que você quer adicionar o registro.
Na página Detalhes da zona, clique em Adicionar padrão.
Na página Criar conjunto de registros, no campo Nome do DNS, insira
*.<clusterHostname>.No campo Endereço IP, insira o endereço IP reservado para o endpoint do Private Service Connect na seção anterior.
Clique em Criar.
Sua rede VPC agora está conectada ao cluster de estações de trabalho, e você pode se conectar às estações de trabalho usando essa rede.
Ativar a resolução de DNS no ambiente local
Para usar o editor padrão baseado em navegador na estação de trabalho, use um navegador de uma máquina conectada à rede VPC. É possível usar Cloud VPN ou Cloud Interconnect para se conectar da rede externa em que você executa o navegador à rede VPC.
Para se conectar de uma rede externa, é necessário configurar o DNS na rede externa. Semelhante às 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 seu ambiente local e o Google Cloud Google Cloud .
Talvez também seja necessário adicionar *cloudworkstations.dev à lista de permissões da infraestrutura local.
Configurar o VPC Service Controls para streaming de imagens
Se você ativar o streaming de imagens para reduzir o tempo de inicialização da estação de trabalho e o cluster de estações de trabalho estiver dentro de um perímetro do VPC Service Controls, configure o seguinte na política de perímetro:
- Inclua a API Container File System (
containerfilesystem.googleapis.com) nos serviços restritos do perímetro de serviço. - Adicione uma regra de saída no perímetro de serviço que permita que a conta de serviço especificada na configuração da estação de trabalho acesse a API Container File System no projeto que hospeda as imagens de contêiner.
- Se você estiver usando um ambiente de desenvolvimento integrado pré-configurado,
também será necessário configurar a regra de saída para permitir o acesso ao
cloud-workstations-imagesprojeto (número do projeto662288601415).