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 on-premises redes 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:
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.
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 no Databricks cloud account. Esse tipo de conexão usa dois endpoints de interface VPC diferentes para se conectar a dois destinos: REST APIs e o relé de conectividade seguro cluster .
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.
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 cluster? Para adicionar o PrivateLink de back-end a um workspace mais antigo que não use a conectividade segura cluster, entre em contato com a equipe 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 on-premises, conecte sua rede on-premises a um AWS VPC usando Direct Connect ou VPN.
Observação
A região us-west-1
não é compatível com PrivateLink.
Passo 1: Configurar objetos de rede da AWS
Você pode usar o AWS Management Console para criar esses objetos ou automatizar o processo com ferramentas como o provedor Terraform para redes.
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.
Certifique-se de que o site VPC tenha o nome do host DNS e a resolução de DNS ativados.
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 infraestrutura 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 em Unity Catalog e transmissão de dados de linhagem para Databricks.
8445 a 8451: Possibilidade de extensão futura.
Defina as configurações necessárias para o PrivateLink back-end, o PrivateLink front-end ou ambos:
Crie e configure uma sub-rede VPC extra (opcional):
Para seus endpoints de VPC, incluindo endpoints de VPC de back-end PrivateLink e também quaisquer endpoints de VPC opcionais para outros serviços da AWS, você pode criá-los em qualquer uma das suas sub-redes de workspace, desde que a rede possa rotear para os endpoints de VPC.
Anexe uma tabela de rotas separada à sua sub-rede de ponto de extremidade VPC, diferente da tabela de rotas para suas sub-redes workspace. Essa tabela de rotas deve ter apenas uma única rota default para o site local VPC.
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 às APIs REST (porta 443) e à conectividade segura do cluster (6666), simplificando o gerenciamento do grupo de segurança.
Se seu workspace usar o perfil de segurança de conformidade, você também deverá permitir o acesso bidirecional (saída e entrada) à porta 2443 para oferecer suporte a terminais FIPS para a retransmissão segura de conectividade de cluster.
Certifique-se de que sua VPC de trânsito e suas sub-redes sejam acessíveis a partir do ambiente do usuário. Crie uma VPC de trânsito que termine sua conexão de gateway do AWS Direct Connect ou VPN ou que seja roteável a partir de sua VPC de trânsito.
Se você ativar o PrivateLink de front-end e back-end, poderá opcionalmente compartilhar o endpoint da VPC do workspace front-end (aplicativo da web) com o endpoint da VPC do workspace de back-end (API REST) se o endpoint da VPC for acessível pela rede a partir das sub-redes do workspace.
Crie um novo grupo de segurança para o endpoint front-end que permita o acesso bidirecional (saída e entrada) HTTPS (porta 443) tanto para a rede de origem quanto para a sub-rede do endpoint.
Passo 2: criar endpoints de VPC
Para o PrivateLink de back-end, crie o endpoint VPC para o relé de conectividade cluster 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:
Acesse a seção endpoints de VPC do Console de gerenciamento da AWS.
No canto superior direito, defina a região como a mesma região do site workspace.
Clique em Criar ponto de extremidade.
Nomeie o site endpoint, incorporando a região e a palavra
workspace
, comodatabricks-us-west-2-workspace-vpce
, para o site workspace VPC endpoint.Em Categoria de serviço, selecione Outro endpoint serviço.
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.
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.
No campo VPC campo, selecione seu workspace VPC.
Na seção Subnets (sub-redes ), selecione exatamente uma de suas sub-redes Databricks workspace .
Na seção Security groups (Grupos de segurança ), selecione o grupo de segurança que criou para as conexões de back-end no passo 1: Configurar objetos de rede AWS .
Em Additional settings (Configurações adicionais), ative a opção Enable DNS name (Ativar nome DNS ).
Clique em Criar terminal.
Repita os passos anteriores para criar o relé de conectividade cluster seguro endpoint. Use a tabela em PrivateLink VPC endpoint serviço para obter o nome do serviço regional para o relé de conectividade seguro cluster. A Databricks recomenda que o senhor inclua a região e a palavra
scc
no nome do endpoint, comodatabricks-us-west-2-scc-vpce
.
Um endpoint de front-end origina-se da sua VPC de trânsito, normalmente servindo como a fonte de acesso do usuário a aplicativos da Web. Normalmente, trata-se de um separado VPC do workspace compute plano do VPC e pode estar conectado a uma on-premises rede . Se o senhor tiver várias contas Databricks, poderá compartilhar um front-end VPC endpoint entre essas contas. registre o endpoint em cada Databricks account relevante.
Para criar o endpoint VPC front-end no console de gerenciamento AWS:
Acesse a seção endpoints de VPC do Console de gerenciamento da AWS.
No canto superior direito, defina a região como a mesma região da VPC de trânsito. Isso pode ser diferente de sua região workspace.
Clique em Criar ponto de extremidade.
Dê um nome para o site endpoint, incluindo a região e a palavra
workspace
oufrontend
, comodatabricks-us-west-2-workspace-vpce
.Em Categoria de serviço, selecione Outro endpoint serviço.
No campo nome do serviço, cole o nome do serviço. Use a tabela no PrivateLink VPC endpoint serviço para encontrar os nomes dos serviços regionais. Copie o rótulo workspace (incluindo REST API).
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 corretamente.
Em VPC, selecione sua VPC de trânsito.
Em Subnets, selecione uma sub-rede.
Na seção Grupos de segurança, selecione o grupo de segurança que criou para as conexões de front-end.
Clique em Criar terminal.
o passo 3: registro de objetos PrivateLink
As informações a seguir usam o console account. O senhor também pode usar a API da conta ou o provedor Terraform da Databricks.
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 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 gerenciando 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 seguro cluster .
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.
o passo 4: Criar ou atualizar o site workspace com objetos PrivateLink
Seu workspace já deve estar usando um VPC gerenciado pelo cliente e uma conectividade cluster segura.
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 Save ainda.
Clique em Configurações avançadas para view campos adicionais.
Para PrivateLink back-end, escolha a configuração de rede. Em cloudsprivadas virtuais, no menu escolha a configuração de rede do Databricks que você criou.
Para qualquer uso do PrivateLink, selecione o objeto de configurações de acesso privado. Veja abaixo o título Link Privado . Clique no menu e escolha o nome do objeto de configurações de acesso privado que você criou.
Clique em Salvar.
Depois de criar (ou atualizar) um workspace, aguarde até que ele esteja disponível para uso ou criação de clusters. O status workspace permanece no status
RUNNING
e a alteração da VPC ocorre imediatamente. No entanto, você não poderá usar ou criar clusters por mais 20 minutos. Se você criar ou usar clusters antes que esse intervalo de tempo decorra, os clusters não serão iniciados com êxito, falharão ou poderão causar outro comportamento inesperado.
o passo 5: configurar o DNS interno para redirecionar as solicitações dos usuários para o aplicativo da Web (front-end)
Para direcionar as solicitações dos usuários para a conexão PrivateLink do front-end, altere o DNS privado da rede à qual os 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 seu DNS interno de forma que ele mapeie o URL workspace do aplicativo Web para seu VPC endpoint front-end.
Use a ferramenta de linha de comando nslookup
Unix para testar a resolução DNS usando o nome de domínio implantado do seu workspace , por exemplo:
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 VPC endpoint front-end na região da AWS us-east-1
:
Por default o mapeamento DNS é:
myworkspace.cloud.databricks.com
mapeia paranvirginia.privatelink.cloud.databricks.com
. Neste caso,nvirginia
é o nome abreviado da instância do plano de controle naquela região.nvirginia.privatelink.cloud.databricks.com
mapeia paranvirginia.cloud.databricks.com
.nvirginia.cloud.databricks.com
mapeia para os IPs públicos da AWS.
Após as alterações de DNS, na VPC de trânsito (onde está o VPC endpoint front-end), o mapeamento de DNS seria:
myworkspace.cloud.databricks.com
mapeia paranvirginia.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 do workspace seja mapeado para o IP privado do VPC endpoint da rede local, você deve seguir um destes procedimentos:
Configure o encaminhamento condicional para o URL workspace para usar AmazonDNS.
Crie um registro A para o URL workspace em seu DNS local ou interno que mapeie para o IP privado do endpoint da VPC.
Conclua passos semelhantes às que você faria para permitir o acesso a outros serviços habilitados para PrivateLink semelhantes.
Você pode optar por mapear o URL workspace diretamente para o IP privado do VPC endpoint de front-end (workspace) criando um registro A em seu DNS interno, de modo que o mapeamento de DNS tenha a seguinte aparência:
myworkspace.cloud.databricks.com
mapeia para o IP privado do endpoint da VPC
Depois de fazer alterações na configuração do DNS interno, teste a configuração acessando o aplicativo da Web Databricks workspace e a API REST a partir da VPC de trânsito. Crie um endpoint de VPC na VPC de trânsito, se necessário, para testar a configuração.
Se o senhor não tiver configurado o registro DNS no seu domínio DNS privado, poderá ver 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>clouds<nome da implantação> .databricks.com |
IP da interface PrivateLink |
CNAME |
dbc-dp-<workspace-id>clouds.databricks.com |
<deployment-name>clouds<nome da implantação> .databricks.com |
Se tiver dúvidas sobre como isto se aplica à sua arquitetura de rede, contacte a sua equipa account Databricks.
o passo 6: (Opcional) Configurar o PrivateLink front-end com login unificado
Visualização
O login unificado com o PrivateLink de front-end está em visualização privada. O senhor deve entrar em contato com a equipe do Databricks account para solicitar acesso a essa visualização.
Para usar o login unificado com o PrivateLink front-end, os usuários precisam acessar o console account a partir do trânsito VPC. Se o seu trânsito VPC não permitir o acesso à Internet pública, o senhor deverá seguir os passos abaixo para configurar o provedor de identidade e o trânsito VPC para oferecer suporte ao login unificado. Se a sua VPC de trânsito permitir acesso à Internet pública, isso não será necessário.
O login unificado permite que o senhor gerencie uma configuração SSO em seu account que é usada para o espaço de trabalho account e Databricks. Consulte Ativar login unificado. Para usar o login unificado com o PrivateLink de front-end, o senhor deve configurar o seguinte:
o passo 6a: Autorize o URI de redirecionamento do PrivateLink em seu provedor de identidade
account Comolog in account administrador do , acesse o console em .
Na barra lateral, clique em Settings (Configurações).
Clique em Authentication (Autenticação) tab.
Ao lado de Authentication (Autenticação), clique em gerenciar.
Escolha Single sign-on com meu provedor de identidade.
Clique em "Continuar".
Copie o valor no campo Databricks Redirect URL.
Substitua o
accounts
poraccounts-pl-auth
para obter o URI de redirecionamento do Databricks PrivateLink.Acesse seu provedor de identidade.
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.
o passo 6b: Configure uma zona hospedada privada para seu trânsito VPC
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.
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 no passo 5: Configure o DNS interno para redirecionar as solicitações dos usuários para o aplicativo da Web (front-end).Copie o URL da instância do plano de controle do seu link privado workspace. O URL da instância do plano de controle está no formato
<region>.privatelink.cloud.databricks.com
.Em sua VPC de trânsito, crie uma zona hospedada privada com o nome de domínio
privatelink.cloud.databricks.com
.Adicione um registro CNAME que resolva
accounts-pl-auth.privatelink.cloud.databricks.com
para o URL da instância do plano de controle.Teste a configuração acessando o URI de redirecionamento do Databricks PrivateLink a partir de sua VPC de trânsito.
o passo 7: Adicionar o endpoint VPC para outro serviço AWS
Para casos de uso típicos, os seguintes pontos de extremidade de VPC são necessários para que os clusters e outros compute recursos no plano compute clássico possam se conectar ao serviço nativo da AWS:
Gateway S3 VPC endpoint: Anexe isso somente à tabela de rotas que está anexada às suas sub-redes workspace. Se o senhor estiver usando a sub-rede separada recomendada com sua própria tabela de rotas para o endpoint VPC de back-end, o S3 VPC endpoint não precisará ser anexado a essa tabela de rotas específica. Consulte este artigo do AWS sobre o endpoint do gateway S3.
Interface STS VPC endpoint: Crie-a em todas as sub-redes workspace e anexe-a ao grupo de segurança workspace. Não crie isso na sub-rede do ponto de extremidade VPC de back-end. Consulte esta seção do AWS sobre endpoints de interface STS e este artigo geral sobre endpoints de interface.
Kinesis VPC interface endpoint: Crie a interface Kinesis VPC endpoint em todas as sub-redes workspace e anexe-a ao grupo de segurança workspace, semelhante à interface STS VPC endpoint. Para obter mais informações, consulte este AWS artigos about Kinesis interface endpoint e este artigos gerais sobre interface endpoint.