Pular para o conteúdo principal

Tráfego de proxy por meio de um gateway NAT

Este guia ilustra como configurar o Databricks para fazer proxy do tráfego entre as instâncias do EC2 e outro endereço IP por meio de um gateway NAT. Por exemplo, o senhor pode apontar seu BI software para um endereço IP estático, que faz proxy de todo o tráfego para um clustering Redshift por meio de um gateway NAT. Da perspectiva do clustering Redshift, todas as instâncias têm um endereço IP público estável, independentemente da configuração do clustering Databricks.

nota

Para fazer proxy do tráfego Redshift, o clustering Redshift deve ser iniciado com um IP elástico IPv4. Um IP elástico é estável e acessível ao público.

Este artigo explica como alocar uma nova sub-rede pública no site Databricks VPC, adicionar um gateway NAT dentro da sub-rede e atualizar a tabela de rotas do site default para garantir que o tráfego específico passe pelo gateway NAT.

Criar uma sub-rede na VPC do Databricks

  1. Entre em contato com a Databricks para obter o ID da sua VPC da Databricks.

  2. Faça login no console AWS VPC e selecione Subnet no painel esquerdo.

  3. Digite o ID da VPC do Databricks na caixa de pesquisa para ver todas as sub-redes incluídas na VPC do Databricks.

    Crie uma sub-rede

    Em default, Databricks cria uma sub-rede por zona de disponibilidade (AZ). O senhor deve escolher um bloco CIDR não utilizado do mesmo intervalo de classe B, como a.b.0.0. No exemplo, são usados três blocos CIDR: 10.29.224.0/19, 10.29.192.0/19, 10.29.160.0/19. Todos os IPs no intervalo de endereços 10.29.0.0 ~ 10.29.159.255 são gratuitos. Você pode escolher uma nova sub-rede de classe C dentro desse intervalo, como 10.29.100.0/24.

  4. Clique em Create Subnet e digite as seguintes informações:

    • Tag de nome : o nome da sub-rede. A Databricks recomenda o uso de gateway como parte do nome.

    • VPC : o ID do VPC do Databricks.

    • Zona de disponibilidade : pelo menos uma zona de disponibilidade, dependendo de suas necessidades de disponibilidade.

    • Bloco CIDR : um bloco CIDR não utilizado que contém pelo menos um endereço IP.

nota
  • O Databricks aloca blocos CIDR começando pelo topo da faixa de classe B. Ao escolher o bloco CIDR para a sub-rede do gateway, a Databricks recomenda que o senhor use um intervalo menor para evitar conflitos futuros se a AWS adicionar mais zonas de disponibilidade à região.

  • A sub-rede pública precisa apenas de um único IP para o gateway NAT.

  1. Clique em Sim, Criar .

Crie um gateway NAT na sub-rede

  1. Selecione gateways NAT no painel esquerdo do console do AWS VPC e clique em Create NAT gateway (Criar gateway NAT) .

  2. Em Sub-rede , selecione a sub-rede que você acabou de criar.

  3. Escolha qualquer IP disponível no Elastic IP Allocation ID . Se não houver IPs elásticos disponíveis, crie primeiro um novo IP elástico.

  4. Clique em Criar um gateway NAT .

    Gateway NAT criado

  5. Na página de sucesso, clique em Editar tabelas de rotas .

Associar uma tabela de rotas à sub-rede do gateway

  1. Clique em Criar tabela de rotas .

  2. Em Tag de nome , insira um nome para a tabela de rotas.

  3. Em VPC , selecione o ID do VPC da Databricks.

  4. Clique em Sim, Criar .

    Crie uma tabela de rotas

  5. Selecione a tabela de rotas recém-criada na lista.

  6. Em Routes (Rotas ) tab, clique em Edit (Editar ) e, em seguida, clique em Add another route (Adicionar outra rota ).

  7. Digite 0.0.0.0/0 em Destino .

  8. No Target , escolha o gateway de Internet do Databricks VPC , que começa com igw=.

  9. Clique em Salvar .

    Adicionar uma rota

  10. Clique em Edit (Editar ) na página Subnet Associations (Associações de sub-rede ) tab.

  11. Selecione a sub-rede do gateway NAT.

  12. Clique em Salvar . A sub-rede agora é uma sub-rede pública, acessível na Internet.

    Associações de sub-rede

Configurar o roteamento para um sistema externo

Siga este procedimento para encaminhar todo o tráfego entre os nós da VPC e um sistema externo, como o Redshift, por meio do gateway NAT.

  1. No painel esquerdo do console do AWS VPC, selecione Route Tables (Tabelas de rota ).

  2. Digite o ID do VPC da Databricks na caixa de pesquisa. A lista mostra todas as tabelas de rotas usadas pelo Databricks VPC.

    • Uma das rotas é a tabela de rotas do gateway que você acabou de criar.
    • O outro, o rótulo Main , é a tabela de rotas do default para todas as outras sub-redes no VPC.
  3. Selecione a tabela de rotas principais .

  4. Em Routes (Rotas ) tab, clique em Edit (Editar ).

  5. Em Destino , encontre o IP elástico do sistema externo. Na imagem abaixo, o IP elástico é 1.2.3.4.

  6. No Target , selecione o gateway NAT que você criou anteriormente. Começar com nat-.

  7. Clique em Salvar .

    Configurar o roteamento

Todo o tráfego entre todas as instâncias de VPC e o IP elástico passa pelo gateway NAT. Do ponto de vista do view sistema externo, todos os nós têm o mesmo endereço IP elástico que o IP elástico do gateway NAT. O tráfego interno continua usando as regras de roteamento originais da VPC.

Adicionar um endpoint S3 à VPC

O tráfego externo que passa pelo gateway NAT está sujeito a cobranças adicionais (consulte os preços do Amazon VPC). Para reduzir os custos e a latência, o senhor pode armazenar Databricks ativo em S3 buckets. O tráfego entre um IP elástico e um bucket S3 é gratuito.

nota

VPC não oferecem suporte ao acesso entre regiões. Quando o senhor acessa um bucket S3 em uma região diferente, o tráfego é roteado pelo gateway NAT.

  1. No painel esquerdo do console AWS VPC , selecione endpoint .

  2. Clique em Criar ponto de extremidade .

    Criar endpoint

  3. Em VPC , selecione o ID do VPC da Databricks.

  4. Em serviço , selecione o único serviço disponível S3.

  5. Clique em Próxima etapa .

    Próximo passo

  6. Selecione a tabela de rotas principais . Isso associa o endpoint S3 a todas as sub-redes privadas.

  7. Clique em Criar ponto de extremidade .

Verificar as configurações de sub-rede

  1. Na página Subnets , acesse a Route Table (Tabela de rotas ) tab.

  2. Digite o ID do VPC da Databricks na caixa de pesquisa.

  3. Verifique o seguinte:

    • A sub-rede do gateway tem a rota 0.0.0.0/0 definida para o gateway de Internet da VPC (igw-xxxxxx).

      Sub-rede de gateway

    • Todas as outras sub-redes têm a rota 0.0.0.0/0 definida para o gateway NAT (nat-xxxxxx).

    • Se o endpoint S3 estiver configurado corretamente, a lista incluirá uma rota com o destino definido como vpce-xxxx <target>.

important

A conexão de peering da VPC com a VPC do plano de controle do Databricks (pcx-xxxxx) deve permanecer intocada.

Conexão de peering VPC

Criar um clustering

Para testar a nova configuração, crie um novo clustering. Ele usa automaticamente o novo gateway NAT. Depois que o novo clustering estiver pronto, verifique se ele funciona conforme o esperado. Entre em contato com Databricks se o novo clustering não começar ou se o senhor encontrar outros problemas.

Desativar o endereço IP público no clustering

Depois de verificar que o proxy do gateway NAT funciona como pretendido, o senhor pode solicitar a remoção dos endereços IP voltados para o público no clustering recém-criado.

important

O senhor não pode desativar o endereço IP público em instâncias existentes do AWS.

  1. Entre em contato com o suporte da Databricks e informe que gostaria de desativar os endereços IP públicos.
  2. Depois que o site Databricks confirmar que a alteração de configuração foi concluída, encerre todos os clusters em Databricks.
  3. Aguarde uma hora para que o recurso AWS seja limpo ou encerre manualmente as instâncias existentes no console AWS. Se o senhor pular essa etapa, o site Databricks poderá reutilizar as instâncias existentes que ainda têm os endereços IP públicos atribuídos anteriormente para qualquer novo clustering.
  4. Faça login na implantação do Databricks e crie um novo clustering. Aguarde até que o clustering esteja pronto.

Para verificar se o clustering não tem endereço IP público, acesse o painel AWS EC2 e verifique a configuração das instâncias worker:

endereços de instâncias de trabalho

Se o clustering tiver endereços IP públicos ou se o clustering não estiver pronto, entre em contato com Databricks.