DEV Community

Hernani Almeida
Hernani Almeida

Posted on • Edited on

1 1

Criando uma arquitetura escalável na AWS utilizando Cloudfront, CloudWatch, Elastic Beanstalk, Dynamodb - parte 1

Ferramentas necessárias:

A Amazon Web Services (AWS) é a plataforma de nuvem escalável mais abrangente e amplamente adotada do mundo. A AWS oferece mais de 200 serviços totalmente caracterizados de data centers globalmente e muitas empresas tem migrado seus sistemas On Premise para a cloud da AWS e nesse post vamos abordar a criação de uma arquitetura escalável auto gerenciada pela AWS através do recurso ElasticBeanstalk para uma aplicação que tenha picos de acessos e continue mantendo sua performance.
Vou dividir este post em 4 partes para facilitar o conteúdo e abordagem dos recursos utilizados na AWS.
Antes de iniciarmos irei fazer uma breve descrição sobre os recursos que utilizaremos dentro da cloud AWS nesta primeira parte do post.

  • VPC (Virtual Private Cloud) - Um VPC é uma rede virtual específica para você dentro da AWS para que você mantenha todos os seus serviços AWS. É um data center lógico na AWS e terá gateways, tabelas de rotas, listas de controle de acesso de rede (ACL), sub-redes e grupos de segurança.
  • Dynamodb: Banco de dados Nosql auto gerenciado pela AWS

Para iniciarmos vamos construir uma VPC utilizando o console da nossa conta AWS, pesquise na aba superior dentro da sua conta sobre VPC e clique no recurso VPC logo abaixo
Image description

Dentro do dashboard do recurso VPC clique no botão Launch VPC Wizard e chegara na tela abaixo

Image description

Mantenha a primeira opção selecionada e clique no botao select na parte inferior, na próxima tela deixe a configuração conforme a imagem abaixo e clique no botão Create VPC
Image description

Dentro do dashboard do recurso VPC da AWS clique na aba Your VPCS e podemos visualizar nossa VPC criada
Image description

Clicando na aba subnets podemos ver que temos uma subnet linkada a nossa VPC dentro de uma Availability Zone
Vpc criada

Availability Zone

Vamos criar mais 5 subnets publica em 5 diferentes Availability Zone, clique no botão Create Subnet e na tela a seguir em VPC selecione a VPC que criamos

define vpc

Em Subnet Settings configure a subnet conforme imagem abaixo e clique em Add new subnet para configurar a próxima subnet.
Obs: Clique no botão Add new subnet ate configurar as 5 subnets necessárias em 5 diferentes Availability Zone (conforme as imagens abaixo) e clique em create subnet
settings vpc

Image description

Image description

Image description

Image description

O resultado final que devemos chegar nesta parte e nossa VPC criada e com as 6 subnets relacionadas a ela, dentro da aba subnets filtre as subnets pelo nome da nossa VPC ( vpc-bootcamp-1) e tera que obter 6 subnets com 6 diferentes Availability Zone relacionados a esta VPC conforme imagem abaixo.

Image description

Agora e necessário criarmos uma rota na VPC para permitir trafego de internet dentro das subnets, novamente entre no recurso VPC da conta AWS e cique na aba Route Tables

Image description

Nesta tela filtre as route tables com o nome da VPC que criamos (vpc-bootcamp-1) e clique na route table id em que o parametro Main esta como Yes

Image description

Logo abaixo ira abrir uma aba com os dados da route table, no canto direito clique em Edit Routes e chegara na tela abaixo

Image description

Clique em Add Route e configure a nova rota conforme a imagem abaixo clicando em Save Changes.
Obs: Em target selecione a opção Internet Gateway e após selecione o igw que aparecer como opção.

Image description

Para finalizar este post vamos deixar criado a tabela users dentro do DynamoDb em nossa conta AWS, que será utilizada pela nossa aplicação, na pagina inicial do console da AWS pesquise por DynamoDb e clique no recurso do DynamoDb.
Image description

Na tela a seguir clique em Create Table e configure a tabela na próxima tela conforme a imagem abaixo, feito isso clique em Create

Image description

Link parte 2:

Deixo aqui meus contatos:
linkedin
github

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

Top comments (0)

nextjs tutorial video

Youtube Tutorial Series 📺

So you built a Next.js app, but you need a clear view of the entire operation flow to be able to identify performance bottlenecks before you launch. But how do you get started? Get the essentials on tracing for Next.js from @nikolovlazar in this video series 👀

Watch the Youtube series