Pular para o conteúdo principal
BlogTrabalho em redeAbrangendo Multi-Regiões com Linode VLANs

Abrangendo Multi-Regiões com Linode VLANs

Abrangendo Multi-Regiões com Linode VLANs

As VLANs e VPCs são métodos de isolamento de rede que usamos para proteger nossa infra-estrutura nas nuvens públicas. Eles fornecem maior segurança, reduzindo significativamente a superfície de ataque de nossa rede, enquanto nos dão a capacidade de segmentar camadas de aplicações com e sem acesso público à Internet. Hoje em dia, vamos pensar em uma rede maior e abranger nossa rede privada através de múltiplas regiões com Linode.

Quando falamos de "regiões", estamos nos referindo a áreas geográficas distintas dentro de um mesmo fornecedor de nuvens. As "zonas" são tipicamente locais adicionais de hospedagem dentro dessas regiões geográficas. Por exemplo, você pode ver uma região do Nordeste baseada perto de Nova Iorque e uma região do Sudeste em Atlanta, cada uma contendo múltiplas zonas.

Além de proporcionar menor latência por estar fisicamente mais próximo de um maior número de usuários, a execução de uma aplicação multi-regiões nos dá um aumento significativo na confiabilidade e tolerância a falhas. Qualquer coisa que possa afetar suas cargas de trabalho em um local, incluindo falha de hardware ou interrupções na rede local, pode ser potencialmente mitigada por ter outro local para onde redirecionar seus usuários.

Implantação de VLANs Multi-Regiões

Para rotear entre os segmentos VLAN implantados em várias regiões, podemos vincular os segmentos VLAN usando uma VPN (Virtual Private Network, rede privada virtual). 

Primeiro, unimos todas as VLANs associadas implantadas em uma única região usando um Linode que atua como um roteador comum. Cada segmento do VLAN é seu próprio domínio isolado de camada 2 e opera em sua sub-rede de camada 3. Todo o tráfego entre os vários segmentos do VLAN fluirá por meio do roteador, e podemos colocar regras de firewall dentro do roteador para controlar qual tráfego tem permissão para trafegar entre os vários segmentos.

Podemos então configurar esta instância de roteador para fazer a ponte entre outros segmentos de rede usando a Internet pública e software VPN como o WireGuard ou um protocolo como o IPSec.

O exemplo acima mostra uma implantação em duas regiões. Cada região é responsável pelo gerenciamento da conectividade entre duas VLANs isoladas através de uma instância roteadora. Cada roteador pode então fazer a ponte entre as múltiplas regiões localmente usando as instâncias de roteadores Linode que configuramos com múltiplas interfaces. Os roteadores atravessam as regiões utilizando os túneis WireGuard através da Internet pública para cada região.

Configuração dos Pontos de Saída NAT

Agora, o tráfego pode fluir entre qualquer VLAN , independentemente da região. Além disso, as instâncias do roteador podem ser usadas como pontos de saída NAT (Network Address Translation, tradução de endereços de rede), fornecendo conectividade com a Internet para suas VLANs locais se as implementarmos sem conectividade com a Internet local. Nessa configuração, a instância do roteador local seria designada como o gateway padrão (ou seja, normalmente configurado como 10.0.0.1 em uma rede 10.0.0.0/24). Também podemos usar as instâncias do roteador como bastiões de gerenciamento do Secure Socket Shell (SSH).

Uma maneira comum de implementar este tipo de configuração NAT é usar uma regra de firewall para marcar o tráfego WireGuard e o mascaramento IP para qualquer tráfego detectado sem esta marca. 

Por exemplo, o roteador seria configurado para usar uma regra iptables:

iptables -t nat -A POSTROUTING -o eth0 -m mark ! --mark 42 -j MASQUERADE

Podemos configurar o WireGuard para usar um FirewallMark (ou seja, 42) em sua configuração. Essa configuração garante que o tráfego do WireGuard não seja NAT, enquanto todo o tráfego do VLAN é NAT.

As regras de firewall da nuvem seriam então configuradas para permitir a comunicação WireGuard entre os nós de roteamento (tipicamente, udp/51820).

Podemos então configurar as instâncias do roteador com regras de firewall para controlar ou registrar o fluxo de tráfego através dos segmentos local e global, conforme necessário.

Considerações

A implementação neste exemplo permite o compartilhamento de dados globalmente em várias regiões e capacita as instâncias do roteador a controlar o fluxo de tráfego entre vários segmentos do VLAN . Ao canalizar o tráfego de vários segmentos do VLAN em um único ponto de agregação, é fundamental entender as considerações sobre desempenho e largura de banda ao fazer isso. O desempenho será determinado pelas restrições de largura de banda de upload impostas pelos recursos de computação alocados ao roteador.

Também é fundamental considerar cuidadosamente o protocolo VPN para garantir que ele atenda às exigências de sua implantação. A tecnologia que você selecionar terá um grande impacto na largura de banda ponto a ponto e na segurança do tráfego enviado através da Internet pública. O WireGuard, por exemplo, usa criptografia para garantir que o tráfego não possa ser interceptado e tenha uma base computacional confiável menor quando comparado a uma implementação IPsec como o strongSwan para limitar exploits e exposição.

Multicloud

O mesmo tipo de tecnologia que usamos para abranger várias regiões poderia ser implementado através de vários fornecedores de nuvens. Por exemplo, você pode colocar uma instância de roteador dentro dos limites da rede de outro provedor de serviços de nuvem e ligá-la à sua configuração VPC local, específica do provedor de nuvem. Você pode usar um túnel WireGuard entre a instância do roteador para fazer a ponte para a rede do provedor de nuvens. A implementação funciona bem para serviços destinados a permanecer isolados em uma rede privada, exclusivamente.

O que se segue

Em última análise, há muitas ferramentas diferentes com as quais trabalhar ao projetar nossa rede privada e os benefícios podem superar significativamente a complexidade adicional. Se sua aplicação estiver crescendo junto com sua base de usuários, projetar seu ambiente para reduzir a latência para um número maior desses indivíduos pode ter um grande impacto na experiência do usuário. A tolerância a falhas adicionais aumentará a confiabilidade e manterá seu software disponível e acessível.


Comentários

Deixe uma resposta

Seu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados com *