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.
A região us-west-1
não oferece suporte ao PrivateLink.
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
-
Create and configure an extra VPC subnet (optional):
- For your VPC endpoints, including back-end PrivateLink VPC endpoints and also any optional VPC endpoints to other AWS services, you can create them in any of your workspace subnets as long as the network can route to the VPC endpoints.
- Attach a separate route table to your VPC endpoints subnet, distinct from the route table for your workspace subnets. This route table should have only a single default route for the local VPC.
-
Create and configure an extra security group (recommended but optional):
-
In addition to the standard security group required for a workspace, create a separate security group that permits HTTPS/443 and TCP/6666 bidirectional (outbound and inbound) access to both the workspace subnets and the separate VPC endpoints subnet, if you have one. This setup facilitates access for both REST APIs (port 443) and secure cluster connectivity (6666), simplifying security group management.
If your workspace uses the compliance security profile, you must also allow bidirectional (outbound and inbound) access to port 2443 to support FIPS endpoints for the secure cluster connectivity relay.
-
-
Ensure your transit VPC and its subnets are accessible from the user environment. Create a transit VPC that either terminates your AWS Direct Connect or VPN gateway connection or is routable from your transit VPC.
If you enable both front-end and back-end PrivateLink, you can optionally share the front-end workspace (web application) VPC endpoint with the back-end workspace (REST API) VPC endpoint if the VPC endpoint is network accessible from the workspace subnets.
-
Create a new security group for the front-end endpoint that allows HTTPS (port 443) bidirectional (outbound and inbound) access for both the source network and the endpoint subnet.
Etapa 2: Criar o endpoint VPC
- Back-end PrivateLink
- Front-end PrivateLink
For back-end PrivateLink, create VPC endpoints for the secure cluster connectivity relay and for the workspace, enabling compute plane calls to Databricks REST APIs. For guidance on managing VPC endpoints with the AWS Management Console, see the AWS article Create VPC endpoints in the AWS Management Console. You can share back-end VPC endpoints across multiple workspaces that use the same customer-managed VPC.
To create back-end VPC endpoints in the AWS Management Console:
-
Go to the VPC endpoints section of the AWS Management Console.
-
In the upper right, set the region to the same region as your workspace.
-
Click Create Endpoint.
-
Name the endpoint, incorporating the region and the word
workspace
, such asdatabricks-us-west-2-workspace-vpce
, for the workspace VPC endpoint. -
Under Service Category, select Other endpoint services.
-
In the service name field, paste in the service name. Get your region’s VPC endpoint service domains from the table in PrivateLink VPC endpoint services.
For your first VPC endpoint that you create, copy the regional service name for the workspace.
-
Click Verify service and ensure the page shows Service name verified in a green box. If you encounter an error stating “Service name could not be verified”, check that the regions of your VPC, subnets, and new VPC endpoint match.
-
In the VPC field, select your workspace VPC.
-
In the Subnets section, select exactly one of your Databricks workspace subnets.
-
In the Security groups section, select the security group you created for back-end connections in Step 1: Configure AWS network objects.
-
Under Additional settings, turn on the Enable DNS name option.
-
Click Create endpoint.
-
Repeat the previous steps to create the secure cluster connectivity relay endpoint. Use the table in PrivateLink VPC endpoint services to get the regional service name for the secure cluster connectivity relay. Databricks recommends that you include the region and the word
scc
in the endpoint name, such asdatabricks-us-west-2-scc-vpce
.
A front-end endpoint originates from your transit VPC, typically serving as the source for user web application access. This is usually a separate VPC from the workspace’s compute plane VPC and may be connected to an on-premises network. If you have multiple Databricks accounts, you can share a front-end VPC endpoint across these accounts. Register the endpoint in each relevant Databricks account.
To create front-end VPC endpoints in the AWS Management Console:
- Go to the VPC endpoints section of the AWS Management Console.
- In the upper right, set the region to the same region as your transit VPC region. This can be different than your workspace region.
- Click Create Endpoint.
- Name the endpoint, including the region and either the word
workspace
orfrontend
, such asdatabricks-us-west-2-workspace-vpce
. - Under Service Category, select Other endpoint services.
- In the service name field, paste in the service name. Use the table in PrivateLink VPC endpoint services to find the regional service names. Copy the one labeled Workspace (including REST API).
- Click Verify service and ensure the page shows Service name verified in a green box. If you encounter an error stating “Service name could not be verified”, check that the regions of your VPC, subnets, and new VPC endpoint are correctly matched.
- In VPC, select your transit VPC.
- In Subnets, select a subnet.
- In the Security groups section, select the security group you created for front-end connections.
- Click Create endpoint.
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, os seguintes endpoints VPC são necessários para que o clustering e outros compute recursos no plano clássico compute possam se conectar ao serviço nativo 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. Não crie isso na sub-rede do endpoint back-end VPC. 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.