Diagrama antigo:
Diagrama final:
A concepção inicial da arquitetura foi pensada com foco em simplicidade, custo e fluidez operacional. Nessa configuração, o frontend foi hospedado no AWS Amplify, a fins de facilidade no deploy e CI/CD. Já o backend iria residir em uma instância EC2 dentro de uma subnet privada, containerizada via Docker.
A comunicação entre o cliente e o backend seria mediada pelo AWS API Gateway, que iria direcionar as requisições para nossa API. Essa API se comunicava diretamente com a instância de banco de dados dentro da mesma VPC, mantendo segurança e isolamento da infraestrutura.
Todavia...
...com o avanço do projeto, surgiram contratempos relacionados a AWS. Isso nos levou a nova estrutura conforme consta no Diagrama final acima.
A estrutura final concreta posiciona a instância EC2 em uma subnet pública, de forma que o frontend comunica-se diretamente com o backend, sem a mediação do API Gateway. O banco de dados seguiu sendo hospedado na mesma EC2 que a API, e o frontend também não sofreu alterações quanto ao serviço Amplify para fins de deploy.


