Emparelhamento de VPC

O emparelhamento VPC permite que os clusters do Databricks se conectem a outras infraestruturas do AWS (RDS, Redshift, Kafka, Cassandra etc.) usando endereços IP privados na rede interna do AWS.

A VPC que hospeda a outra infraestrutura deve ter um intervalo CIDR distinta da VPC do Databricks e de qualquer outra intervalo CIDR incluída como destino na tabela de roteamento principal da VPC do Databricks.Se você tiver algum problema, entre em contato com o suporte do Databricks para saber mais sobre como mover sua VPC do Databricks para um novo intervalo CIDR de sua escolha. Você pode visualizar isso pesquisando a VPC do Databricks no Console AWS, clicando na tabela de rotas principal associada a ela e examinando a guia Tabelas de rotas . Aqui está um exemplo de uma tabela de rotas principal para uma implementação do Databricks que já está emparelhada com várias outras VPCs:

Tabela de rotas do Databricks VPC

Para obter informações sobre emparelhamento de VPC, consulte o Guia de emparelhamento de VPC da AWS.

Este guia orienta você por um exemplo de emparelhamento de um AWS Aurora RDS para seu Databricks VPC usando o Console AWS. Se você preferir soluções programáticas, vá para emparelhamento programático de VPC para um Notebook que execute todas as passos para você. Por fim, há uma seção de solução de problemas para soluções e problemas comuns.

Importante

Consulte sua equipe AWS/devops antes de tentar configurar o emparelhamento de VPC. Ter experiência com a AWS, bem como permissões adequadas, garantirão que este processo ocorra sem problemasO notebook pode ajudá-lo a fazer essa transição, no entanto, dependendo do seu ambiente, é importante fazer as modificações necessárias para garantir que não haja impacto na infraestrutura existente.

Exemplo de console do AWS

O diagrama a seguir ilustra todos os diferentes componentes envolvidos no emparelhamento da implantação do Databricks com outra infraestrutura da AWS. No exemplo, o Databricks é implementado em uma conta da AWS e o Aurora RDS é implementado em outra. Uma conexão de emparelhamento é estabelecida para vincular as duas VPCs em ambas as contas da AWS.

Conexão de emparelhamento de VPC entre contas do AWS

À medida que você passa por esse processo em seu próprio Console AWS, é útil manter uma tabela de informações para consultar. Registre o seguinte:

  1. ID e intervalo CIDR da VPC do Databricks.

  2. ID e intervalo CIDR de sua outra infraestrutura (Aurora RDS).

  3. ID da tabela de rotas principal da VPC do Databricks.

Serviço da AWS

Nome

ID

Intervalo CIDR

VPC

Databricks VPC

vpc-dbcb3fbc

10.126.0.0/16

VPC

VPC do Aurora RDS

vpc-7b52471c

172.78.0.0/16

Tabela de rotas

Tabela de rotas principal do Databricks

rtb-3775c750

Etapa 1: Criar uma conexão de emparelhamento

  1. Navegue até o Painel do VPC.

  2. Selecione Conexões de emparelhamento.

  3. Clique em Criar conexão de emparelhamento

  4. Defina o solicitante do VPC como o ID do VPC do Databricks.

  5. Defina o aceitador do VPC como o ID de VPC do Aurora.

  6. Clique em Criar conexão de emparelhamento.

    Criar conexão de emparelhamento

Etapa 2: Registre o ID da conexão de emparelhamento

Serviço da AWS

Nome

ID

Intervalo CIDR

VPC

Databricks VPC

vpc-dbcb3fbc

10.126.0.0/16

VPC

VPC do Aurora RDS

vpc-7b52471c

172.78.0.0/16

Tabela de rotas

Tabela de rotas principal do Databricks

rtb-3775c750

Conexão de peering

Databricks VPC Aurora VPC < >

pcx-4d148024

Etapa 3: Aceitar a solicitação de conexão de emparelhamento

O VPC com o Aurora RDS precisará que seu proprietário aprove a solicitação. O status da conexão do emparelhamento indica Aceitação Pendente até que isso seja feito.

Conexão de emparelhamento com aceitação pendente

Selecione Ações > Aceitar solicitação.

Solicitação de aceitação de conexão de emparelhamento

Etapa 4: Adicionar resolução DNS à conexão de emparelhamento

  1. Faça login na conta da AWS que hospeda a VPC do Databricks.

  2. Navegue até o Painel do VPC.

  3. Selecione Conexões de emparelhamento.

  4. No menu Ações, selecione Editar configurações de DNS.

  5. Clique para ativar a resolução de DNS.

  6. logs na conta da AWS que hospeda o Aurora VPC e repita as etapas 2 a 4.

Habilitar a resolução de DNS

Etapa 5: Adicionar destino à tabela de rotas principal do VPC do Databricks

  1. Selecione Tabelas de rotas no painel do VPC.

  2. Procure o ID do VPC do Databricks.

  3. Clique no botão Editar na guia Rotas.

  4. Clique em Adicionar outra rota.

  5. Insira o intervalo CIDR do Aurora VPC para Destino.

  6. Digite a ID da conexão de emparelhamento para o Alvo.

    Destinos da rota VPC do Databricks

Etapa 6: adicionar destino à tabela de rotas principal do Aurora VPC

  1. Selecione Tabelas de rotas no painel do VPC.

  2. Pesquise o ID do Aurora VPC.

  3. Clique no botão Editar na guia Rotas.

  4. Clique em Adicionar outra rota.

  5. Insira o intervalo CIDR da VPC do Databricks para o destino.

  6. Digite a ID da conexão de emparelhamento para o Alvo.

    Destinos da rota Aurora VPC

Etapa 7: Localizar o grupo de segurança não gerenciado do Databricks

  1. Selecione Grupos de segurança no painel do VPC.

  2. Pesquise o ID do VPC do Databricks.

  3. Encontre e registre o ID do grupo de segurança com Não gerenciado no nome. Não selecione o grupo de segurança gerenciado.

Serviço da AWS

Nome

ID

Intervalo CIDR

VPC

Databricks VPC

vpc-dbcb3fbc

10.126.0.0/16

VPC

VPC do Aurora RDS

vpc-7b52471c

172.78.0.0/16

Tabela de rotas

Tabela de rotas principal do Databricks

rtb-3775c750

Conexão de peering

Databricks VPC Aurora VPC < >

pcx-4d148024

Grupo de segurança

Grupo não gerenciado do Databricks

sg-96016bef

Etapa 8: Adicionar regra ao grupo de segurança não gerenciado

  1. Selecione Grupos de segurança no painel do VPC.

  2. Procure o ID do Aurora VPC.

  3. Adicione uma regra de entrada clicando em Editar e depois em Adicionar outra regra.

  4. Selecione Regra TCP personalizada ou o serviço relacionado ao seu RDS.

  5. Defina o intervalo de portas para corresponder ao seu serviço RDS. O padrão para Aurora [MySQL] é 3306.

  6. Defina a Origem do ID do grupo de segurança do Databricks não gerenciados .

    Regra do grupo de segurança do Aurora

Etapa 9: testar a conectividade

  1. Criar um cluster do Databricks.

  2. Verifique se você pode se conectar ao banco de dados com o seguinte comando netcat:

    %sh nc -zv <hostname> <port>
    
    Validar a conectividade

Emparelhamento programático de VPC

Esse notebook oferece suporte a dois cenários:

  • Estabelecendo emparelhamento de VPC entre Databricks VPC e outro VPC na mesma conta AWS

  • Estabelecendo emparelhamento de VPC entre Databricks VPC e outro VPC em uma conta AWS diferente

Notebook de emparelhamento de VPC

Abra o bloco de anotações em outra guia

Solução de problemas

Não é possível estabelecer conectividade com o netcat

Se você não conseguir estabelecer conectividade com netcat, verifique se o nome do host está sendo resolvido via DNS usando o comando host do Linux. Se o hostname não for resolvido, verifique se você habilitou a resolução DNS na sua conexão de emparelhamento.

%sh host -t a <hostname>
Valide a resolução de DNS

Não é possível estabelecer conectividade com o hostname ou o endereço IP

Se você não conseguir estabelecer conectividade com hostname ou com o endereço IP, verifique se o VPC do seu Aurora RDS tem 3 sub-redes associadas à tabela de rotas principal.

  1. Selecione Sub-redes no Painel da VPC e procure a ID da VPC do Aurora. Deve haver uma sub-rede para cada zona de disponibilidade.

    Sub-redes do Aurora VPC
  2. Certifique-se de que cada uma dessas sub-redes esteja associada à tabela de rotas principal.

    1. Selecione Tabelas de rotas no painel da VPC e pesquise a tabela de rotas principal associada ao Aurora RDS.

    2. Clique na guia Associações de sub-rede e em Editar. Você deverá ver todas as três sub-redes na lista, mas nenhuma delas deverá ter Associado selecionado.

      Associações de sub-redes do Aurora

O DNS não está funcionando

Verifique no Route 53 e confirme se o Databricks VPC está associado às zonas privadas hospedadas usadas em seu VPC.