
Cloud Computing: Trabalhando com redes dentro da AWS
Entenda como funcionam as redes dentro da AWS e utilize-as da forma correta.
As VPCs (Virtual Private Clouds) na Amazon Web Services (AWS) são redes privadas virtuais isoladas e personalizáveis que um usuário pode criar em sua conta AWS. Essas VPCs permitem que um usuário tenha controle total sobre sua rede virtual, desde a sub-rede à configuração dos recursos de computação e armazenamento. Isso oferece ao usuário maior flexibilidade e segurança em seu ambiente AWS. Além disso, as VPCs permitem que o usuário crie redes privadas separadas para diferentes aplicativos, equipes ou clientes.
Criando a VPC
Para criar uma uma nova VPC, vá até o Painel da VPC ou então pesquise por VPC na barra de busca e acesse o serviço. Por padrão a AWS já cria uma vpc e seis sub-redes, porém é uma boa prática criar uma rede do zero para cada aplicação e assim garantir que elas funcionem em redes isoladas. Dentro do Painel da VPC, clique em Criar VPC e dê um nome para ela. O próximo passo é configurar o CIDR IPv4. O CIDR (Classless Inter-Domain Routing) é uma técnica usada para designar endereços de rede IP de forma mais eficiente. Ele é usado para substituir a técnica de divisão de rede em classes, como Classe A, Classe B e Classe C, que foram usadas anteriormente para alocar endereços IP. O CIDR é amplamente utilizado na internet atualmente como uma maneira de dividir grandes blocos de endereços IP em sub-redes menores, facilitando a alocação e gerenciamento desses endereços. Para o CIDR nós podemos utilizar, por exemplo, o bloco 10.0.0.0/16. Após informar o bloco de IP's no campo CIDR podemos confirmar a criação da VPC.
Após criar a VPC, precisamos habilitar os nomes de host DNS. Para isso selecione a VPC criada e em ações clique em "Editar configurações da VPC". Na seção "Configurações de DNS" ative as duas opções, "Habilitar resolução de DNS" e "Habilitar nomes de host DNS".
Criando as sub-redes
O próximo passo é configurar as sub-redes. Acesse o painel de Sub-redes ou Subnets, e clique em Criar sub-rede. Para a configuração de cada uma das sub-redes é recomendado manter no nome uma indicação da zona de disponibilidade para fácil identificação. Por exemplo, uma sub-rede alocada na zona us-east-1a pode ser nomeada como my-app-subnet-us-east-1a. O bloco CIDR da primeira subnet podemos configurar como 10.0.1.0/24 e alterar a classe C do bloco em cada sub-rede, por exemplo 10.0.1.0/24, 10.0.2.0/24, 10.0.3.0/24 e etc. No resultado final teremos algo parecido com isso:
- my-app-subnet-us-east-1a | us-east-1a | 10.0.1.0/24
- my-app-subnet-us-east-1b | us-east-1b | 10.0.2.0/24
- my-app-subnet-us-east-1c | us-east-1c | 10.0.3.0/24
- my-app-subnet-us-east-1d | us-east-1d | 10.0.4.0/24
- my-app-subnet-us-east-1e | us-east-1e | 10.0.5.0/24
- my-app-subnet-us-east-1f | us-east-1f | 10.0.6.0/24
Configurando o Internet Gateway
Por padrão, as VPC's são isoladas e não podem acessar nem serem acessadas pela internet. Para que nossa rede possa ficar disponível, precisamos criar um Internet Gateway. Para isso vá até o Painel de Internet Gateways, crie um novo, informe o nome do Internet Gateway e confirme a criação. Para associar esse Internet gateway a VPC, selecione o Internet Gateway criado e em ações, clique em Associar à VPC. Agora basta informar a VPC que deseja associar ao Internet Gateway e confirmar a conexão. Em seguida vá até o Painel de Tabela de Rotas, selecione a tabela da VPC, clique em editar rotas e preencha o destino 0.0.0.0/0 e o alvo como o Internet Gateway criado anteriormente. Dessa forma, qualquer requisição feita com destino externo a VPC será direcionado para o Internet Gateway.
Configurando os Security Groups
Os grupos de segurança são um recurso da AWS para permitir o gerenciamento de acessos à serviços em portas específicas, permitindo apenas o tráfego necessário para um recurso em particular. Para criar um grupo de segurança vá até o Painel de Grupos de segurança, clique em Criar grupo de segurança, informe o nome e descrição para esse grupo e selecione a VPC que deverá ser atrelada a esse grupo de segurança. Nas seções de Regras de entrada e Regras de saída, informaremos os IP's que podem acessar e que podem ser acessados pelo nosso grupo de acesso. Nesse caso vai depender de que tipo de acesso sua aplicação vai necessitar. Por exemplo, uma instância EC2 que precise de acesso SSH com uma aplicação que precisa de acesso HTTP e HTTPS podemos adicionar em Regras de entrada:
- SSH | TCP | 22 | Meu IP
- HTTPS | TCP | 443 | Qualquer IPv4 | 0.0.0.0/0
- HTTP | TCP | 80 | Qualquer IPv4 | 0.0.0.0/0
Outro cenário comum seria acessar um banco de dados de uma instância EC2. Nesse caso, a instancia teria um grupo de segurança com as regras de entrada SSH, HTTP e HTTPS e o banco de dados teria outro grupo de segurança, mas dessa vez apontando a entrada para o grupo de segurança da API, ou seja, Grupos podem incluir outros grupos dentro de suas regras de acesso. Isso facilita que sistemas com IP's dinâmicos possam se comunicar internamente com segurança.
Em seguida podemos manter as Regras de saída como "Todo o tráfego" e confirmar a criação do grupo de segurança.
Esse artigo faz parte de uma série sobre computação em nuvem e é importante que você siga os artigos na integra para que não hajam lacunas de conhecimento. Para ver os outros artigos sobre computação em nuvem acesse esse link.