Criando sua rede na AWS com VPC

AMAZON VPC

Neste artigo falaremos do serviço da AWS Virtual Private Cloud (VPC) e mostraremos através de um passo a passo como criar uma rede privada dentro da AWS.

 

O que é uma VPC?

A Amazon VPC é um serviço que permite o usuário criar e gerenciar uma rede privada dentro da cloud AWS, isolada das outras contas, podendo executar recursos dentro de uma rede virtual definida por você. Semelhante a uma rede tradicional mas com os benefícios de um ambiente dimensionável da AWS. O usuário define toda a rede de seu ambiente, como por exemplo range de IP, Security group, Subnet, Gateways e outras configurações que pertencem a uma VPC.

Antes de criar uma VPC é importante realizar um planejamento e criar um esboço de quais aplicações serão utilizadas na AWS, quais terão acesso a internet, quantas subnets serão utilizadas, quais irão se comunicar entre si, quais as regras do firewall, dentre outras opções disponíveis. A VPC é a sua estrutura de rede na cloud que pode ser comparada com a sua estrutura de rede local, caso não seja configurada corretamente pode acarretar diversos problemas.

Componentes de uma VPC:

 

  • Subnet

    • A Subnet é uma subdivisão lógica da VPC, onde você determina o range de IP derivado do range da VPC.
    • As subnets podem ser classificadas como, públicas que possuem acesso a internet e privadas que não possuem acesso a internet.
    • Para que uma subnet seja pública e tenha o acesso a internet é necessário existir uma entrada na Route Table para o Internet Gateway, caso a subnet não possua essa regra é chamada de subnet privada. Lembrando que a subnet deve ser configurada de acordo com a necessidade do negócio, não sendo obrigatoriamente pública e privada.
  • NACL

    • A network access control list(NACL) é um componente de segurança opcional que controla o tráfego de entrada e saída de uma subnet, semelhante a um firewall a nível de subnet.
    • Os NACLs operam na camada 4 do modelo OSI, toda subnet deve ser associada a uma NACL, ele afeta apenas o tráfego que chega aos limites de uma subnet.
    • As regras adicionadas aos NACLs podem permitir ou negar o tráfego com base em seu protocolo, intervalo de portas ou origem/destino, as regras são processadas em ordem numérica, da menor para a maior.
    • O NACL é stateless ou sem estado, ele precisa considerar o tráfego de inicialização e resposta.
    • O NACL utiliza por padrão o intervalo de portas efêmero 32768-65535, mas o recomendado é utilizar um intervalo diferente para os NACL de acordo com o tipo de cliente que estiver se comunicando.
  • Security Group

    • Um Security Group atua como um firewall virtual para os recursos da AWS, como por exemplo uma Ec2, controlando o tráfego de entrada e saída, os security groups atuam a nível de ENI e não de subnet, a cada ENI podem ser atribuídos até cinco security groups.
    • Os SGs são stateful ou seja um firewall que rastreia o estado operacional e as características de rede que o atravessam, eles operam na camada 5 do modelo OSI, só é possível adicionar regras de entradas e antes de serem aplicadas todas as regras são avaliadas, por padrão é liberado todo tráfego de entrada e saída das instancias no mesmo security group. 
  • Route Table

    • Uma route table é um conjunto de regras, chamadas de rotas , que são utilizadas para direcionar onde seu tráfego de rede, de subnet ou gateway deve chegar. Como exemplo, definir a rota de tráfego das instâncias de uma subnet pública até o gateway de internet.
  • Internet Gateway

    • Um gateway de internet é um componente da VPC redundante e de alta disponibilidade, que permite a comunicação entre instâncias na VPC com a internet. Oferece suporte a IPv4 e a IPv6 é possível adicionar 5 IGW por região e apenas 1 por VPC.
  • NAT Gateway

    • O NAT Gateway é utilizado para permitir que instâncias em uma subnet privada se conectem a internet ou a outros serviços da AWS, mas evitando que a internet inicie conexão direta nessas instâncias. Eles permitem que somente a descrição de instâncias privadas saiam para a internet, porque a comunicação entre recursos da AWS é gerida por outros serviços como o Endpoint Gateway e interface.
    • O NAT Gateway é statefull, é recomendado utilizar um por AZ e não é possível compartilhamento entre VPCs, ele suporta uma largura de 5 Gbps de banda e pode escalar automaticamente até 45 Gbps.
  • Bastion Host

    • Os bastion hosts oferecem acesso seguro a instâncias localizadas em subnets privadas e públicas dentro da VPC.

 

Criando uma VPC

Vamos criar um passo a passo de como criar uma VPC, com subnet, NACL, security group, route table e internet gateway.

1) Acessar o management console e buscar pelo serviço VPC e selecionar a opção no menu a esquerda “Your VPCs”. Conforme imagem:

 

2) Após selecionar a opção, resultará em uma tela mostrando as VPCs que já estão criadas, por default toda região da AWS ja tem uma VPC criada, para seguir criando uma nova VPC, você deve selecionar a opção “Create VPC”, conforme imagem:

 

3) Após selecionar a opção, na próxima tela você deve informar um nome para a VPC, um bloco CIDR IPv4, escolher se terá IPv6 e como será gerenciado ou se não terá e por fim você pode escolher a locação da VPC, se ela será a default ou dedicada.

 

4) Feito isso, sua VPC será criada com sucesso, conforme imagem:

 

 

Criando a subnet

1) Por default as subnets na imagem abaixo são criadas pela AWS na VPC padrão, também da AWS. Para criar uma subnet, você deve selecionar no menu a esquerda a opção “Subnet” e depois a opção “Create Subnet”, conforme imagem:

 

2) Feito o passo anterior, você deve informar o nome para a subnet, a VPC a qual essa subnet vai pertencer, em qual AZ ela ficará alocada e por fim o bloco de IP dessa subnet:

 

3) Após criar a subnet, você deve habilitar o auto-assign IP. Para isso você deve selecionar a opção “Actions” e por fim selecionar a opção “Modify auto-assign IP settings”. Conforme imagem abaixo:

 

4) Agora você deve selecionar a opção “Enable auto-assign public IPv4 address” e salvar, conforme imagem:

 

5) Feito esses passos, sua subnet será criada com sucesso, conforme imagem:

 

 

Criando NACL

1) Por default, ao criar um nova VPC é criado automaticamente uma NACL, mas neste passo a passo mostraremos como criar uma. Para criar o componente de segurança NACL, você deve acessar no meno a esquerda a opção “Network ACLs” e em seguida a opção “Create Network ACL”, conforme selecionado na imagem:

 

2) Para criar o NACL é necessário informar um nome e a qual VPC ele vai pertencer, conforme imagem:

 

3) Feito o passo anterior, o NACL será criado com sucesso. Conforme imagem:

 

4) Para definir as regras desse NACL, você deve selecioná-lo e selecionar as abas “Inbound Rules” e “Outbound Rules” que são respectivamente, regras de entrada e regras de saída. Por padrão, ao criar uma nova NACL ela vem negando todo tipo de acesso. Conforme imagens:

 

 

Criando Security Group

1) Por default ao criar uma nova VPC, é criado um security group padrão, mas nesse exemplo, mostraremos como criar um novo. Para criar um security group, você deve acessar no menu a esquerda a opção “Security Groups” e depois a opção “Create security group”, conforme imagem:

 

2) Para criar um novo security group é necessário informar um nome, uma descrição e a qual VPC ele vai pertencer, conforme imagem abaixo:

 

3) Feito estes passos, o security group será criado com sucesso, conforme imagem:

 

4) Para definir as regras de entrada e saída é da mesma forma que se define para os NACL, selecionando o security group e indo nas abas “Inbound Rules” e “Outbound Rules”, por padrão ele vem sem nenhuma regra de entrada e com regra de negação de saída, conforme imagens:

 

 

Criando Route Table

1) Por default ao criar uma nova VPC, é criado automaticamente um route table padrão, mas nesse exemplo mostraremos como criar uma nova. Para criar uma route table, você deve selecionar a opção no menu a esquerda “Route Tables” e depois a opção “Create route table”, conforme imagem:

 

2) Para criar a route table é necessário informar um nome e a qual VPC ela vai pertencer, conforme imagem:

 

3) Feito isso, sua route table foi criada com sucesso, conforme imagem:

 

4) Você pode alterar as as rotas e associar a uma subnet através das opções nas abas “Routes” e “Subnet Associations”.

 

 

Criando Internet Gateway

1) Para criar um Internet Gateway, você deve selecionar no menu a esquerda a opção “Internet Gateways” e depois “Create internet gateway”, conforme imagem:

 

2) Para criar o internet gateway é necessário informar somente um nome para ele, conforme imagem:

 

3) Feito esses passos o internet gateway será criado, conforme imagem.

 

4) Quando um novo internet gateway é criado ele vem desanexado de qualquer VPC, por isso devemos atribuí-lo a VPC desejada. Para isso você deve selecionar o IGW desejado, selecionar “Actions” e depois “Attach to VPC”, conforme imagem:

 

5) Feito isso, você deverá selecionar a VPC desejada, conforme imagem:

 

6) Após realizado estes passos, o IGW estará configurado corretamente a VPC selecionada, conforme imagem:

 

 

Configurando uma rede com VPC

Neste exemplo mostraremos como configurar um ambiente utilizando VPC, como criar uma rede pública e uma privada, com subnet, NACL, route table e gateway de internet.

 

  • Criando subnets

1) Após criar a VPC vamos criar duas subnets, um pública e uma privada, como na imagem abaixo:

 

  • Configurando NACLs

1) Primeiro vamos configurar as NACLs, uma pra acesso público e outra para acesso privado, conforme imagens:

 

2) Agora devemos associar as NACLs pública e privada com as respectivas subnets, na opção “Subnet Associations”, conforme imagens:

 

  • Criando Internet gateway

1) Agora vamos criar um gateway de internet e anexa-lo a VPC, conforme ensinado anteriormente. Deve ficar como na imagem abaixo:

 

  • Configurando route table

1) Primeiro devemos criar duas route tables, uma para a rota pública e outra para a privada. Conforme imagem:

 

2) Agora vamos atribuir uma rota na rt pública apontando para o IGW, para isso selecionamos a opção “Routes” e depois “Edit routes” e associamos ao IGW anexado na nova VPC, conforme imagem. Na rt privada não é necessário atribuir um IGW, pois o tráfego é local.

 

Testando instâncias EC2 dentro da VPC

Neste exemplo vamos mostrar duas instâncias EC2 funcionando dentro da VPC, uma dentro da subnet pública e outra dentro da subnet privada.

1) Primeiro devemos criar as EC2 dentro da nova VPC, para que as regras dessa VPC sejam atribuídas as instâncias, ao criar a EC2 você deve alterar essas opções e alterar para a VPC que desejar, pois por padrão vem a default da AWS já selecionada.

 

2) Após criar as instâncias dentro da VPC, devemos acessar e realizar o testes, segue na imagem abaixo, dados das instâncias:

  • EC2 Pública

 

  • EC2 Privada

 

  • Acessando EC2 dentro de subnet pública e realizando teste de ping:

 

  • Acessando EC2 em subnet privada: Ao tentar acesso diretamente de uma máquina fora da rede da VPC, não é possível acessar a máquina, conforme primeira imagem:

  • Por isso, precisamos realizar acesso através de uma máquina de dentro da VPC, como na imagem abaixo:

 

Finalizado todos os passos, você configurou com sucesso uma VPC, com uma subnet pública e privada, NACLs com políticas de acesso externo e interno, um gateway de internet e duas route tables, uma apontando para este IGW e outra somente para rota local.

Este foi mais um artigo sobre AWS, falando de VPC. Esperamos que tenham gostado, até o próximo.

Deixe uma resposta