Neste artigo vamos falar um pouco sobre VPC e da importância deste serviço estar bem configurado dentro da sua infraestrutura.
VPC é um acrônimo de Virtual Private Cloud, este é o serviço de rede da AWS que é a base para quase tudo o que você vai criar, ele permite a comunicação entre os recursos que existirão na sua solução, porém é um engano nosso dizer que este serviço seja apenas para comunicação de rede, ele é um pacote de coisas como: Regras de firewall, RouteTables, VPC Endpoints permitindo comunicar mult-regions, NAT entre outros.
Vamos então criar nossa primeira VPC, clicando em Serviços, procure por VPC.
Clique para criar uma nova VPC, ele irá pedir o nome do serviço e o CIDR da sua rede.
Classless Inter-Domain Routing (CIDR)
O CIDR é muito importante pois ele irá definir o tamanho da sua rede inicial. O CIDR é a conotação do seu IP que está no final dele, onde temos uma barra precedido de um número ex: 10.0.0.0/8
Um endereço IP tem até 32 bits separados em blocos de 8 bits (1 byte), então o CIDR máximo que temos no padrão IPV4 é de /32, porém você irá notar que nunca usaremos /32 para definir uma rede, pois sempre devemos descontar 2 bits de reserva que são da sua própria rede e o último endereço de que é de Broadcast, logo temos /30. Existe uma formula de cálculo para saber quantos IP de máquinas poderemos ter na nossa rede. A Fórmula de cáclulo é bem simples:
2 elevado á (32-CIDR) – 2 – Exemplo: 2 elevado á (32-30) – 2 = 2 hosts válidos
Voltando (depois da “nerdisse” :-))
Voltando a criação da VPC então vamos colocar no nosso CIDR /16 (2 elevado a 16 – 2), nossa rede então terá 65534 IP’s válidos, por se tratar de uma rede interna e privada o nosso IP será 10.0.0.0/16
Clique em Create e logo a AWS irá te informar o seu novo VPC ID.
Criando uma Subnet
Agora que temos nossa rede criada, vamos criar duas sub-divisões dela (subnet), essa fatia da rede, nos permite segmentar o tráfego em pequenas porções, ajudando em performance, fácil administração e até mesmo seguraça, pois podemos definir que uma pequena fatia da rede tenha acessibilidade a internet e outra seja totalmente privada.
Para isso clique em Subnets e selecione a sua nova VPC e agora vamos definir a mascara dessa sub-rede, neste ponto devemos respeitar estritamente a mascara da rede criada. Nossa rede era a 10.0.0.0/16 e nossa sub-rede será a 10.0.1.0/24 e 10.0.2.0/24
A tela de criação da subnet irá te ajudar e validar, caso a fatia da rede que está criando esteja errada.
Após criar a subnet, a informação aparecerá da seguinte forma.
Agora precisamos definir os RouteTables da subnet informando, no nosso caso, que a Subnet pública estará acessível para a internet, diferente da nossa subnet privada.
RouteTable
Para isso clique em Routetables, depois em criar, informe o nome rt-subnet-public-1, clique em criar novamente. Agora selecione o RouteTable criado e vamos associá-lo a subnet-public-1
Agora precisamos criar um Internet Gateway para que por fim possamos definir no RouteTable a regra para esta comunicação.
Internet Gateway
Este serviço da VPC chamado Internet Gateway permite que você faça que seus recursos de rede estejam visíveis para o mundo, este recurso ficará atrelado a sua VPC, porém apenas via Route Table que o tráfego de dados será redirecionado, então a importância de segmetar a rede fica aparente agora
Para cria um Internet Gateway, clique em criar e coloque o nome: igw-subnet-public-1. Clique em Criar novamente.
Após criado, selecione o mesmo e clique em Actions, selecione Attach to VPC
Selecione a nossa VPC criada e pronto agora a tela irá informar que temos um Internet Gateway atrelado a VPC.
Voltando ao RouteTable
Agora de volta no RouteTable, selecione o rt-subnet-public-1 e vamos criar a regra de comunicação entre a subnet e a o internet gateway.
Ao selecionar, clique em Routes e depois em Edit Routes, irá abrir a tela de edição das rotas.
Pronto nossa subnet terá acessibilidade de IP’s externos da VPC.
Neste exemplo não criamos um RouteTable para a rede privada, pois por padrão a AWS já cria um, com regras de rede interna apenas.
Agora ao atrelar esta VPC a um recurso, sendo ela uma EC2 ou RDS, você deve usar a fatia da rede corretamente, sendo, uma EC2 que será acessada remotamente por administradores via internet, terá atrelado a sua criação a VPC e a subnet pública, já um banco de dados terá a VPC e a subnet privada.
Network ACL
Um importante ponto de segurança é definir regras especificas neste recurso.
O Network ACL fala diretamente com as regras de Inbound e Outbound da VPC a nível de Rede ainda, aumentando a segurança da sua rede. Logo sua importância e criteriosidade é bem complexa.
Por padrão, quando criado uma nova VPC, o network ACL vem com tudo liberado, porém as regras de negação também é criada, mas deixando como padrão como tudo liberado.
Security Groups
Já o Security Groups é uma segunda barreira de segurança já a nível de Máquina/Recursos mesmo, onde podemos definir outros tipos de limitações e permissões, como por exemplo, permitir que um recurso especifico recebe tráfego apenas de outro recurso que esteja no mesmo Security Group.
Então é isso, AWS VPC é uma parte fundamental quando vamos criar uma nova infraestrutura cloud, pois esta será a base de todos os recursos a partir de então.
Esperamos que este artigo ajude a você a tomar boas decisões quando for iniciar um projeto. Caso tenha ficado alguma dúvida, temos um vídeo demonstrando todos esses pontos clique aqui e aqui.
Abraços.