As VLANs e VPCs são métodos de isolamento de rede que utilizamos para proteger as nossas infra-estruturas nas nuvens públicas. Proporcionam maior segurança, reduzindo significativamente a superfície de ataque da nossa rede, ao mesmo tempo que nos dão a capacidade de segmentar camadas de aplicações com e sem acesso público à Internet. Hoje em dia, vamos pensar em maior escala e atravessar a nossa rede privada através de múltiplas regiões com Linode.
Quando falamos de "regiões", estamos a referir-nos a áreas geográficas distintas dentro do mesmo fornecedor de nuvens. As "zonas" são tipicamente locais de alojamento adicionais dentro dessas regiões geográficas. Por exemplo, poderá 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.
Para além de proporcionar uma menor latência ao estar fisicamente mais próximo de mais utilizadores, a execução de uma aplicação multi-regiões dá-nos um aumento significativo de fiabilidade e tolerância a falhas. Qualquer coisa que possa ter impacto nas suas cargas de trabalho num local, incluindo falha de hardware ou interrupções da rede local, pode ser potencialmente mitigado ao ter outro local para reencaminhar os seus utilizadores.
Implementação de VLANs Multi-Regiões
Para encaminhar os segmentos de VLAN implantados em múltiplas regiões, podemos ligar segmentos de VLAN usando uma Rede Privada Virtual (VPN).
Em primeiro lugar, ligamos quaisquer VLANs associadas implantadas numa única região utilizando um Linode que actua como router comum. Cada segmento de VLAN é o seu próprio domínio isolado de camada-2 e opera dentro da sua sub-rede de camada-3. Todo o tráfego entre os vários segmentos de VLAN irá fluir através do router, e podemos colocar regras de firewall dentro do router para governar o tráfego que é permitido atravessar entre os vários segmentos.

Podemos então configurar esta instância de router para fazer a ponte entre o tráfego entre outros segmentos de rede utilizando 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 pela gestão da conectividade entre duas VLANs isoladas através de uma instância de router. Cada router pode então fazer a ponte entre as múltiplas regiões localmente utilizando as instâncias de router Linode que configuramos com múltiplas interfaces. Os routers 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
O tráfego pode agora fluir entre qualquer VLAN, independentemente da região. Além disso, as instâncias do router podem ser utilizadas como pontos de saída de tradução de endereços de rede (NAT), fornecendo conectividade Internet para as suas VLANs locais, se as implementarmos sem conectividade Internet local. Nesta configuração, a instância roteadora local seria designada como gateway padrão (ou seja, tipicamente configurada como 10.0.0.1 numa rede 10.0.0.0/24). Também podemos utilizar as instâncias do router como bastiões de gestão de Secure Socket Shell (SSH).
Uma forma comum de implementar este tipo de configuração NAT é utilizar uma regra de firewall para marcar o tráfego WireGuard e o mascaramento de IP para qualquer tráfego detectado sem esta marca.
Por exemplo, o router seria configurado para utilizar uma regra iptables:
iptables -t nat -A POSTROUTING -o eth0 -m mark ! --mark 42 -j MASQUERADE
Podemos configurar o WireGuard para utilizar um FirewallMark (ou seja, 42) dentro da sua configuração. Esta configuração assegura que o tráfego WireGuard não é NATed enquanto todo o tráfego VLAN é NATed.
As regras de firewall da nuvem seriam então configuradas para permitir a comunicação WireGuard entre nós de encaminhamento (tipicamente, udp/51820).
Podemos então configurar as instâncias do router com regras de firewall para controlar ou registar o fluxo de tráfego através dos segmentos local e global, conforme necessário.
Considerações
A implementação neste exemplo permite a partilha de dados globalmente através de múltiplas regiões e permite às instâncias do router controlar o fluxo de tráfego entre vários segmentos de VLAN. Ao canalizar tráfego de múltiplos segmentos de VLAN para um único ponto de agregação, é fundamental compreender as considerações de desempenho e largura de banda ao fazê-lo. O desempenho será determinado pelas restrições de largura de banda de carregamento impostas pelos recursos computacionais atribuídos ao router.
É também fundamental considerar cuidadosamente o protocolo VPN para garantir que este satisfaz os requisitos da sua implantação. A tecnologia que seleccionar 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, utiliza criptografia para garantir que o tráfego não pode ser interceptado e tem uma base computacional de confiança mais pequena quando comparado com uma implementação IPsec como o strongSwan para limitar as explorações e a exposição.
Multicloud
O mesmo tipo de tecnologia que utilizamos para abranger várias regiões poderia ser implementado em vários fornecedores de nuvens. Por exemplo, é possível colocar uma instância de router dentro dos limites da rede de outro fornecedor de serviços de nuvem e ligá-la à sua configuração VPC local, específica do fornecedor de nuvem. Pode utilizar um túnel WireGuard entre a instância do router para fazer a ponte para a rede do fornecedor de nuvens. A implementação funciona bem para serviços concebidos para permanecer isolados numa rede privada, exclusivamente.
O que se segue
Em última análise, há muitas ferramentas diferentes com que trabalhar ao conceber a nossa rede privada e os benefícios podem superar significativamente a complexidade acrescida. Se a sua aplicação estiver a crescer juntamente com a sua base de utilizadores, conceber o seu ambiente para reduzir a latência para um maior número desses indivíduos pode ter um grande impacto na experiência do utilizador. A tolerância a falhas adicionais irá aumentar a fiabilidade e manter o seu software disponível e acessível.
Comentários