Pular para o conteúdo principal

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 o senhor por meio de um exemplo de emparelhamento de um AWS Aurora RDS para o seu Databricks VPC usando o Console do AWS. Se o senhor preferir uma solução programática, acesse Programmatic VPC peering para obter um Notebook que executa todas as etapas para o senhor. Finalmente, há uma seção de solução de problemas para problemas e soluções comuns.

important

Consulte sua equipe de AWS/devops antes de tentar configurar o emparelhamento de VPC. Alguma familiaridade com a AWS, bem como permissões suficientes, garantirão que esse processo ocorra sem problemas. O Notebook pode ajudá-lo a fazer essa transição, mas, 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 de 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 Databricks VPC

  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:

    Bash
    %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 peering de VPC

Open notebook in new tab

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.

Bash
%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.