Habilitar AWS PrivateLink
Este artigo explica como usar o AWS PrivateLink para habilitar a conectividade privada entre os usuários e seu espaço de trabalho do Databricks e entre os clusters no plano clássico compute e o serviço principal no plano de controle dentro da infraestrutura do Databricks workspace.
Visão geral
O AWS PrivateLink fornece conectividade privada de VPCs da AWS e redes on-premises para o serviço da AWS sem expor o tráfego à rede pública. O espaço de trabalho do Databricks suporta conexões PrivateLink para dois tipos de conexão:
Front-end (usuário para workspace): uma conexão PrivateLink front-end permite que os usuários se conectem ao aplicativo Web Databricks, API REST e API Databricks Connect por meio de um ponto de extremidade de interface VPC.
Back-end (planocompute para plano de controle): clusters de tempo de execução do Databricks em uma VPC gerenciada pelo cliente (o compute plano) conectam-se ao workspaceserviço principal de um do Databricks (o plano de controle) na do clouds account Databricks. Os clusters se conectam ao plano de controle para dois destinos: APIs REST (como a API Secrets) e a retransmissão segura de conectividade do cluster . Este tipo de conexão PrivateLink envolve dois endpoint de interface VPC diferentes devido aos dois serviços de destino diferentes.
Você pode implementar conexões PrivateLink front-end e back-end ou apenas uma delas. Este artigo discute como configurar um ou ambos os tipos de conexão PrivateLink. Se você implementar o PrivateLink para as conexões front-end e back-end, opcionalmente, poderá exigir conectividade privada para o workspace, o que significa que o Databricks rejeita qualquer conexão pela rede pública. Se você recusar a implementação de qualquer um desses tipos de conexão, não poderá impor esse requisito.
Para habilitar as conexões PrivateLink, você deve criar objetos de configuração do Databricks e adicionar novos campos aos objetos de configuração existentes.
Para criar objetos de configuração e criar (ou atualizar) um workspace, este artigo descreve como usar o console da conta ou usar a API da conta.
A tabela a seguir descreve uma terminologia importante.
Terminologia |
Descrição |
---|---|
AWS PrivateLink |
Uma tecnologia da AWS que oferece conectividade privada de VPCs da AWS e redes locais para serviços da AWS sem expor o tráfego à rede pública. |
Link privado front-end |
A conexão PrivateLink para os usuários se conectarem ao aplicativo Web Databricks, API REST e API Databricks Connect. |
Link privado de back-end |
A conexão PrivateLink para o planocompute em sua account da AWS para se conectar ao plano de controle do Databricks). |
Serviço de endpoint da VPC da AWS |
Um serviço de endpoint de VPC da AWS é um serviço baseado em PrivateLink. Cada plano de controle do Databricks (normalmente um por região) publica dois serviços de endpoint de VPC da AWS para PrivateLink. O serviço de ponto de extremidade da VPC do workspace aplica-se a uma conexão PrivateLink de front-end do Databricks ou à conexão PrivateLink de back-end do Databricks para APIs REST. O Databricks publica outro serviço de endpoint de VPC para sua retransmissão de conectividade de cluster segura. |
Endpoint da VPC da AWS |
Um endpoint de interface de VPC da AWS permite conexões privadas entre seus serviços de VPC e endpoint de VPC desenvolvidos pelo PrivateLink da AWS. Você deve criar endpoints de interface de VPC da AWS e, em seguida, registrá-los com o Databricks. O registro de um endpoint de VPC cria um objeto específico do Databricks chamado registro de endpoint de VPC que faz referência ao endpoint de VPC da AWS. |
Configuração de rede no Databricks |
Um objeto Databricks que descreve as informações importantes sobre uma configuração de VPC gerenciada pelo cliente. Se você implementar qualquer conexão PrivateLink (front-end ou back-end), seu workspace deverá usar uma VPC gerenciada pelo cliente. Somente para suporte de back-end do PrivateLink, sua configuração de rede precisa de uma propriedade extra que identifique o VPC endpoint para a conexão de back-end. |
Objeto de configurações de acesso privado do Databricks |
Um objeto do Databricks que descreve a conectividade PrivateLink de um workspace. Você deve anexar um objeto de configurações de acesso privado ao workspace durante a criação do workspace, seja com front-end, back-end ou ambos. Ele expressa sua intenção de usar o AWS PrivateLink com seu workspace. Ele controla suas configurações para o caso de uso de front-end do AWS PrivateLink para acesso à rede pública. Ele controla quais endpoints de VPC têm permissão para acessar seu workspace. |
Objeto de configuração do Databricks workspace |
Um objeto do Databricks que descreve um workspace. Para habilitar o PrivateLink, esse objeto deve fazer referência ao objeto de configurações de acesso privado do Databricks. Para PrivateLink de back-end, o workspace também deve ter um objeto de configuração de rede Databricks com dois campos extras que especificam quais registros de ponto de extremidade VPC usar, um para o relé de conectividade segura do cluster do plano de controle e o outro se conecta ao workspace para acessar APIs REST. |
Atualizações de objetos de configuração do PrivateLink existentes
Este artigo concentra-se nos dois principais casos de uso da criação de um novo workspace ou da habilitação do PrivateLink em um workspace. Você também pode fazer outras alterações de configuração em objetos relacionados usando a interface do usuário ou a API:
Você pode ativar o suporte do PrivateLink para front-end, back-end ou ambos os tipos de conectividade em um workspace novo ou existente. Adicione um objeto de configurações de acesso privado (UI ou API). Para fazer isso, crie uma nova configuração de rede com novas configurações, por exemplo, para uma nova VPC ou configurações de suporte do PrivateLink diferentes e, em seguida, atualize o workspace para usar a nova configuração de rede. Observe que você não pode remover (downgrade) qualquer suporte existente de front-end ou back-end do PrivateLink em um workspace.
Adicione ou atualize o VPC endpoint registrado de um espaço de trabalho criando um novo objeto de configuração de rede com o VPC endpoint registrado e, em seguida, atualize a configuração de rede do espaço de trabalho (UI ou API).
Para obter mais informações sobre quais tipos de campos de espaço de trabalho podem ser alterados em espaços de trabalho com falha ou em execução, consulte informações sobre esta tarefa usando a UI ou API.
Observe que nem todos os objetos relacionados podem ser atualizados. Onde a atualização não for possível, crie novos objetos e defina seus objetos pais para referenciar os novos objetos. As regras a seguir se aplicam à IU do console da conta e à API da conta:
Objeto |
Pode ser criado |
Pode ser atualizado |
---|---|---|
Configurações do workspace |
Sim |
Sim |
Configurações de acesso privado |
Sim |
Sim |
Configurações de rede |
Sim |
Não |
Registros de endpoint de VPC |
Sim |
Não |
Para atualizar os intervalos CIDR em uma VPC existente, consulte Atualizando CIDRs.
Requisitos
contaDatabricks
Sua conta do Databricks está no nível de preço Enterprise.
Você tem sua ID de conta do Databricks. Obtenha o ID da sua conta no console da conta.
Espaço de trabalho do Databricks
Seu Databricks workspace deve usar Configurar uma VPC gerenciada pelo cliente para adicionar qualquer conexão PrivateLink (mesmo uma conexão somente front-end). Observe que você não pode atualizar um workspace existente com uma VPC gerenciada pelo Databricks e alterá-lo para usar uma VPC gerenciada pelo cliente.
Se o senhor implementar a conexão PrivateLink de back-end, o site Databricks workspace deverá usar a conectividade Secure cluster . Para adicionar o PrivateLink de back-end a um workspace existente mais antigo que não use a conectividade segura cluster, entre em contato com a equipe Databricks account .
Observação
A região us-west-1
não é compatível com PrivateLink.
Para usar o PrivateLink com workspace habilitado para login unificado, entre em contato com a equipe da sua conta do Databricks.
Permissões da conta da AWS
Se você é o usuário que configura o PrivateLink, deverá ter todas as permissões necessárias da AWS para provisionar um Databricks workspace e para provisionar novos endpoints de VPC para seu workspace.
Arquitetura de rede
Para implementar a conexão front-end de PrivateLink para acessar o workspace de sua rede local, adicione conectividade privada da rede local a uma VPC da AWS com Direct Connect ou VPN.
Para obter orientação para outros objetos de rede, consulte Passo 1: configurar objetos de rede da AWS.
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.
Para configurar uma VPC, sub-redes e grupos de segurança:
Configure uma VPC para seu workspace, caso ainda não tenha feito isso. Você pode reutilizar uma VPC de outro workspace, mas deve criar sub-redes separadas para cada workspace. Cada workspace exige pelo menos duas sub-redes privadas.
Para criar uma VPC, consulte Configurar uma VPC gerenciada pelo cliente. Se você estiver atualizando um workspace para o PrivateLink em vez de criar um novo workspace, observe que o workspace já deve estar usando uma VPC gerenciada pelo cliente.
Em sua VPC, habilite ambas as configurações de nomes de host DNS e resolução de DNS.
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 a 8451: Extensibilidade futura. Certifique-se de que essas portas estejam abertas até 31 de janeiro de 2024.
Importante
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.
Para PrivateLink de back-end:
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 roteamento separada à sua sub-rede de endpoints de VPC, que seria diferente da tabela de roteamento anexada às suas sub-redes de workspace. A tabela de roteamento para sua sub-rede de endpoints de VPC precisa apenas de uma única rota padrão para a VPC local.
Crie e configure um security group extra (recomendado, mas opcional):
Além do grupo de segurança normalmente necessário para um workspace, crie um grupo de segurança separado que permita acesso bidirecional HTTPS/443 e TCP/6666 (saída e entrada) às sub-redes do workspace, bem como à sub-rede endpoints de VPC separada, se você criou uma. Essa configuração permite acesso ao workspace para APIs REST (porta 443) e para conectividade de cluster segura (6666). Isso facilita o compartilhamento do grupo de segurança para ambas as finalidades.
Importante
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.
Para PrivateLink de front-end:
Para sua VPC de trânsito e suas sub-redes, verifique se podem ser acessadas no ambiente do usuário. Crie uma VPC de trânsito que encerre sua conexão de gateway AWS Direct Connect ou VPN ou uma que seja roteável a partir da 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 de front-end. O grupo de segurança deve permitir acesso bidirecional HTTPS (porta 443) (saída e entrada) para a rede de origem e a própria sub-rede do terminal.
Passo 2: criar endpoints de VPC
Endpoints de VPC de back-end
Para o PrivateLink de back-end, você cria dois endpoint VPC. Um deles é para a retransmissão de conectividade clusters seguros . Uma é para o workspace, que permite chamadas de plano compute para APIs REST do Databricks. Para obter documentação geral sobre o gerenciamento de VPC endpoint com o AWS Management Console, consulte os artigos da AWS Criar VPC endpoint no AWS Management Console. Ao criar o VPC endpoint, é importante definir o campo em Configurações adicionais que na página do AWS Management Console para criação do VPC endpoint é chamado Enable DNS name. Como observação terminológica, este é o mesmo campo ao qual a AWS se refere em alguns lugares como Habilitar DNS privado ou Habilitar DNS privado neste endpoint ao visualizar ou editar um endpoint VPC.
Para obter ferramentas que ajudem a automatizar a criação e o gerenciamento de endpoints de VPC, consulte os artigos da AWS CloudFormation: Creating VPC Endpoint e AWS CLI: create-vpc-endpoint.
Você pode compartilhar os endpoints de VPC de back-end em vários workspaces que usam o mesmo VPC gerenciado pelo cliente. Se você compartilha os endpoints de VPC de back-end em vários workspaces, depende das práticas recomendadas de arquitetura da AWS da sua organização e dos requisitos gerais de taxa de transferência em todas as cargas de trabalho.
Se você decidir compartilhá-los entre workspace, deverá criar o VPC endpoint de back-end em uma sub-rede separada que seja roteável a partir das sub-redes de todo o workspace. Para obter orientação, entre em contato com sua equipe account do Databricks.
Você também pode compartilhar endpoints de VPC entre workspaces de várias contas do Databricks, desde que os workspaces compartilhem o mesmo VPC gerenciado pelo cliente, caso em que você precisa registrar os endpoints de VPC em cada conta do Databricks.
O procedimento a seguir usa o Console de gerenciamento da AWS. Você também pode automatizar essa passo usando o provedor Terraform para endpoints de VPC.
Para criar os endpoints de VPC de back-end no Console de gerenciamento da AWS:
Acesse a seção endpoints de VPC do Console de gerenciamento da AWS.
Use o seletor de região no canto superior direito ao lado do seletor de nome de conta e confirme se está usando a região que corresponde à região que você usará para seu workspace. Se necessário, altere a região usando o seletor de região.
Crie o endpoint de VPC:
Clique em Criar ponto de extremidade.
Dê ao endpoint um nome que indique a região e a finalidade do endpoint de VPC. Para o endpoint de VPC do workspace, a Databricks recomenda que você inclua a região e a palavra
workspace
, comodatabricks-us-west-2-workspace-vpce
.Em Service Category, escolha Other endpoint services.
No campo de nome do serviço, cole o nome do serviço. Use a tabela em Referência de endpoint regional para obter os dois nomes de serviço regional para sua região.
Para o primeiro endpoint de VPC que você criar, copie o nome do serviço regional para o workspace (API REST).
Clique em Verificar serviço. Confirme os relatórios da página em uma caixa verde Nome do serviço verificado. Se você vir um erro "Nome do serviço não pôde ser verificado", verifique se você correspondeu corretamente às regiões de sua VPC, sub-redes e seu novo endpoint de VPC.
No campo VPC, selecione seu VPC. Escolha sua VPC de workspace.
Na seção Subnets, escolha exatamente uma de suas sub-redes de workspace do Databricks. Para ver discussão relacionada, consulte Etapa 1: configurar objetos de rede da AWS.
Na seção Security groups, escolha o security group que você criou para conexões de back-end em Step 1: Configure AWS network objects.
Clique para expandir a seção Configurações adicionais.
É importante que o ponto de extremidade tenha o campo Ativar nome DNS ativado. Como observação de terminologia, esse é o mesmo campo ao qual a AWS em alguns lugares se refere como Ativar DNS privado ou Ativar DNS privado neste endpoint na consulta ou edição de um endpoint de VPC.
Clique em Criar terminal.
Repita o procedimento acima e use a tabela em Referência de endpoint regional para obter o nome do serviço regional para a retransmissão de conectividade segura do cluster. Dê ao endpoint um nome que indique a região e a finalidade do endpoint de VPC. A Databricks recomenda que você inclua a região e a palavra
scc
, comodatabricks-us-west-2-scc-vpce
.
Endpoints de VPC de front-end
Um endpoint front-end se origina em sua VPC de trânsito que geralmente é a origem do acesso do aplicativo Web do usuário. Normalmente é uma VPC de trânsito conectada a uma rede local. Geralmente, esse é um VPC separado workspacedo compute VPC do plano do . Embora o serviço de endpoint VPC do Databricks seja o mesmo serviço compartilhado para a conexão de front-end e a conexão de API REST de back-end, em implementações típicas, as conexões se originam de duas VPCs separadas e, portanto, precisam de endpoints de VPC da AWS separados originados em cada VPC.
Se você tiver várias contas do Databricks, poderá compartilhar um endpoint de VPC front-end entre as contas do Databricks. Registre o ponto de extremidade em cada conta Databricks correspondente.
O procedimento a seguir usa o Console de gerenciamento da AWS. Você também pode automatizar essa passo usando o provedor Terraform para endpoints de VPC.
Para criar os endpoints de VPC de front-end no Console de gerenciamento da AWS:
Acesse a seção endpoints de VPC do Console de gerenciamento da AWS.
Use o seletor de região no canto superior direito ao lado do seletor de nome da conta e confirme se está usando a região que corresponde à região VPC de trânsito, que em alguns casos pode ser diferente da região do seu workspace. Se necessário, altere a região com o seletor de região.
Crie o endpoint de VPC:
Clique em Criar ponto de extremidade.
Dê ao endpoint um nome que indique a região e a finalidade do endpoint de VPC. Para o endpoint de VPC do workspace, a Databricks recomenda que você inclua a região e a palavra
workspace
oufrontend
, comodatabricks-us-west-2-workspace-vpce
.Em Service Category, escolha Other endpoint services.
No campo de nome do serviço, cole o nome do serviço. Use a tabela disponível em Referência de endpoint regional para localizar os nomes de serviço regionais. Copie o denominado Workspace (incluindo REST API).
Clique em Verificar serviço. Confirme os relatórios da página em uma caixa verde Nome do serviço verificado. Se você vir um erro "Nome do serviço não pôde ser verificado", verifique se você correspondeu corretamente às regiões de sua VPC, sub-redes e seu novo endpoint de VPC.
No menu VPC, clique em seu VPC de trânsito.
Na seção Sub-redes, escolha uma sub-rede. Para ver discussão relacionada, consulte Etapa 1: configurar objetos de rede da AWS.
Na seção Security groups, escolha o security group que você criou para conexões de front-end em Step 1: Configure AWS network objects.
Clique em Criar terminal.
Referência de endpoint regional
Consulte os domínios de serviço de endpoint de VPC da sua região na tabela em PrivateLink endpoint de VPC services.
Observação
Se você usar o console da conta para criar sua configuração de rede, a interface do usuário fará referência ao endpoint de VPC do workspace como o endpoint de VPC para APIs REST.
Passo 3: Registrar objetos PrivateLink e anexá-los a um workspace
O senhor pode fazer isso das seguintes maneiras:
Usar o console da conta
Você pode usar o console da conta para registrar seus endpoints de VPC, criar e registrar outros recursos de workspace necessários e finalmente criar um novo workspace com PrivateLink.
No console da conta, vários tipos de objetos são relevantes para a configuração do PrivateLink:
Registros de endpoint VPC (obrigatórios para front-end, back-end ou ambos): Depois de criar endpoints VPC no AWS Management Console (veja o passo anterior), registre-os no Databricks para criar registros de endpoint VPC. Consulte a página do consoleaccount para VPC endpoint.
Configurações de rede (obrigatórias para VPC endpoint de back-end): As configurações de rede representam informações sobre um VPC gerenciado pelo cliente. Eles também contêm dois campos de configuração do PrivateLink de back-end. Adicione esses dois campos no objeto de configuração de rede. Eles devem fazer referência aos dois VPC endpoint de back-end que você criou na AWS. Consulte a página do consoleaccount para configurações de rede. Se você tiver uma configuração de rede existente e quiser adicionar campos para PrivateLink, deverá criar uma nova configuração de rede.
Configurações de acesso privado (necessárias para front-end, back-end ou ambos): o objeto de configuração de acesso privado de workspaceencapsula algumas configurações sobre a conectividade do AWS PrivateLink. Crie um novo objeto de configurações de acesso privado apenas para este workspace ou compartilhe um entre vários workspace na mesma região da AWS. Este objeto serve a vários propósitos. Ele expressa sua intenção de usar o AWS PrivateLink com seu workspace. Ele controla suas configurações para o caso de uso de front-end do AWS PrivateLink para acesso à rede pública. Ele controla quais VPC endpoint têm permissão para acessar seu workspace.
Existem duas maneiras de usar o console account para definir recursos clouds para um espaço de trabalho.
Crie recursos com antecedência: você pode criar recursos de nuvem relevantes antes de criar seu workspace na área de recursos de nuvem do console de conta. Isso é útil se você não conseguir executar todas as passos ao mesmo tempo ou se diferentes equipes realizarem a configuração da rede e criarem workspace.
Dentro da página de criação workspace , adicione configurações conforme necessário: Na página que cria (ou atualiza) um workspace, existem seletores para diferentes recursos clouds . Na maioria dos casos, existem itens de seleção que permitem criar esse recurso imediatamente em uma view pop-up. Por exemplo, um seletor de configuração de rede tem uma opção Adicionar uma nova configuração de rede.
Este artigo descreve como criar recursos antecipadamente e depois referenciá-los. Você pode usar a outra abordagem se funcionar melhor para você. Consulte os editores para VPC endpoint, configurações de rede e configurações de acesso privado.
Passo 3a: Registre seus VPC endpoints (para front-end, back-end ou ambos)
Siga as instruções em Gerenciar registros de endpoints de VPC.
Para PrivateLink de back-end, registre os VPC endpoints de back-end que você criou e nomeie as configurações para suas finalidades, por exemplo, adicione
-scc
para conectividade segura clusters e-workspace
para o registro de VPC endpoint do workspace (API REST). Para VPC endpoints de back-end, o campo region deve corresponder à região do seu workspace e à região dos VPC endpoints da AWS que você está registrando. No entanto, Databricks valida isso apenas durante a criação workspace (ou durante a atualização de um workspace com PrivateLink), por isso é fundamental que você defina cuidadosamente a região nesta passo.Para o PrivateLink front-end, registre o VPC endpoint front-end que você criou na VPC de trânsito. Para o PrivateLink de front-end, o campo de região deve corresponder à região da VPC de trânsito e à região do AWS VPC endpoint do workspace para a conexão de front-end.
Passo 3b: Criar uma configuração de rede (para back-end)
Siga as instruções em Criar configurações de rede para implantação de VPC personalizada. Para obter requisitos detalhados para VPC gerenciada pelo cliente, juntamente com suas sub-redes e grupos de segurança associados, consulte Configurar uma VPC gerenciada pelo cliente. Os campos mais importantes do PrivateLink estão sob o título Conectividade privada de back-end. Existem dois campos onde você escolhe os registros do VPC endpoint de back-end que você criou na etapa anterior. Para o primeiro, selecione o registro do VPC endpoint para a retransmissão de conectividade clusters seguros. Para o outro, escolha o registro do VPC endpoint para o workspace (APIs REST).
Passo 3c: Criar um objeto PAS (para front-end, back-end ou ambos)
A criação de um objeto de configurações de acesso privado (PAS) é uma passo importante para a configuração do PrivateLink. Siga as instruções em gerenciar configurações de acesso privado.
Para a região, certifique-se de que corresponde à região do seu workspace , pois isto não é validado imediatamente, mas a implementação workspace falhará se não corresponder.
Defina o campo Acesso público ativado, que configura o acesso público à conexão front-end (o aplicativo da web e APIs REST) para seu workspace.
Se definido como False (o default), a conexão front-end poderá ser acessada somente usando a conectividade PrivateLink e não pela Internet pública. Como o acesso da rede pública não é permitido neste caso, o recurso Configurar listas de acesso IP para espaços de trabalho não é suportado para o espaço de trabalho.
Se definido como True, a conexão front-end poderá ser acessada pela conectividade PrivateLink ou pela Internet pública. Opcionalmente, você pode configurar uma lista de acesso IP para o workspace para restringir as redes de origem que podem acessar o aplicativo Web e as APIs REST da Internet pública (mas não a conexão PrivateLink).
Defina o campo Nível de acesso privado para o valor que melhor representa quais endpoints VPC permitir para seu workspace.
Defina como Account para limitar as conexões aos endpoints VPC registrados em sua Databricks account.
Defina como Endpoint para limitar as conexões a um conjunto explícito de VPC endpoints, que você pode inserir em um campo exibido. Ele permite selecionar registros de VPC endpoints que você já criou. Certifique-se de incluir seu registro de VPC endpoints de front-end , caso tenha criado um.
Passo 3d: Crie ou atualize o espaço de trabalho (front-end, back-end ou ambos)
O workspace já deve usar uma VPC gerenciada pelo cliente e a conectividade segura clusters deve estar habilitada, o que é o caso da maioria dos workspace E2.
As instruções a seguir descrevem a criação de um workspace usando a account workspace página do console da.
Siga as instruções em Criar manualmente um espaço de trabalho ( account existente do Databricks) para criar um espaço de trabalho. Consulte esses artigos para obter orientação sobre campos workspace , como URL workspace , região, Unity Catalog, configurações de credenciais e configurações de armazenamento. Ainda não clique no botão Salvar .
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.Continue para a etapa 4: Configurar DNS interno para redirecionar solicitações de usuários para a aplicação web (para front-end).
Use a API da conta
Passo 3a: Registro VPC endpoints (front-end, back-end ou ambos)
Usando a API da conta, registre os IDs de VPC endpoint para seus VPC endpoints de back-end. Para cada um, isso cria um registro de endpoint VPC do Databricks.
Para o VPC endpoint de back-end, se você tiver vários workspace na mesma região que compartilham a mesma VPC gerenciada pelo cliente, poderá optar por compartilhar o AWS VPC endpoint. Você também pode compartilhar esses endpoint VPC entre várias account do Databricks; nesse caso, registre o endpoint AWS VPC em cada account do Databricks.
Para endpoint VPC front-end, se você tiver várias account do Databricks, poderá compartilhar um endpoint VPC front-end na account do Databricks. registrar o endpoint em cada account relevante do Databricks.
Para registrar um endpoint VPC no Databricks, faça uma solicitação POST
para o endpoint da API REST /accounts/<account-id>/vpc-endpoints
e passe os seguintes campos no corpo da solicitação:
vpc_endpoint_name
: nome visível ao usuário para o registro do endpoint VPC no Databricks.region
: nome da região AWSaws_vpc_endpoint_id
: o ID do seu VPC endpoint na AWS. Começa com o prefixovpce-
.
Por exemplo:
curl -X POST -n \
'https://accounts.cloud.databricks.com/api/2.0/accounts/<account-id>/vpc-endpoints' \
-d '{
"vpc_endpoint_name": "Databricks front-end endpoint",
"region": "us-west-2",
"aws_vpc_endpoint_id": "<vpce-id>"
}'
O JSON de resposta inclui um campo vpc_endpoint_id
. Se você estiver adicionando uma conexão PrivateLink de backend, salve esse valor. Este ID é específico para esta configuração no Databricks. Você precisará desse ID ao criar a configuração de rede posteriormente (o passo 3b: Criar uma configuração de rede (back-end)).
Operações de API account relacionadas que podem ser úteis:
Verifique o estado de um registro de endpoint VPC : o campo
state
no JSON de resposta indica o estado na AWS.
Passo 3b: Criar uma configuração de rede (back-end)
Observação
Se você implementar apenas a conexão front-end, pule esta passo. Embora você deva criar uma configuração de rede porque é necessário gerar uma VPC para o cliente, não haverá alterações de PrivateLink nesse objeto se você implementar apenas uma conexão de PrivateLink de front-end.
Para qualquer suporte do PrivateLink, você deve usar um Configure a customer-gerenciar VPC. Esse recurso exige que você crie um objeto de configuração de rede que encapsule o ID da VPC, das sub-redes e dos grupos de segurança.
Para suporte de back-end do PrivateLink, sua configuração de rede deve ter um campo extra específico do PrivateLink. O campo de configuração de rede vpc_endpoints
faz referência aos IDs de endpoint VPC específicos do Databricks que foram retornados quando você registrou seus endpoints VPC. Consulte a etapa 3a: registro VPC endpoint (front-end, back-end ou ambos).
Adicione esses dois campos nesse objeto:
rest_api
: Defina isso como uma matriz JSON que inclui exatamente um elemento: a ID específica do Databricks para o endpoint extremidade VPC da API REST de back-end que você registrou na Passo 3a: Registrar endpoint VPC (front-end, back-end ou ambos).Importante
Tenha cuidado ao utilizar o ID específico do Databricks que foi criado quando registou o ponto final regional com base na tabela em Regional endpoint reference. É um erro de configuração comum definir o ID errado neste campo.
dataplane_relay
: Defina isso como uma matriz JSON que inclui exatamente um elemento: a ID específica do Databricks para o endpoint extremidade SCC VPC de back-end que você registrou na Passo 3a: Registrar endpoint VPC (front-end, back-end ou ambos).Importante
Tenha cuidado ao utilizar o ID específico do Databricks que foi criado quando registou o ponto final regional com base na tabela em Regional endpoint reference. É um erro de configuração comum definir o ID errado neste campo.
Você obtém esses IDs de endpoint de VPC específicos do Databricks a partir das respostas JSON das solicitações feitas na etapa 3a: registro de endpoints de VPC (front-end, back-end ou ambos), no campo de resposta vpc_endpoint_id
.
O exemplo a seguir cria uma nova configuração de rede que faz referência aos IDs do VPC endpoint. Substitua <databricks-vpce-id-for-scc>
pelo ID do endpoint VPC específico do Databricks para a retransmissão de conectividade clusters seguros. Substitua <databricks-vpce-id-for-rest-apis>
pelo ID do endpoint VPC específico do Databricks para as APIs REST.
curl -X POST -n \
'https://accounts.cloud.databricks.com/api/2.0/accounts/<account-id>/networks' \
-d '{
"network_name": "Provide name for the Network configuration",
"vpc_id": "<aws-vpc-id>",
"subnet_ids": [
"<aws-subnet-1-id>",
"<aws-subnet-2-id>"
],
"security_group_ids": [
"<aws-sg-id>"
],
"vpc_endpoints": {
"dataplane_relay": [
"<databricks-vpce-id-for-scc>"
],
"rest_api": [
"<databricks-vpce-id-for-rest-apis>"
]
}
}'
Passo 3c: Criar uma configuração PAS (front-end, back-end ou ambos)
Use a API da conta do Databricks para criar ou anexar um objeto PAS (configurações de acesso privado).
O objeto de configurações de acesso privado oferece suporte aos seguintes cenários:
Implementar apenas um VPC endpoint front-end
Implementar apenas um VPC endpoint de back-end
Implemente o VPC endpointde front-end e back-end
Para que um workspace suporte qualquer um desses cenários de conectividade do PrivateLink, o workspace deve ser criado com um objeto de configurações de acesso privado anexado. Este pode ser um novo objeto de configuração de acesso privado destinado apenas a este workspace ou reutilizar e compartilhar um objeto de configuração de acesso privado existente em vários workspace na mesma região da AWS.
Este objeto tem dois propósitos:
Expressa sua intenção de usar o AWS PrivateLink com seu workspace. Se você pretende se conectar ao seu workspace usando o PrivateLink front-end ou back-end, deverá anexar um desses objetos ao seu workspace durante a criação workspace .
Controla suas configurações para o caso de uso de front-end do AWS PrivateLink. Se desejar usar apenas o PrivateLink de back-end, você pode optar por definir o campo
public_access_enabled
do objeto comotrue
.
Na definição do objeto de configurações de acesso privado, o public_access_enabled
configura o acesso público à conexão front-end (o aplicativo Web e APIs REST) para seu workspace:
Se definido como
false
(o default), a conexão front-end poderá ser acessada somente usando a conectividade PrivateLink e não pela Internet pública. Como o acesso da rede pública não é permitido neste caso, o recurso Configurar listas de acesso IP para espaços de trabalho não é suportado para o espaço de trabalho.Se definido como
true
, a conexão front-end poderá ser acessada pela conectividade PrivateLink ou pela Internet pública. Opcionalmente, você pode configurar uma lista de acesso IP para o workspace para restringir as redes de origem que podem acessar o aplicativo Web e as APIs REST da Internet pública (mas não a conexão PrivateLink).
Para criar um objeto de configurações de acesso privado, faça uma solicitação POST
ao endpoint /accounts/<account-id>/private-access-settings
da API REST. O corpo da solicitação deve incluir as seguintes propriedades:
private_access_settings_name
: Nome legível por humanos para o objeto de configurações de acesso privado.region
: nome da região AWS.public_access_enabled
: Especifica se deve habilitar o acesso público para a conexão front-end. Setrue
, o acesso público é possível para a conexão front-end além das conexões PrivateLink. Consulte a tabela anterior para obter o valor necessário para sua implementação.private_access_level
: Especifique quais VPC endpoints podem se conectar a este workspace:ACCOUNT (the default)
: Limite as conexões aos pontos de extremidade VPC registrados em sua account do Databricks.ENDPOINT
: Limita as conexões a um conjunto explícito de VPC endpoints. Consulte a propriedadeallowed_vpc_endpoint_ids
relacionada.
Observação
O nível de acesso privado
ANY
está obsoleto. O nível não está disponível para objetos de configurações de acesso privado novos ou existentes.allowed_vpc_endpoint_ids
: use somente seprivate_access_level
estiver definido comoENDPOINT
. Esta propriedade especifica o conjunto de endpoint da VPC que podem se conectar a esse workspace. Especifique como uma matriz JSON de IDs de endpoint de VPC. Use os IDs do Databricks que foram retornados durante o registro do endpoint, não os IDs da AWS.
curl -X POST -n \
'https://accounts.cloud.databricks.com/api/2.0/accounts/<account-id>/private-access-settings' \
-d '{
"private_access_settings_name": "Default PAS for us-west-2",
"region": "us-west-2",
"public_access_enabled": true
}'
O JSON de resposta inclui um campo private_access_settings_id
. Este ID é específico para esta configuração no Databricks. É importante que você salve esse campo de resultado porque você precisará dele ao criar o workspace.
APIs relacionadas:
Passo 3d: Criar ou atualizar um espaço de trabalho
O site workspace já deve usar um VPC gerenciado pelo cliente.
Os campos importantes para criar um workspace com conectividade PrivateLink são private_access_settings_id
(o ID do seu novo objeto de configurações de acesso privado e network_id
(o ID da sua nova configuração de rede).
Para criar um workspace com conectividade PrivateLink:
Leia as instruções na API de conta do Databricks para obter orientação sobre todos os campos de um novo workspace com API de conta. Para obter instruções completas sobre todos os campos, como configurações de armazenamento, configurações de credenciais e key gerenciada pelo cliente, consulte Criar um espaço de trabalho usando a API account .
Chame a API Criar um novo workspace (
POST /accounts/{account_id}/workspaces
) e incluaprivate_access_settings_id
enetwork_id
, por exemplo:curl -X POST -n \ 'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/workspaces' \ -d '{ "workspace_name": "my-company-example", "deployment_name": "my-company-example", "aws_region": "us-west-2", "credentials_id": "<aws-credentials-id>", "storage_configuration_id": "<databricks-storage-config-id>", "network_id": "<databricks-network-config-id>", "managed_services_customer_managed_key_id": "<aws-kms-managed-services-key-id>", "storage_customer_managed_key_id": "<aws-kms-notebook-workspace-storage-config-id>", "private_access_settings_id": "<private-access-settings-id>" }'
Depois de criar ou atualizar um workspace existente com o PrivateLink, você deverá aguardar até que o workspace esteja disponível para uso ou criação de clusters, o status workspace permanecerá no status
RUNNING
e a alteração da VPC ocorrerá 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.
Usar o Terraform
Para usar o Terraform para criar objetos de rede AWS subjacentes e os objetos Databricks PrivateLink relacionados, consulte estes provedores Terraform:
Provedor Terraform que registra endpointVPC. Antes de usar este recurso, você já deve ter criado o endpoint AWS VPC necessário.
Provedor Terraform que cria uma configuração de rede AWS VPC e Databricks.
Provedor Terraform que cria um objeto de configurações de acesso privado do Databricks.
Para usar o Terraform para implantar um workspace, consulte este provedor Terraform:
Passo 4: Configurar o DNS interno para redirecionar as solicitações do usuário para o aplicativo da web (para front-end)
Para usar sua conexão PrivateLink front-end, redirecione as solicitações do usuário para o aplicativo Web. Isso requer a alteração do DNS privado da rede que seus usuários usam ou à qual se conectam. Se os usuários precisarem acessar o workspace do Databricks de uma rede local que esteja sob o escopo do seu DNS interno ou personalizado, execute a seguinte configuração depois que o workspace for criado ou atualizado para garantir que o URL do seu workspace seja mapeado para o IP privado do endpoint da VPC para o VPC endpoint do seu workspace .
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 você não configurou seu registro DNS em seu domínio DNS privado, poderá receber um erro. Você pode corrigir isso criando os seguintes registros em seu servidor DNS. Em seguida, você pode acessar o workspace, a interface do Spark e o serviço de terminal 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 5: Adicionar 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.
Interface Kinesis VPC endpoint: Assim como a interface STS VPC endpoint, crie a interface Kinesis VPC endpoint em todas as sub-redes workspace e anexe-as ao grupo de segurança workspace. Consulte este artigo da AWS sobre os endpoints de interface do Kenesis]https://docs.aws.amazon.com/streams/latest/dev/vpc.html) e este artigo geral sobre endpoints de interface
Se o senhor quiser bloquear um VPC workspace para que nenhuma outra conexão de saída seja suportada, o workspace não terá acesso ao default legado fornecido pelo Databricks Hive metastore porque o AWS ainda não suporta o PrivateLink para o tráfego JDBC para o RDS. Uma opção é configurar o FQDN ou o IP do metastore regional fornecido pela Databricks em um firewall de saída, ou uma tabela de rotas públicas para o Gateway da Internet, ou uma ACL de rede para a sub-rede pública que hospeda um Gateway NAT. Nesse caso, o tráfego para o metastore fornecido pela Databricks passaria pela rede pública. No entanto, se o senhor não quiser acessar o metastore do Databricks-gerenciar pela rede pública:
Você poderia implantar um metastore externo em seu próprio VPC. Consulte Hive metastore (legado).
Você poderia usar AWS Glue para seu metastore. O Glue suporta PrivateLink. Consulte Usar o catálogo de dados do AWS Glue como um metastore (legado).
Você também pode considerar qualquer necessidade de acesso a repositórios de bibliotecas públicas como pypi (para Python) ou CRAN (para R). Para acessá-los, reconsidere a implantação em um modo de saída totalmente bloqueado ou, em vez disso, use um firewall de saída em sua arquitetura para configurar o repositório necessário. A arquitetura geral da sua implantação depende dos seus requisitos gerais. Se tiver dúvidas, entre em contato com sua equipe account do Databricks.
Para criar o AWS VPC endpoint usando o AWS Management Console, consulte os artigos da AWS para criar o VPC endpoint no AWS Management Console.
Para ferramentas que podem ajudar a automatizar a criação e o gerenciamento de VPC endpoint , consulte:
Os artigos Provedor Databricks Terraform
O endpoint do recurso Terraform e databricks_mws_private_access_settings.
O guia Terraform implantou recurso de pré-requisito e habilitou conexões PrivateLink.
Os artigos da AWS CloudFormation: Criando VPC endpoint
Os artigos da AWS AWS CLI: create-vpc-endpoint.