Pular para o conteúdo principal

Limite a saída de rede para seu workspace usando um firewall

Em default, o Google Cloud permite todo o tráfego de saída do seu VPC. Opcionalmente, o senhor pode optar por configurar o site workspace para limitar o egresso apenas aos serviços e destinos essenciais que sua organização exige. Para permitir o serviço essencial, o senhor precisa modificar a rede do Google Cloud (VPC) e o firewall que Databricks cria para o seu workspace. Para alguns serviços, o senhor pode configurar o Private Google Access para se comunicar com o Google APIs por meio de endereços IP privados.

Para obter as atualizações mais recentes sobre como esses recursos do Google Cloud funcionam, consulte a documentação do Google Cloud.

Se quiser configurar um firewall de nome de domínio corporativo para se conectar ao aplicativo da Web Databricks, consulte Configurar regras de firewall de nome de domínio.

Para obter uma visão geral da arquitetura Databricks, incluindo as definições do plano clássico compute e do plano de controle, consulte a visão geral da arquiteturaDatabricks.

Visão geral da configuração do firewall

Se quiser limitar a saída do plano clássico compute, o senhor deve fazer dois tipos gerais de configurações para permitir as conexões necessárias que, de outra forma, seriam bloqueadas:

  • Private Google Access for GCS : Em default, quando uma máquina virtual (VM) do mecanismo de computação, como um nó de clustering Databricks, não tem um endereço IP externo (público) atribuído à sua interface de rede, ela pode enviar pacotes apenas para outros destinos de endereços IP internos. O senhor pode permitir que essas VMs se conectem ao conjunto de endereços IP externos usados pelo Google APIs e pelo serviço ativando o Private Google Access (PGA) na sub-rede que a interface de rede da VM usa. Com o PGA, a comunicação direta entre o avião Databricks compute e esses serviços do Google usa a rede interna do Google em vez da Internet pública.

    O plano clássico compute usa Google Cloud Storage (GCS ) para escrever em workspace, verificar a saúde de logs e usar logs.

  • Regras de firewall para o serviço de plano de controle : Depois de bloquear a saída modificando o firewall integrado, o senhor deve permitir vários serviços essenciais adicionando novas regras de firewall:

    • A saída para o aplicativo da Web e as APIs REST na porta 443.
    • A saída para o relé de conectividade de clustering seguro na porta 443.
    • A saída para o site default Hive metastore na porta 3306. Se o senhor implantar seu próprio metastore externo, não precisará adicionar regras de rede para o metastore default não utilizado.
    • O egresso para chamadas internas do plano Databricks compute para o plano de controle Databricks API na porta 8443.
    • A saída para registro em Unity Catalog e transmissão de dados de linhagem para Databricks na porta 8444.
    • A saída nas portas 8445-8451 para suportar o recurso futuro.
    • A saída para comunicação intra-VPC deve ser permitida para garantir a funcionalidade adequada do clustering e a comunicação interna do serviço.

    Os intervalos de endereços IP para o aplicativo da Web, o relé de conectividade de clustering seguro e o default Hive metastore variam de acordo com a região. Para obter os valores de sua região, consulte a tabela em Endereços IP e domínios para Databricks serviço e ativo.

Este artigo inclui exemplos de configuração do Google Cloud usando a interface de linha de comando gcloud (CLI). Para usar esses exemplos, o senhor deve instalar o Google Cloud SDK.

Serviço de plano de controle endpoint Endereços IP por região

Se quiser configurar um firewall para bloquear a saída, o senhor deverá definir novas regras e rotas de firewall de saída VPC para permitir serviços essenciais hospedados no plano de controle Databricks. Os endereços IP do endpoint variam de acordo com a região do Google Cloud de seu Databricks workspace. Use a tabela em Endereços IP e domínios para Databricks serviço e ativo para obter a porta e o endereço IP dos ingresses do plano de controle para a região do Google Cloud do seu workspace.

Etapa 1: planeje o dimensionamento da sua rede

Se o senhor planeja usar um cluster grande ou muitos espaços de trabalho, certifique-se de que o espaço de trabalho terá espaço IP suficiente para executar o Databricks Job.

Configure a sub-rede usada pelo seu Databricks workspace com precisão, pois o senhor não poderá alterá-la depois que o workspace for implantado. Se os intervalos de endereços da sub-rede Databricks forem muito pequenos, o workspace esgotará seu espaço IP, o que, por sua vez, causará falha no trabalho Databricks. Para determinar o tamanho do intervalo de endereços de que o senhor precisa, consulte Dimensionamento de sub-rede para um novo workspace.

Etapa 2: Criar um workspace

  1. Faça login no consoleaccount

  2. Criar um novo Databricks workspace .

    • Anote as configurações do intervalo de IPs primários que aparecem na seção Advanced Configurations durante a criação do site workspace. Esse é o default, mas o senhor pode substituí-lo. Para obter detalhes, consulte Criar um workspace usando o console account.

      Sub-redes de firewall

  3. Certifique-se de que o Databricks VPC e as sub-redes em seu Google account tenham o Private Google Access (PGA) ativado.

    Firewall PGA

Etapa 3: adicionar regras de firewall da VPC

Agora, o senhor deve adicionar regras de firewall ao firewall que Databricks criou para o seu novo workspace.

  1. Obtenha seu nome de VPC. Databricks criou este VPC em seu Google account como parte da criação do workspace.

    1. Na páginaaccount do console workspace, clique no seu workspace para iniciá-lo.
    2. Copie a parte numérica do URL após ?o=. Por exemplo, se o URL workspace for https://1676665108650415.5.gcp.databricks.com/?o=1676665108650415#, o ID workspace será 1676665108650415.
    3. O site VPC do senhor workspace tem o nome databricks-managed-<workspace-ID>. Por exemplo, databricks-managed-1676665108650415. Anote esse valor para que o senhor possa usá-lo com CLI comando.
  2. Se você quiser usar o Google Console para adicionar regras de firewall:

    1. Acesse a página VPCs no console do Google Cloud.
    2. Clique no nome VPC da rede que corresponde ao nome workspace's VPC.
    3. Clique em FIREWALL RULES (Regras do firewall ) tab.
  3. Adicione uma regra para bloquear a saída para 0.0.0.0/0, que é uma sintaxe especial que significa todos os endereços IP externos.

    Em default, o Google Cloud permite todo o tráfego de saída do seu VPC. Você precisa criar uma regra bloqueando esse tráfego. Certifique-se de que a prioridade dessa regra esteja definida como um número grande. O objetivo é que essa regra seja aplicada depois que o Google Cloud executar todas as outras regras. Por exemplo, você pode definir essa regra como prioridade 1100 e, posteriormente, definir as prioridades da regra de saída no intervalo de 1000-1099.

important

Se o senhor usar incorretamente um valor de baixa prioridade para essa regra, o Google Cloud negará o tráfego de rede para os serviços essenciais Databricks e GCE, o que tornaria o seu workspace inutilizável.

Devido a essa regra, qualquer tráfego que vá para o espaço IP interno (10.0.0.0/8, 172.16.0.0/20, 192.168.0.0/16) precisa de uma regra de saída adicional para permitir que o clustering alcance esses endereços IP.

O senhor pode usar o seguinte comando da CLI gcloud para criar essa regra. Substitua <vpc-name> pelo nome de sua VPC.

Bash
 gcloud compute firewall-rules create deny-egress
--action DENY
--rules all
--destination-ranges 0.0.0.0/0
--direction EGRESS
--priority 1100
--network <vpc-name>
  1. Adicione uma regra para permitir a entrada das verificações de saúde do Google.

    O senhor pode usar o seguinte comando da CLI gcloud para criar essa regra. Substitua <vpc-name> pelo nome de sua VPC.

    Bash
    gcloud compute firewall-rules create from-gcp-healthcheck \
    --action ALLOW \
    --rules tcp:80,tcp:443 \
    --source-ranges 130.211.0.0/22,35.191.0.0/16 \
    --direction INGRESS \
    --priority 1010 \
    --network <vpc-name>
  2. Adicione uma regra para permitir a saída para as verificações de saúde do Google.

    O senhor pode usar o seguinte comando da CLI gcloud para criar essa regra. Substitua <vpc-name> pelo nome de sua VPC.

    Bash
    gcloud compute firewall-rules create to-gcp-healthcheck \
    --action ALLOW \
    --rules tcp:80,tcp:443 \
    --destination-ranges 130.211.0.0/22,35.191.0.0/16 \
    --direction EGRESS \
    --priority 1000 \
    --network <vpc-name>
  3. Adicione uma regra para permitir a saída para APIs restritas(restricted.googleapis.com), que é necessário para acessar a API do GCE em um intervalo fixo de endereços IP.

    O senhor pode usar o seguinte comando da CLI gcloud para criar essa regra. Substitua <vpc-name> pelo nome de sua VPC.

    Bash
    gcloud compute firewall-rules create to-google-apis \
    --action ALLOW \
    --rules all \
    --destination-ranges 199.36.153.4/30 \
    --direction EGRESS \
    --priority 1000 \
    --network <vpc-name>
  4. Adicione uma regra para permitir a comunicação intra-sub-rede (saída) usada pelo site Databricks workspace. Há um intervalo de sub-rede default para a sub-rede que fica visível durante a criação do workspace na seção Advanced Configurations . O senhor precisa permitir a saída para esse intervalo de sub-rede, que é rotulado na UI como Primary IP range for GCE nodes (Intervalo de IP primário para nós GCE ).

    O senhor pode usar o seguinte comando da CLI gcloud para criar essa regra. Substitua <vpc-name> pelo nome de sua VPC. Substitua X.X.X.X/X pela sub-rede Databricks que o senhor forneceu durante a criação de workspace.

    Bash
    gcloud compute firewall-rules create to-gce-nodes-subnet \
    --action ALLOW \
    --rules all \
    --destination-ranges X.X.X.X/X \
    --direction EGRESS \
    --priority 1000 \
    --network <vpc-name>
  5. Adicione uma regra para permitir a saída para o serviço de plano de controle Databricks. Use a tabela na página de endereços IP e domínios para determinar os valores corretos para cada região Databricks suportada para esses serviços.

    Permita conexões com o aplicativo da Web principal e com o relé de conectividade de clustering seguro (SCC) nas portas 443 e 8443-8451. Use o seguinte comando da CLI gcloud para criar essa regra. Substitua <vpc-name> pelo nome de sua VPC. Substitua X.X.X.X/32,X.X.X.X/28,X.X.X.X/28 por seus endereços de entrada regionais para o aplicativo web. Substitua Y.Y.Y.Y pelo seu intervalo de endereços IP regional para o relé SCC.

    Se o senhor habilitou o Private Service Connect para o seu workspace, use os endereços IP do PSC endpoint.

    Bash
    gcloud compute firewall-rules create to-databricks-control-plane \
    --action ALLOW \
    --rules tcp:443,tcp:8443-8451 \
    --destination-ranges X.X.X.X/32,X.X.X.X/28,X.X.X.X/28,Y.Y.Y.Y/32 \
    --direction EGRESS \
    --priority 1000 \
    --network <vpc-name>
  6. Se o senhor usar o metastore default, adicione uma regra para permitir a conexão com o metastore na porta 3306. Use o seguinte comando da CLI gcloud para criar essa regra. Substitua <vpc-name> pelo nome de sua VPC. Substitua X.X.X.X pelo intervalo de endereços IP regionais do metastore default.

    Bash
    gcloud compute firewall-rules create to-databricks-managed-hive \
    --action ALLOW \
    --rules tcp:3306 \
    --destination-ranges X.X.X.X/32 \
    --direction EGRESS \
    --priority 1000 \
    --network <vpc-name>
important

Se o senhor implantar sua própria instância de metastore, crie uma regra para permitir a conexão com ela em vez do metastore default.

  1. Adicione quaisquer outras regras de saída de rede que sua organização exija para permitir as conexões necessárias com a fonte de dados ou outros sistemas.
important

Para regras de saída ALLOW personalizadas, defina números prioritários no intervalo 1000-1099. É importante que o número de prioridade seja menor do que o valor usado para bloquear todas as saídas, definido como prioridade 1100 nas etapas anteriores.

Suas regras de firewall devem ser semelhantes às seguintes, embora o senhor deva usar o endereço IP regional do serviço de plano de controle para a região do seu workspace.

Regras de firewall

Etapa 4: atualizar rotas de VPC

As rotas do Google Cloud definem os caminhos que o tráfego de rede percorre de uma instância de máquina virtual (VM) para outros destinos. Em uma rede VPC, uma rota consiste em um único prefixo de destino no formato CIDR e um único próximo salto.

  1. Remova a rota default que foi criada automaticamente no VPC, que é 0.0.0.0/0 com o gateway de Internet default como o próximo salto. Use a interface do usuário do console para remover essa rota e limpar qualquer caminho para a Internet.

    1. Acesse a lista de rotas no console do Google Cloud.

    2. Selecione a rota para 0.0.0.0/0 e clique em EXCLUIR .

      Excluir rota

  2. Crie uma rota na VPC para enviar tráfego para a sub-rede restrita das APIs do Google (199.36.153.4/30). Defina o próximo salto como default-internet-gateway de acordo com o requisito de acesso a APIs privadas do Google.

    O senhor pode usar o seguinte comando CLI gcloud para criar essa rota. Substitua <vpc-name> pelo nome de sua VPC. Substitua <project-name> pelo nome do seu projeto.

    Bash
    gcloud beta compute routes create route-to-google-apis \
    --project=<project-name> --description="Route to Google restricted APIs" \
    --network=<vpc-name> \
    --priority=1000 \
    --destination-range=199.36.153.4/30 \
    --next-hop-gateway=default-internet-gateway
  3. Crie uma rota para acessar o serviço de plano de controle Databricks. Obtenha os valores para sua região em endereços IP e domínios para Databricks serviço e ativo.

    O senhor pode usar o seguinte comando gcloud CLI para criar a rota para o aplicativo Web. Substitua <vpc-name> pelo nome de sua VPC. Substitua <project-name> pelo nome do seu projeto. Substitua X.X.X.X/32,X.X.X.X/28,X.X.X.X/28 pelos intervalos dos endereços IP regionais do aplicativo web.

    Bash
    gcloud beta compute routes create route-to-databricks-web-app-1 \
    --project=<project-name> --description="Route to Databricks web app" \
    --network=<vpc-name> \
    --priority=1000 \
    --destination-range=X.X.X.X/32 \
    --next-hop-gateway=default-internet-gateway
    Bash
    gcloud beta compute routes create route-to-databricks-web-app-2 \
    --project=<project-name> --description="Route to Databricks web app" \
    --network=<vpc-name> \
    --priority=1000 \
    --destination-range=X.X.X.X/28 \
    --next-hop-gateway=default-internet-gateway
    Bash
    gcloud beta compute routes create route-to-databricks-web-app-3 \
    --project=<project-name> --description="Route to Databricks web app" \
    --network=<vpc-name> \
    --priority=1000 \
    --destination-range=X.X.X.X/28 \
    --next-hop-gateway=default-internet-gateway

    O senhor pode usar o seguinte comando gcloud CLI para criar a rota para o relé de conectividade de clustering seguro. Substitua <vpc-name> pelo nome de sua VPC. Substitua <project-name> pelo nome do seu projeto. Substitua X.X.X.X/32 pelo intervalo de endereços IP regionais para o relé SCC.

    Bash
    gcloud beta compute routes create route-to-databricks-scc-service \
    --project=<project-name> --description="Route to Databricks SCC relay" \
    --network=<vpc-name> \
    --priority=1000 \
    --destination-range=X.X.X.X/32 \
    --next-hop-gateway=default-internet-gateway

    Se o senhor usar o metastore default, use o seguinte comando gcloud CLI para criar a rota para o metastore default. Substitua <vpc-name> pelo nome de sua VPC. Substitua <project-name> pelo nome do seu projeto. Substitua X.X.X.X/32 pelo intervalo de endereços IP regionais para o metastore.

    Bash
    gcloud beta compute routes create route-to-databricks-default-metastore \
    --project=<project-name> --description="Route to default metastore" \
    --network=<vpc-name> \
    --priority=1000 \
    --destination-range=X.X.X.X/32 \
    --next-hop-gateway=default-internet-gateway

Etapa 5: Crie uma zona DNS para as APIs do Google para que o senhor possa ativar o Google Private Access para o GCS

Agora, o senhor deve criar uma zona DNS para o Google APIs, que é necessária para ativar o Google Private Access do plano clássico compute para o Google APIs para GCS e outros serviços GCP. Para obter detalhes sobre como ativar o GPA, consulte os artigos da documentação do Google Configure Private Google Access.

  1. Personalize o DNS na VPC para o domínio googleapis.com usando o Cloud DNS. Normalmente, googleapis.com resolve para endereços IP públicos, mas para o Google Private Access, você deve usar restricted.googleapis.com. Esse domínio é resolvido para um intervalo específico 199.36.153.4/30, acessível na rede do Google Cloud.

    O clustering do plano Databricks clássico compute requer acesso a GCS. Para a PGA, o senhor precisa garantir que o acesso ao site restrito APIs seja resolvido, caso contrário, o GCE não começará com êxito.

    O senhor pode usar o seguinte comando gcloud para criar a zona DNS. Substitua <vpc-name> pelo nome de sua VPC.

    Bash
    gcloud dns managed-zones create google-apis \
    --description "private zone for Google APIs" \
    --dns-name googleapis.com \
    --visibility private \
    --networks VPC-NAME

    gcloud dns record-sets transaction start --zone google-apis

    gcloud dns record-sets transaction add restricted.googleapis.com. \
    --name *.googleapis.com \
    --ttl 300 \
    --type CNAME \
    --zone google-apis

    gcloud dns record-sets transaction add "199.36.153.4" "199.36.153.5" "199.36.153.6" "199.36.153.7" \
    --name restricted.googleapis.com \
    --ttl 300 \
    --type A \
    --zone google-apis
    gcloud dns record-sets transaction execute --zone google-apis

    Os objetos no Google Cloud Console são semelhantes aos seguintes:

    Zona para API

Etapa 6: Validar a configuração

  1. Crie um recurso para todos os fins compute e comece a usá-lo.
  2. Aguarde para confirmar se ele começou com êxito e se o estado é Running .
  3. Anexe um Notebook ao compute recurso e execute um teste simples, como o SELECT 1+1.