Configurar um gerenciador de clientes VPC
Esse recurso requer que sua conta esteja no plano Premium.
Visão geral
Por default, os recursos clássicos de computação de seus workspaces do Databricks, como os clusters do Databricks Runtime, são criados em um cluster do GKE em uma rede de nuvem privada virtual (VPC) do Google Cloud. O Databricks cria e configura essa VPC em sua conta do Google Cloud.
Como alternativa, o senhor pode optar por criar o seu espaço de trabalho Databricks em um espaço de trabalho existente para gerenciar o cliente VPC que o senhor criou no Google Cloud account. O senhor pode usar um gerenciador de clientes VPC para exercer mais controle sobre as configurações de rede e cumprir os padrões específicos de segurança e governança da nuvem que sua organização possa exigir. Para configurar seu workspace para usar o serviço privado Connect para qualquer tipo de conexão, seu workspace deve usar um gerenciador de clientes VPC.
Uma VPC gerenciada pelo cliente é uma boa solução se você tiver:
- Políticas de segurança que impeçam que provedores de PaaS criem VPCs em sua própria conta do Google Cloud.
- Um processo de aprovação para criar uma nova VPC, no qual a VPC é configurada e protegida de maneira bem documentada pelas equipes internas de segurança da informação ou engenharia de nuvem.
Os benefícios incluem:
- Níveis de privilégio mais baixos : Mantenha mais controle sobre seu próprio Google Cloud account. Databricks não precisa de tantas permissões quanto as necessárias para default Databricks-gerenciar VPC. A limitação das permissões necessárias pode facilitar a obtenção de aprovação para usar o Databricks em sua pilha de plataformas. Consulte Nível de privilégio mais baixo para VPCs gerenciadas pelo cliente.
- VPCs consolidadas : Configure vários workspaces do Databricks para compartilhar uma única VPC de plano de computação. Isso geralmente facilita o faturamento e gerenciamento de instâncias.
Para usar um gerenciador de clientes VPC, é necessário especificá-lo ao criar o Databricks workspace por meio do consoleaccount. O senhor não pode mover um workspace existente com um Databricks-gerenciar VPC para o seu próprio VPC. Além disso, após a criação do workspace, o senhor não pode alterar o gerenciador de clientes VPC que o workspace usa.
Nível de privilégio mais baixo para VPCs gerenciadas pelo cliente
Ao criar um workspace, Databricks cria um serviço account e concede uma função com permissões que Databricks precisa para gerenciar seu workspace.
Se o seu workspace usar um gerenciador de clientes VPC, ele não precisará de tantas permissões. A função criada pela Databricks omite permissões como a criação, atualização e exclusão de objetos como redes, roteadores e sub-redes. Para obter a lista completa, consulte Permissões necessárias para o serviço workspace account .
Requisitos
Neste tópico:
Requisitos de saída
Como parte da criação de um workspace, o Databricks cria um clustering GKE no VPC. Por default, esse é um clustering GKE privado, o que significa que não há endereços IP públicos. Para um clustering GKE privado, a sub-rede e os intervalos de IP secundários que o senhor fornece devem permitir o tráfego público de saída da Internet, o que não é permitido pelo site default. Para ativar a saída, você pode adicionar um NAT do Google Cloud ou usar uma abordagem semelhante. Consulte Etapa 1: criar e configurar sua VPC. Se você configurar listas de acesso IP, esses endereços IP públicos deverão ser adicionados a uma lista de permissões. Consulte Configurar listas de acesso IP para o espaço de trabalho.
Se, em vez disso, o senhor escolher um clustering GKE público, o site workspace não terá conectividade de clustering segura porque os nós do compute têm endereços IP públicos.
Requisitos de rede
A tabela a seguir lista os requisitos para recursos e atributos de rede usando a notação CIDR.
Recurso ou atributo de rede | Descrição | Intervalo válido |
---|---|---|
Intervalo de sub-rede | O intervalo de IPs do seu VPCa partir do qual serão alocados os nós de clustering do GKE do workspace. Para obter recomendações e cálculos de dimensionamento, consulte Calcular tamanhos de sub-rede para um novo workspace. | O intervalo de |
Região da sub-rede | Região da sub-rede | A região da sub-rede deve corresponder à região do seu workspace para que o Databricks provisione um clustering GKE para execução do seu workspace. |
Intervalo secundário para pods GKE | O intervalo de IPs de sua VPC a partir do qual serão alocados os pods do cluster GKE do seu workspace. | O intervalo de |
Intervalo secundário para serviços GKE | O intervalo de IP da sua VPC a partir do qual os serviços do cluster GKE do seu workspace serão alocados. | O intervalo de |
compartilhamento de um VPC com vários espaços de trabalho
O senhor pode usar um Google Cloud VPC com vários espaços de trabalho. O senhor deve garantir que as sub-redes de cada workspace não se sobreponham. Para usar projetos separados do Google Cloud para cada workspace, separados do projeto VPC, use o que o Google chama de VPCcompartilhado . Para obter detalhes, consulte Requisitos do projeto.
Requisitos do projeto
O projeto do Google Cloud associado à sua VPC pode corresponder ao projeto do workspace, mas não é necessário que isso aconteça.
Se você usa uma VPC padrão, que o Google chama de VPC independente , a Databricks usa o mesmo projeto do Google Cloud para os dois itens a seguir:
-
Sua rede VPC
-
Recursos que o Databricks cria para cada workspace para recursos de compute e armazenamento. Os recursos de compute incluem o cluster do GKE e seus nós de cluster. Os recursos de armazenamento incluem os dois buckets do GCS para dados do sistema e DBFS root.
Se você quiser que sua VPC tenha um projeto do Google Cloud diferente dos recursos de computação e armazenamento, você precisa criar o que o Google chama de VPC compartilhada em vez de uma VPC independente. Uma VPC compartilhada permite conectar recursos de vários projetos a uma rede VPC comum para se comunicarem entre si usando IPs internos dessa rede.
Notas de terminologia:
- Não confunda o termo VPC compartilhada com o fato de vários workspaces compartilharem uma VPC. Tanto as VPCs independentes quanto as VPCs compartilhadas podem ser usadas com um único workspace do Databricks ou com vários workspaces.
- Uma VPC compartilhada também é conhecida como rede interprojetos ou XPN (do inglês "Cross Project Network). A documentação da Databricks usa o termo VPC compartilhada para seguir o uso mais comum na documentação do Google.
Talvez você queira usar um projeto diferente para recursos de workspace por vários motivos:
- Você deseja separar os metadados de cobrança de cada workspace para atribuição de custo e cálculos de orçamento para cada unidade de negócios que tem seu próprio workspace do Databricks, mas uma única VPC que hospeda todos os workspaces.
- Você deseja limitar as permissões em cada projeto para cada finalidade. Por exemplo, o projeto que você usa para os recursos de computação e armazenamento de cada workspace não precisa de permissão para criar uma VPC.
- Sua organização pode exigir essa abordagem nos aplicativos do Google Cloud.
O que o Google chama de projeto de host é o projeto da sua VPC. O que o Google chama de projeto de serviço é o projeto que o Databricks usa nos recursos de computação e armazenamento de cada workspace.
Requisitos de função
A entidade que executa uma operação deve ter as funções específicas necessárias para cada operação.
A entidade que precisa de funções específicas no projeto depende de como você realiza a operação.
- Para usar o console de contas, a entidade é a sua conta de usuário administrador.
- Para usar a conta API, o principal é o serviço principal account (SA-2) para autenticação OIDC. Lembre-se de que um serviço account não herda automaticamente as funções do senhor como seu criador. O senhor deve adicionar funções para o serviço account no projeto.
Para um VPC account autônomo, há um projeto do Google Cloud para o VPC e o recurso implantado nele. Se o seu VPC for o que o Google chama de VPCcompartilhado, isso significa que o VPC tem um projeto separado do projeto usado para cada workspace's compute e recurso de armazenamento. Para um VPC compartilhado, a entidade que realiza as operações (o usuário ou o serviço account) deve ter funções específicas no projeto VPCe no projeto workspace. Consulte a tabela a seguir para obter detalhes. Para obter detalhes sobre VPCs compartilhadas, consulte Requisitos do projeto.
Para criar um workspace com um cliente-gerenciar VPC, o senhor precisa das funções para criar uma configuração de rede e um workspace. A tabela a seguir mostra as funções que devem ser concedidas ao criador do workspace no projeto GCP em que o workspace será provisionado e no projeto GCP em que o VPC reside (se esse projeto for diferente do projeto workspace ):
Operação | Funções necessárias no(s) projeto(s) GCP onde reside o VPC e/ou workspace |
---|---|
Execute todas as operações de VPC gerenciadas pelo cliente listadas abaixo | Proprietário ( |
Criar uma configuração de rede | Visualizador ( |
Excluir configuração de rede | Nenhuma |
Criar um workspace do Databricks | Proprietário ( |
Excluir um workspace | Proprietário ( |
Etapa 1: criar e configurar sua VPC
-
Decida se o senhor deseja criar o que o Google chama de VPC autônoma ou VPC compartilhada. Um VPC compartilhado permite que o senhor especifique um projeto do Google Cloud para o VPC e projetos separados para cada workspace. Databricks usa o projeto workspace para criar o armazenamento workspacee o recurso compute. Consulte os requisitos do projeto.
- Para usar o mesmo projeto para sua VPC e para os recursos de computação e armazenamento de cada workspace, crie uma VPC independente.
- Caso contrário, crie uma VPC compartilhada.
-
Crie uma VPC de acordo com os requisitos da rede:
-
Para criar uma VPC autônoma , use o console do Google Cloud ou a CLI do Google. Para usar o Google CLI para criar um VPC autônomo com intervalos de IP suficientes para um Databricks workspace, execute o seguinte comando. Substitua
<region>
pela região do Google Cloud na qual o senhor planeja criar seu Databricks workspace. Substitua<vpc-name>
por um novo nome de VPC. Substitua<subnet-name>
por um novo nome de sub-rede. Substitua<project-id>
pelo ID do projeto da VPC autônoma.Bash
gcloud config set project <project-id>
gcloud compute networks create <vpc-name> --subnet-mode=custom
gcloud compute networks subnets create <subnet-name> \
--network=<vpc-name> --range=10.0.0.0/16 --region=<region> \
--secondary-range pod=10.1.0.0/16,svc=10.2.0.0/20Neste exemplo, os intervalos de IP secundários são denominados
pod
esvc
. Esses nomes são relevantes nos passos de configuração posteriores. -
Para criar uma VPC compartilhada :
- Leia o artigo do Google "Visão geral da VPC compartilhada"".
- Siga as instruções do artigo do Google "Configuração de clusters com uma VPC compartilhada". O projeto de host é o projeto de sua VPC. O projeto de serviço é o projeto que a Databricks usa para os recursos de computação e armazenamento de cada workspace. Essa página fornece instruções para configurar uma VPC compartilhada, criar um cluster de teste do GKE na VPC compartilhada para teste e excluir o cluster de teste.
-
-
Se você planeja usar um cluster GKE privado para qualquer workspace nessa VPC, que é a configuração padrão durante a criação do workspace, os nós de recursos de computação não têm endereços IP públicos.
Se você planeja usar um cluster GKE público durante a criação do workspace, que cria endereços IP públicos para nós de recursos de computação, pule para o próximo passo desta seção.
Para oferecer suporte a workspaces com um cluster GKE privado, a VPC precisa incluir recursos que permitam o tráfego de saída da sua VPC para a internet pública para que seu workspace possa se conectar ao plano de controle do Databricks.
Uma abordagem simples para ativar a saída é adicionar um NAT do Google Cloud. Siga as instruções nos artigos do Google "Set up network address translation with Cloud NAT". Essa abordagem permite a saída para todos os destinos. Se quiser limitar a saída apenas para os destinos necessários, o senhor pode fazer isso agora ou mais tarde usando as instruções em Limitar a saída da rede para o seu workspace usando um firewall.
Se o senhor usar o Google CLI para esta etapa, poderá fazê-lo com o seguinte comando. Substitua <vpc-name>
pelo nome da VPC, conforme especificado nas etapas anteriores. Substitua <nat-name>
pelo novo nome NAT. Substitua <region>
pelo nome da região que o senhor pretende usar com seu workspace (ou vários espaços de trabalho na mesma região):
gcloud compute routers create my-router --network=<vpc-name> --region=<region>
gcloud compute routers nats create <nat-name> \
--router=my-router \
--auto-allocate-nat-external-ips \
--nat-all-subnet-ip-ranges \
--router-region=<region>
Para ver mais exemplos, consulte o artigo do Google "Exemplo de configuração do GKE".
Etapa 2: Confirme ou adicione funções em projetos para seu usuário administrador account
O diretor que executa uma operação deve ter funções específicas exigidas para cada operação. Consulte Requisitos de função para saber quais são as funções necessárias para criar um workspace e outras operações relacionadas
A entidade que precisa de funções específicas no projeto depende de como você realiza a operação.
- Para usar o console de contas, a entidade é a sua conta de usuário administrador.
- Para usar a conta API, o principal é o serviço principal account (SA-2) para autenticação OIDC. Lembre-se de que um serviço account não herda automaticamente as funções do senhor como seu criador. O senhor deve adicionar funções para o serviço account no projeto.
Para confirmar ou atualizar as funções da entidade em um projeto:
-
Acesse a página de IAM do projeto no console do Google Cloud.
-
Se necessário, altere o projeto no seletor de projetos da parte superior da página para corresponder ao projeto da VPC.
-
Se a entidade já tiver funções nesse projeto, você poderá encontrá-lo nessa página e revisar suas funções na coluna Função .
-
Para adicionar novas funções a uma entidade neste projeto:
-
Na parte superior da página de IAM, clique em ADICIONAR .
-
No campo Entidade , digite o endereço de e-mail da entidade a ser atualizada.
-
Clique no campo Selecionar uma função . Escolha uma função necessária que esteja listada como necessária. Consulte Requisitos da função. Para as funções Proprietário, Visualizador e Editor, você pode encontrá-las no seletor na categoria Básico .
-
Para criar um workspace com um cliente-gerenciar VPC, o senhor precisa das funções para criar uma configuração de rede e um workspace. Adicione funções para ambas as operações agora.
-
Para adicionar outras funções, clique em ADICIONAR OUTRA FUNÇÃO e repita os passos anteriores em "Confirmar ou atualizar funções para a entidade em um projeto".
-
Clique em SALVAR .
-
Se o senhor usar um Google Cloud Shared VPC, que permite um projeto diferente do Google Cloud para o seu workspace recurso, como compute recurso e armazenamento, também precisará confirmar ou adicionar funções para o principal no projeto workspace. Repita as etapas desta seção, mas use o projeto workspace's em vez do projeto VPC's.
Etapa 3: registre sua rede com Databricks, que cria um objeto de configuração de rede
Registre sua rede (VPC) como um novo objeto de configuração de rede do Databricks.
- Acesse o console da conta.
- Na navegação à esquerda, clique em Cloud recurso
.
- Clique em Adicionar configuração de rede .
- Em uma janela separada do navegador, abra o console do Google Cloud.
- Navegue até sua VPC.
- Clique no nome da sua sub-rede. O console do Google Cloud exibe uma página com detalhes da sub-rede e outras informações necessárias para o formulário.
- Copie as informações no formulário Adicionar configuração de rede .
- Digite um nome legível por humanos no primeiro campo da configuração da rede.
- Digite os valores corretos para o nome da VPC, o nome da sub-rede e a região da sub-rede.
- Insira os intervalos de IP secundários para os pods e serviços do GKE. Se você usou o exemplo anterior para criar a VPC independente com o comando
gcloud
CLI, esses intervalos de IP secundários serão nomeadospod
esvc
. - Clique em Adicionar .
Etapa 4: Crie um Databricks workspace que faça referência à sua configuração de rede
Para criar um workspace, o senhor deve ter algumas permissões necessárias do Google em seu account, que pode ser uma conta do Google ou um serviço account. Consulte Permissões necessárias.
Para criar um workspace usando o console account, siga as instruções em Criar um workspace usando o console account e defina esses campos:
-
No ID do projeto do Google Cloud :
- Se o seu VPC for um VPCautônomo, defina-o como o ID do projeto para o seu VPC. Para um VPC autônomo, esse também é o projeto que o workspace usa para seu recurso.
- Se o seu VPC for um VPCcompartilhado, defina isso como o ID do projeto para o recurso desse workspace.
-
Em Modo de rede , selecione Rede gerenciada pelo cliente .
-
Na Configuração de rede , selecione sua configuração de rede no seletor.
Etapa 5: Adicionar regra de firewall para permitir a implementação do compute
Para permitir que o Databricks implante o recurso GCE compute no seu account, o Databricks tenta adicionar automaticamente uma regra de firewall ao seu VPC. Para evitar que a tentativa falhe devido à falta de privilégios, o senhor deve adicionar a seguinte regra de firewall à sua VPC. Essa regra de firewall permite o tráfego entre Databricks-gerenciar VMs em seu VPC. A regra não permite a entrada de pessoas de fora da VPC.
A regra exigida deve ser:
- Nome da regra :
databricks-{WORKSPACE_ID}-ingress
- Direção : Ingress
- Prioridade : 1000
- Alvos :
Network tag: databricks-{WORKSPACE_ID}
- Filtro de origem :
IPv4 range: primary CIDR range of subnet
- Protocolos e portas : permitir tudo