Avançar 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 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 através dos segmentos VLAN implementados em várias regiões, podemos ligar os segmentos VLAN utilizando uma Rede Privada Virtual (VPN). 

Primeiro, unimos todas as VLANs associadas implantadas em uma única região usando um Linode atuando como um roteador comum. Cada segmento de VLAN é seu próprio domínio isolado de camada 2 e opera dentro de sua sub-rede de camada 3. Todo o tráfego entre os vários segmentos VLAN fluirá através do roteador, e podemos colocar regras de firewall dentro do roteador para controlar qual tráfego é 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 NAT (Network Address Translation), fornecendo conetividade à Internet para as suas VLANs locais, se as implementarmos sem conetividade local à Internet. 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 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 usar um FirewallMark (ou seja, 42) em sua configuração. Essa configuração garante que o tráfego do WireGuard não seja NATed enquanto todo o tráfego do 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 em várias regiões e permite que as instâncias do router controlem o fluxo de tráfego entre vários segmentos de VLAN . Ao canalizar o tráfego de vários segmentos de VLAN para um único ponto de agregação, é fundamental entender as considerações de 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 atribuídos ao roteador.

É 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

Deixe uma resposta

O seu endereço de correio electrónico não será publicado. Os campos obrigatórios estão marcados com *