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:
- 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 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.
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.
-
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 sua VPC tenha os nomes de 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 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.
- 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:
-
Defina as configurações necessárias para o PrivateLink de back-end, o PrivateLink de front-end ou ambos:
- Back-end PrivateLink
- Front-end PrivateLink
-
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.
-
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.
-
-
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.
Etapa 2: Criar o endpoint VPC
- Back-end PrivateLink
- Front-end PrivateLink
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:
-
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 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.
-
Em Configurações adicionais , ative a opção Ativar nome DNS .
-
Clique em Criar terminal .
-
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, 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 rede local. 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 ao 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 espaço de trabalho de um rótulo (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 Sub-redes , selecione uma sub-rede.
- Na seção Grupos de segurança , selecione o grupo de segurança que você criou para conexões front-end.
- Clique em Criar terminal .
Etapa 3: registrar objetos do PrivateLink
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.
Etapa 4: Crie ou atualize seu site workspace com objetos PrivateLink
Seu workspace já deve estar usando um VPC gerenciado pelo cliente e uma conectividade segura de clustering.
- 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.
- Clique em Advanced configurations (Configurações avançadas ) para view campos adicionais.
- 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.
- 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.
- Clique em Salvar .
- 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:
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 paranvirginia.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 paranvirginia.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 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 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 .
Etapa 6: (Opcional) Configurar o PrivateLink de front-end com login unificado
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.
Etapa 6a: Autorizar o URI de redirecionamento do PrivateLink em seu provedor de identidade
-
Como administrador da conta, faça login no console da conta.
-
Na barra lateral, clique em Configurações .
-
Clique em Authentication (Autenticação ) tab.
-
Ao lado de Authentication (Autenticação ), clique em gerenciar .
-
Escolha Login único com meu provedor de identidade .
-
Clique em "Continuar" .
-
Copie o valor no campo Databricks Redirect URL .
-
Substitua
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.
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.
- 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). - 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
. - 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
ao URL da instância do seu plano de controle. - 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:
- S3 VPC gateway endpoint : Anexe isso apenas à 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 back-end VPC, então o S3 VPC endpoint não precisa ser anexado a essa tabela de rotas específica. Veja este AWS artigos sobre o endpoint do gateway S3.
- STS VPC interface endpoint : Crie essa interface em todas as sub-redes workspace e anexe-a ao grupo de segurança workspace. Consulte esta seção do site AWS sobre o endpoint da interface STS e este artigo geral sobre o endpoint da 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.
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.