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.
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
-
Entre em contato com a Databricks para obter o ID da sua VPC da Databricks.
-
Faça login no console AWS VPC e selecione Subnet no painel esquerdo.
-
Digite o ID da VPC do Databricks na caixa de pesquisa para ver todas as sub-redes incluídas na VPC do Databricks.
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ços10.29.0.0
~10.29.159.255
são gratuitos. Você pode escolher uma nova sub-rede de classe C dentro desse intervalo, como10.29.100.0/24
. -
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.
-
-
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.
- Clique em Sim, Criar .
Crie um gateway NAT na sub-rede
-
Selecione gateways NAT no painel esquerdo do console do AWS VPC e clique em Create NAT gateway (Criar gateway NAT) .
-
Em Sub-rede , selecione a sub-rede que você acabou de criar.
-
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.
-
Clique em Criar um gateway NAT .
-
Na página de sucesso, clique em Editar tabelas de rotas .
Associar uma tabela de rotas à sub-rede do gateway
-
Clique em Criar tabela de rotas .
-
Em Tag de nome , insira um nome para a tabela de rotas.
-
Em VPC , selecione o ID do VPC da Databricks.
-
Clique em Sim, Criar .
-
Selecione a tabela de rotas recém-criada na lista.
-
Em Routes (Rotas ) tab, clique em Edit (Editar ) e, em seguida, clique em Add another route (Adicionar outra rota ).
-
Digite
0.0.0.0/0
em Destino . -
No Target , escolha o gateway de Internet do Databricks VPC , que começa com
igw=
. -
Clique em Salvar .
-
Clique em Edit (Editar ) na página Subnet Associations (Associações de sub-rede ) tab.
-
Selecione a sub-rede do gateway NAT.
-
Clique em Salvar . A sub-rede agora é uma sub-rede pública, acessível na Internet.
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.
-
No painel esquerdo do console do AWS VPC, selecione Route Tables (Tabelas de rota ).
-
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.
-
Selecione a tabela de rotas principais .
-
Em Routes (Rotas ) tab, clique em Edit (Editar ).
-
Em Destino , encontre o IP elástico do sistema externo. Na imagem abaixo, o IP elástico é
1.2.3.4
. -
No Target , selecione o gateway NAT que você criou anteriormente. Começar com
nat-
. -
Clique em Salvar .
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.
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.
-
No painel esquerdo do console AWS VPC , selecione endpoint .
-
Clique em Criar ponto de extremidade .
-
Em VPC , selecione o ID do VPC da Databricks.
-
Em serviço , selecione o único serviço disponível S3.
-
Clique em Próxima etapa .
-
Selecione a tabela de rotas principais . Isso associa o endpoint S3 a todas as sub-redes privadas.
-
Clique em Criar ponto de extremidade .
Verificar as configurações de sub-rede
-
Na página Subnets , acesse a Route Table (Tabela de rotas ) tab.
-
Digite o ID do VPC da Databricks na caixa de pesquisa.
-
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
). -
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>
.
-
A conexão de peering da VPC com a VPC do plano de controle do Databricks (pcx-xxxxx
) deve permanecer intocada.
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.
O senhor não pode desativar o endereço IP público em instâncias existentes do AWS.
- Entre em contato com o suporte da Databricks e informe que gostaria de desativar os endereços IP públicos.
- Depois que o site Databricks confirmar que a alteração de configuração foi concluída, encerre todos os clusters em Databricks.
- 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.
- 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:
Se o clustering tiver endereços IP públicos ou se o clustering não estiver pronto, entre em contato com Databricks.