Pular para o conteúdo principal

Habilite a conectividade privada usando o AWS PrivateLink

Este artigo explica como usar o AWS PrivateLink para conectividade privada entre os usuários e seu espaço de trabalho Databricks e entre o plano clássico compute e o plano de controle dentro da infraestrutura Databricks workspace .

Visão geral da conectividade privada

AWS O PrivateLink permite a conectividade privada de AWS VPCs e redes locais para AWS serviço, evitando a exposição à Internet pública. Databricks O espaço de trabalho PrivateLink suporta conexões PrivateLink para dois tipos de conexões:

Diagrama geral da conectividade de rede

  1. Front-end (usuário para workspace ): Esse tipo de conexão permite que os usuários acessem o aplicativo da Web Databricks, REST API e Databricks Connect API por meio de uma interface VPC endpoint.
  2. Back-end (plano clássico compute para o plano de controle) : computar recurso no plano clássico compute acessar o serviço principal do Databricks workspace no plano de controle, que está localizado na nuvem Databricks account. Esse tipo de conexão usa dois endpoints diferentes da interface VPC para se conectar a dois destinos: REST APIs e o relé de conectividade de clustering seguro.

O senhor pode implementar conexões PrivateLink de front-end e back-end ou apenas uma delas e, opcionalmente, pode impor conectividade privada para o workspace, fazendo com que o Databricks rejeite qualquer conexão de rede pública.

Para ativar as conexões PrivateLink, crie objetos de configuração do Databricks e atualize os objetos de configuração existentes com novos campos.

O diagrama a seguir mostra o fluxo de rede em uma implementação típica.

Arquitetura de rede PrivateLink

Requisitos

  • Sua conta do Databricks está no nível de preço Enterprise.
  • Seu Databricks workspace deve usar um gerenciador de clientes VPC. Consulte Configurar um gerenciador de clientes VPC. O senhor não pode converter um workspace existente de um Databricks-gerenciar VPC para um cliente-gerenciar VPC.
  • Seu Databricks workspace deve usar O que é conectividade segura de clustering? Para adicionar o PrivateLink de back-end a um workspace mais antigo que não usa conectividade segura de clustering, entre em contato com a equipe do Databricks account .
  • O senhor deve ter todas as permissões necessárias em AWS para configurar um Databricks workspace e criar um novo endpoint VPC para o seu workspace.
  • Para estabelecer uma conexão PrivateLink front-end para acessar o workspace a partir de sua rede local, conecte sua rede local a um AWS VPC usando Direct Connect ou VPN.

Etapa 1: Configurar objetos de rede do AWS

Você pode usar o AWS Management Console para criar esses objetos ou automatizar o processo com ferramentas como o provedor Terraform para redes.

  1. Se o senhor ainda não o fez, crie um VPC para seu workspace. O senhor pode reutilizar um VPC de outro workspace. Para criar um VPC, consulte Configurar um cliente-gerenciar VPC. Se estiver atualizando um workspace para o PrivateLink, certifique-se de que ele já esteja usando um VPC gerenciado pelo cliente.

  2. Certifique-se de que sua VPC tenha os nomes de host DNS e a resolução de DNS ativados.

    1. Verifique se as network ACLs das sub-redes têm regras bidirecionais (saída e entrada) que permitam o acesso TCP a 0.0.0.0/0 para estas portas:
      • 443: para a infraestrutura do Databricks, fontes de dados em nuvem e repositórios de bibliotecas
      • 3306: para o metastore
      • 6666: para PrivateLink
      • 2443: apenas para uso com perfil de segurança de conformidade
      • 8443: para chamadas internas do plano Databricks compute para o plano de controle Databricks API
      • 8444: para registro do Unity Catalog e transmissão de dados de linhagem para o Databricks.
      • 8445 a 8451: Possibilidade de extensão futura.
  3. Defina as configurações necessárias para o PrivateLink de back-end, o PrivateLink de front-end ou ambos:

  1. Crie e configure uma sub-rede VPC extra (opcional):

    • Para seu endpoint VPC, incluindo o endpoint de back-end PrivateLink VPC e também qualquer endpoint VPC opcional para outro serviço AWS, o senhor pode criá-los em qualquer uma de suas sub-redes workspace, desde que a rede possa rotear para o endpoint VPC.
    • Anexe uma tabela de rotas separada à sua sub-rede de endpoint VPC, diferente da tabela de rotas das suas sub-redes workspace. Essa tabela de rotas deve ter apenas uma única rota default para o site local VPC.
  2. Crie e configure um security group extra (recomendado, mas opcional):

    • Além do grupo de segurança padrão necessário para um workspace, crie um grupo de segurança separado que permita o acesso bidirecional (saída e entrada) de HTTPS/443 e TCP/6666 às sub-redes workspace e à sub-rede de endpoint VPC separada, se houver. Essa configuração facilita o acesso tanto para REST APIs (porta 443) quanto para a conectividade segura de clustering (6666), simplificando o gerenciamento de grupos de segurança.

      Se o seu site workspace usa o perfil de segurançacompliance, o senhor também deve permitir o acesso bidirecional (saída e entrada) à porta 2443 para dar suporte ao endpoint FIPS para o relé de conectividade de clustering seguro.

Etapa 2: Criar o endpoint VPC

Para o PrivateLink de back-end, crie o endpoint VPC para o relé de conectividade de clustering seguro e para o workspace, permitindo chamadas de plano compute para Databricks REST APIs. Para obter orientação sobre como gerenciar o ponto de extremidade VPC com o Console de gerenciamento AWS, consulte os artigos AWS Create VPC endpoint in the AWS Management Console. O senhor pode compartilhar o endpoint de back-end VPC em vários espaços de trabalho que usam o mesmo gerenciador de clientes VPC.

Para criar o endpoint back-end VPC no console de gerenciamento AWS:

  1. Acesse a seção endpoints de VPC do Console de gerenciamento da AWS.

  2. No canto superior direito, defina a região como a mesma região do site workspace.

  3. Clique em Criar ponto de extremidade .

  4. Nomeie o site endpoint, incorporando a região e a palavra workspace, como databricks-us-west-2-workspace-vpce, para o site workspace VPC endpoint.

  5. Em Categoria de serviço , selecione Outro endpoint serviço .

  6. No campo nome do serviço, cole o nome do serviço. Obtenha os domínios do serviço VPC endpoint de sua região na tabela do PrivateLink VPC endpoint serviço.

    Para o primeiro VPC endpoint que o senhor criar, copie o nome do serviço regional para o workspace.

  7. Clique em Verify serviço e verifique se a página mostra o nome do serviço verificado em uma caixa verde. Se o senhor encontrar um erro informando "Service name could not be verified" (O nome do serviço não pôde ser verificado), verifique se as regiões da VPC, as sub-redes e o novo endpoint da VPC correspondem.

  8. No campo VPC campo, selecione seu workspace VPC.

  9. Na seção Subnets (sub-redes ), selecione exatamente uma de suas sub-redes Databricks workspace .

  10. Na seção Grupos de segurança , selecione o grupo de segurança que criou para as conexões de back-end na Etapa 1: configurar objetos de rede do AWS.

  11. Em Configurações adicionais , ative a opção Ativar nome DNS .

  12. Clique em Criar terminal .

  13. Repita as etapas anteriores para criar o relé de conectividade de clustering seguro endpoint. Use a tabela no PrivateLink VPC endpoint serviço para obter o nome do serviço regional para o relé de conectividade de clustering seguro. A Databricks recomenda que o senhor inclua a região e a palavra scc no nome do endpoint, como databricks-us-west-2-scc-vpce.

As informações a seguir usam o console account. O senhor também pode usar a conta API ou Databricks Terraform provider.

No console da conta, vários tipos de objetos são relevantes para a configuração do PrivateLink:

  • VPC endpoint registros : Depois de criar o ponto de extremidade VPC no Console de gerenciamento AWS, registre-o com Databricks para estabelecer registros VPC endpoint . Após a criação, o senhor não pode atualizar os registros VPC endpoint .

Para o endpoint de back-end VPC, certifique-se de que o campo region corresponda à sua região workspace e à região do endpoint AWS VPC que o senhor está registrando. Para o PrivateLink de front-end, o campo de região deve corresponder à sua região de trânsito VPC e à região do AWS VPC endpoint para a conexão de front-end do workspace.

Para registrar seu endpoint de back-end e front-end VPC, siga as instruções em gerenciar VPC endpoint registros.

  • Configurações de rede (necessárias apenas para o endpoint de back-end VPC ) : As configurações de rede detalham as informações sobre um cliente gerenciar VPC e incluem dois campos de configuração do PrivateLink de back-end.

    Para criar uma configuração de rede, consulte Criar configurações de rede para implantação de VPC personalizada. Para obter requisitos abrangentes para VPCs gerenciadas pelo cliente, suas sub-redes e grupos de segurança, consulte Configurar uma VPC gerenciada pelo cliente VPC. Na seção Back-end private connectivity (Conectividade privada de back -end), defina os campos para seus registros de endpoint de VPC de back-end da seguinte forma:

  • No primeiro campo, selecione o registro VPC endpoint para o relé de conectividade de clustering seguro .

  • No segundo campo, escolha o registro VPC endpoint para o workspace (REST APIs ).

Após a criação, as configurações de rede não podem ser atualizadas.

  • Configurações de acesso privado : O objeto de configuração de acesso privado de um workspaceinclui configurações para a conectividade do AWS PrivateLink. O senhor pode usar um único objeto de configurações de acesso privado para vários espaços de trabalho na mesma região AWS. Para criar um objeto de configurações de acesso privado (PAS), consulte Gerenciar configurações de acesso privado.

Seu workspace já deve estar usando um VPC gerenciado pelo cliente e uma conectividade segura de clustering.

  1. Consulte Manually create a workspace (conta Databricks existente) para criar uma workspace. Consulte esse artigo para obter orientação sobre os campos workspace, como workspace URL, região, Unity Catalog, configurações de credenciais e configurações de armazenamento. Não clique no botão Salvar ainda.
  2. Clique em Advanced configurations (Configurações avançadas ) para view campos adicionais.
  3. Para o PrivateLink de back-end, escolha a configuração de rede. Em Virtual Private Cloud , no menu, escolha a configuração de rede do Databricks que o senhor criou.
  4. Para qualquer uso do PrivateLink, selecione o objeto de configurações de acesso privado. Veja abaixo do título Private Link . Clique no menu e escolha o nome do objeto de configurações de acesso privado que você criou.
  5. Clique em Salvar .
  6. Depois de criar (ou atualizar) um workspace, aguarde até que ele esteja disponível para uso ou criação de clustering. O status workspace permanece no status RUNNING e a alteração VPC ocorre imediatamente. No entanto, o senhor não pode usar ou criar clustering por mais 20 minutos. Se o senhor criar ou usar o clustering antes do término desse intervalo de tempo, o clustering não será iniciado com êxito, falhará ou poderá causar outro comportamento inesperado.

Etapa 5: Configurar o DNS interno para redirecionar as solicitações do usuário para o aplicativo web (front-end)

Para direcionar as solicitações do usuário para sua conexão front-end do PrivateLink, altere o DNS privado da rede à qual seus usuários se conectam. Depois de criar ou atualizar o workspace para incluir o PrivateLink, certifique-se de que o URL workspace seja mapeado para o IP privado do seu workspace VPC endpoint no DNS interno ou personalizado.

Configure o DNS interno de modo que ele mapeie o URL do aplicativo Web workspace para o front-end VPC endpoint.

Use a ferramenta de linha de comando nslookup Unix para testar a resolução de DNS usando seu nome de domínio workspace implantado, por exemplo:

Bash
nslookup my-workspace-name-here.cloud.databricks.com

Resposta de exemplo:

Non-authoritative answer:

my-workspace-name-here.cloud.databricks.com canonical name = oregon.cloud.databricks.com.

oregon.cloud.databricks.com canonical name = a89b3c627d423471389d6ada5c3311b4-f09b129745548506.elb.us-west-2.amazonaws.com.

Name: a89b3c627d423471389d6ada5c3311b4-f09b129745548506.elb.us-west-2.amazonaws.com

Address: 44.234.192.47

Exemplo de mapeamento de DNS para um workspace com front-end VPC endpoint em AWS região us-east-1:

  • Em default, o mapeamento do DNS é:

    • myworkspace.cloud.databricks.com mapeia para nvirginia.privatelink.cloud.databricks.com. Nesse caso, nvirginia é o nome abreviado da instância do plano de controle nessa região.
    • nvirginia.privatelink.cloud.databricks.com mapeia para nvirginia.cloud.databricks.com.
    • nvirginia.cloud.databricks.com mapeia para os IPs públicos do AWS.
  • Depois que o DNS for alterado, a partir da VPC de trânsito (onde está o endpoint da VPC de front-end), o mapeamento do DNS será:

    • myworkspace.cloud.databricks.com mapeia para nvirginia.privatelink.cloud.databricks.com.
    • nvirginia.privatelink.cloud.databricks.com mapeia para o IP privado de seu endpoint VPC para conectividade de front-end.

Para que o URL workspace seja mapeado para o IP privado VPC endpoint da rede local, o senhor deve executar uma das seguintes ações:

  • Configure o encaminhamento condicional para que o URL workspace use o AmazonDNS.
  • Crie um registro A para o URL workspace em seu DNS local ou interno que mapeie para o IP privado VPC endpoint .
  • Conclua passos semelhantes às que você faria para permitir o acesso a outros serviços habilitados para PrivateLink semelhantes.

O senhor pode optar por mapear o URL workspace diretamente para o IP privado do front-end (workspace) VPC endpoint criando um registro A em seu DNS interno, de modo que o mapeamento do DNS tenha a seguinte aparência

  • myworkspace.cloud.databricks.com mapeia para o IP privado VPC endpoint

Depois de fazer as alterações na configuração do DNS interno, teste a configuração acessando o aplicativo da Web Databricks workspace e REST API a partir do seu trânsito VPC. Crie um endpoint de VPC na VPC de trânsito, se necessário, para testar a configuração.

Se você não configurou seu registro DNS em seu domínio DNS privado, talvez veja um erro. Para resolver isso, crie os seguintes registros no servidor DNS, permitindo o acesso ao workspace, à interface Spark e ao serviço de terminal da Web.

Tipo de registro

Nome do registro

Valor

A

<deployment-name>.cloud.databricks.com

IP da interface PrivateLink

CNAME

dbc-dp-<workspace-id>.cloud.databricks.com

<deployment-name>.cloud.databricks.com

Se o senhor tiver dúvidas sobre como isso se aplica à sua arquitetura de rede, entre em contato com a equipe do Databricks account .

info

Visualização

O login unificado com o front-end PrivateLink está na versão prévia privada. O senhor deve entrar em contato com a equipe do Databricks account para solicitar acesso a essa visualização. Para obter mais informações sobre login unificado, consulte Ativar login unificado.

Se seus usuários tiverem acesso à Internet pública, essa etapa não é necessária.

Quando um usuário faz login em um site workspace em que o login unificado está ativado, ele é redirecionado para accounts.cloud.databricks.com no fluxo de autenticação. Para usar o login unificado com um workspace em que o PrivateLink de front-end está ativado e o usuário não tem acesso à Internet pública, é necessário seguir estas etapas para configurar o provedor de identidade e o DNS interno.

  1. Como administrador da conta, faça login no console da conta.

  2. Na barra lateral, clique em Configurações .

  3. Clique em Authentication (Autenticação ) tab.

  4. Ao lado de Authentication (Autenticação ), clique em gerenciar .

  5. Escolha Login único com meu provedor de identidade .

  6. Clique em "Continuar" .

  7. Copie o valor no campo Databricks Redirect URL .

  8. Substitua accounts por accounts-pl-auth para obter o URI de redirecionamento do Databricks PrivateLink.

  9. Acesse seu provedor de identidade.

  10. Adicione o URI de redirecionamento do Databricks PrivateLink como um URL de redirecionamento adicional. Se o senhor configurar o SSO usando SAML, adicione também o URI de redirecionamento do Databricks PrivateLink como um ID de entidade adicional.

    Se o senhor tiver um espaço de trabalho de link privado e de link não privado em seu account, não remova o URL de redirecionamentoDatabricks com account dos URLs de redirecionamento do provedor de identidade.

Etapa 6b: configurar uma zona hospedada privada para sua VPC de trânsito

Faça a seguinte configuração em seu trânsito VPC para garantir que o URI de redirecionamento do Databricks PrivateLink seja mapeado para o endereço IP privado VPC endpoint do seu workspace VPC endpoint.

  1. Em seu trânsito VPC, use a ferramenta de linha de comando nslookup Unix para obter a resolução de DNS usando seu URL workspace. Veja o exemplo na Etapa 5: Configurar o DNS interno para redirecionar as solicitações do usuário para o aplicativo web (front-end).
  2. Copie o URL da instância do plano de controle do seu link privado workspace. A URL da instância do plano de controle está no formato <region>.privatelink.cloud.databricks.com.
  3. Em sua VPC de trânsito, crie uma zona hospedada privada com o nome de domínio privatelink.cloud.databricks.com.
  4. Adicione um registro CNAME que resolva accounts-pl-auth.privatelink.cloud.databricks.com ao URL da instância do seu plano de controle.
  5. Teste a configuração acessando o URI de redirecionamento do Databricks PrivateLink a partir de sua VPC de trânsito.

Etapa 7: Adicionar o endpoint VPC para outro serviço AWS

Para casos de uso típicos,VPC é recomendável criar o seguinte endpoint. Isso permite que o clustering e outros compute recursos no plano clássico compute se conectem diretamente ao AWS serviço nativo pelo AWS PrivateLink. Crie esses pontos de extremidade VPC na mesma sub-rede do seu back-end VPC endpoint.

Esses pontos de extremidade VPC são necessários para casos de uso em que o clustering não tem acesso à rede para o ponto de extremidade público AWS:

Para centralizar seu endpoint, verifique se os seguintes itens são verdadeiros:

  • computar recurso resolver o nome de domínio totalmente qualificado de cada serviço para o IP privado do site correspondente VPC endpoint.
  • Existem rotas que permitem que o compute recurso alcance o endpoint VPC.