Executando verificação de segurança...
6

Como reduzir custos de VPN em Cloud para até menos de 1%?

Como reduzir custos de VPN em Cloud para até menos 1%? Você deve estar se perguntando como isso é possível? O custo para uma infraestrutura completa hoje em dia é alto, mas e se nós te mostrarmos que isso é possível?

Você tem uma infraestrutura de TI centralizada em Cloud para poder provisionar o acesso aos seus colaboradores ao redor de todo mundo 24 horas por dia? Se sim você já está muito adiantado! Mas já parou para olhar os custos disso? Sim podem ser baixos, mas que tal serem menores ainda?

Em um projeto realizado por nós nas últimas semanas realizamos um trabalho “corriqueiro”, porém nunca paramos para falar de números, mas hoje vamos falar!

Analisando cenário atual, o cliente chegou com a seguinte infraestrutura para fazer o handling de sua VPN: EC2 AWS m4.large $74 por mês e uma AMI de $458 por mês e um EBS de quase $1, ou seja cerca de $533 por mês.

Considerando a infraestrutura mais simples que podemos montar desempenhamos um trabalho de implantação de uma VPN baseada em protocolos gratuítos com a melhor eficiência possivel, custo ZERO de licenciamento, um servidor baseado em arquitetura ARM com apenas 0.5GiB de memória RAM ($3.12) e 8GB EBS GP3 ($0.64) totalizando $3.76, ou seja considerando o Dólar em 5 Reais temos R$18,80 em um mês no máximo!

O que foi implementado? Foi implementado uma VPN Opensource chamada PiVPN e para ter certeza de que não gargale a RAM fazemos um swap de ram de 1GB.
para instalar usamos o protocolo pivpn com apenas um comando podemos instalar e configurar tudo:
curl -L https://install.pivpn.io | bash

Para fazer o swap eu uso um script simples, só rodar no shell:
dd if=/dev/zero of=/swapfile bs=16M count=64
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile swap swap defaults 0 0' >> /etc/fstab

Para administrar o PiVPN utilizamos os comandos:
pivpn -a --name nomedoacesso -p senha #adicionar acesso
pivpn -r nomedoacesso #revoga acesso
pivpn -l #lista todos os acessos
pivpn -c #lista todos os usuarios conectados

Ao criar um acesso no PiVPN ele logo vai informar onde foi salvo o arquivo .ovpn e você pode copiá-lo e configurá-lo em um client OpenVPN normal eu pessoalmente uso o OpenVPN V3: https://openvpn.net/client/client-connect-vpn-for-windows/

Também é importante salientar que nesse tipo de VPN sem nenhuma configuração do arquivo .ovpn vamos fazer 100% do trafego pela VPN, para uma VPN de acesso empresarial geralmente queremos trafegar apenas para a rede da empresa podemos fazer da seguinte forma, após a linha verb 3 e antes da linha <ca> adicionamos route-nopull e em route passamos o range de ip que queremos que seja trafegado pela VPN nesse caso estamos trafegando todos os IPs da rede 172.x.x.x e também podemos especificar que o DNS utilizado pelo computador será o DNS da rede de VPN pois possivelmente a empresa possui servidores DNSs internos:
verb 3
route-nopull
route 172.0.0.0 255.0.0.0
dhcp-option DNS 172.31.0.2
<ca>

Gostaria de informar que isso foi um projeto real implantado há mais de 1 ano e funciona perfeitamente desde que implantamos, uso médio de 20 a 30 usuários simultaneos/dia.

Carregando publicação patrocinada...
1
1

Como estamos usando a infraestrutura da nuvem AWS, não podemos gerenciar o hardware, apenas podemos gerenciar nossos sistemas operacionais e o softwares instalado nele. A AWS tem VPN como serviço, mas é muito caro por usuário por hora, então não faz sentido usar a solução se podemos instalar nosso próprio servidor e fornecer uma solução de código aberto para nossa equipe.
A ideia é acessar a VPC com segurança de qualquer lugar do mundo.

A AWS também nos fornece um firewall gerenciado, mas o firewall não é gerenciado por nós. Só podemos especificar as regras para aprovarmos o tráfego deste IP e porta para este IP e porta, mas não podemos gerenciar todo o firewall e instalar algo ou escolher outro firewall.

1

Obrigado pelo post Pedro, o exemplo do custos da VPN é simplesmente fantástico. Gostaria apenas de expandir que este é apenas um exemplo, mas virtualmente sempre com um pouco de esforço é possível encontrar soluções mais eficazes self-hosted e open source. Sem contar em todas as implicações éticas e morais que devemos ter sobre os dados que tratamos. E penso que estamos tomando um rumo muito perigoso em nossa dependências da cloud.

Como uma sugestão nessa linha, já pensou em ir um passo além e ter uma solução totalmente self-hosted dentro das premissas e da rede da empresa? Claro, existem muitos fatores a serem levados em conta, mas nesse caso imagine alguns Raspberry Pi's rodando com links de fibra em uma solução que garanta os mesmos níveis de QoS (ou até maiores, considerando a proximidade física) enquanto oferece à empresa total 'ownership' da solução. Isso poderia reduzir ainda mais os custos à longo prazo. E proporcionaria um controle total sobre a infraestrutura e os dados, garantindo mais segurança e privacidade.

1

Realmente o que diz sobre soluções a longo prazo faz sentido, mas infelizmente no cenário Brazil atual não funciona bem assim para a maioria das empresas de médio/grande porte. A equipe de TI tem 30 pessoas, 3 de infra 25 de dev e 2 coordenadores. Para implementar uma solução como essa seria necessário aumentar a mão de obra de infraestrutura, aumentando assim custo operacional e não podemos contratar juniores para fazer esse tipo de trabalho, no mínimo pleno para cima, esses caras ganham um salário de no minimo 10mil reais de custo/mes para empresa, chutando baixo, assim contratando mais 2 pessoas teriamos mais 240 mil reais de aumento de custo anual em operação de infraestrutura de TI.

Soluções simples como essas reduzem não apenas custo tecnológico, mas operacional, eu entendo seu ponto, mas as empresas querem saber de dinheiro, menos aquelas que ja tem muito dinheiro nivel IBM, Apple, Microsoft, Google e algumas poucas outras, infelizmente no cenário Brazil atual as empresas querem o menor custo e o melhor resultado e depender de clouds privadas reduz não apenas custo tecnológico instante como custo operacional a longo prazo.

Gera dependencia? Sim! Porém a diretoria vê digamos 300 mil de custo de servidor, ar condicionado, sala contra fogo, gerador, UPS e toda a infraestrutura de um datacenter e em cima disso ao menos 240 mil de custo a mais de operação na infraestrutura por ano e vê ao lado disso uma infraestrutura cloud privada anual de 180 mil reais (15 mil reais mes), e a decisão do lado da diretoria é simples.

Como disse empresas que não ligam tanto para o dinheiro e querem ter o seu ownership do datacenter preferem fazer isso sim, porém é o cenário da menor parte das empresas pelo menos do BR.

2

Pedro, você está absolutamente correto. A nuvem é, de fato, muito atraente na maioria dos cenários, e talvez minha postagem anterior não tenha sido muito precisa. O que estou tentando inspirar é exatamente o tipo de consideração que você fez tão bem. O que frequentemente observo são soluções que são caras e totalmente fechadas, muitas vezes escolhidas simplesmente por conveniência.

As arquiteturas distribuídas modernas nos permitem manter alguns componentes críticos, seja em termos de segurança, desempenho ou custos, em nossas instalações com controle total. Enquanto isso, a nuvem pode cuidar do resto. No entanto, sempre devemos tentar confiar o máximo possível em infraestruturas de código aberto, em vez de soluções proprietárias de fornecedores. E por que não distribuir, quando faz sentido, nossa infraestrutura entre diferentes provedores de nuvem e soluções locais? Embora isso certamente exija mais trabalho, pode ser a melhor solução a longo prazo.

A chave é encontrar um equilíbrio entre custo, desempenho, segurança e controle. E, como você mencionou, cada empresa terá suas próprias necessidades e considerações, especialmente no cenário atual do Brasil. Agradeço por compartilhar sua perspectiva e experiência, é uma discussão valiosa para todos nós na área de TI.