|
 |
|

|
|
\ No newline at end of file |
|
|
|
|
|
|
|
|
|
Aqui vai uma leitura direta do diagrama:
|
|
|
|
|
|
|
|
Cliente → Front-end (React): o usuário acessa a aplicação web; o front-end está hospedado na EC2 (em Docker) e serve a UI.
|
|
|
|
|
|
|
|
Front-end → Back-end (Spring Boot): a UI chama APIs do back-end exposto na rede pública da instância. O back-end também roda em Docker na mesma EC2.
|
|
|
|
|
|
|
|
Back-end → Banco de Dados (PostgreSQL): o serviço Spring Boot comunica-se com o PostgreSQL em rede privada (isolado do público), também containerizado. Apenas o back-end enxerga o banco.
|
|
|
|
|
|
|
|
Back-end ↔ Amazon S3: o servidor usa o S3 para armazenar/ler arquivos (ex.: uploads, estáticos).
|
|
|
|
|
|
|
|
CI/CD com GitLab Runner: um GitLab Runner na EC2 executa o pipeline. Ele:
|
|
|
|
|
|
|
|
faz build das imagens Docker do front e do back;
|
|
|
|
|
|
|
|
envia as imagens para o Amazon ECR;
|
|
|
|
|
|
|
|
puxa as imagens do ECR e faz o deploy/atualização dos containers na EC2.
|
|
|
|
|
|
|
|
ECR (registry): repositório das imagens Docker versionadas, consumidas pelos deploys.
|
|
|
|
|
|
|
|
Rede e segurança:
|
|
|
|
|
|
|
|
Back-end tem endpoint público (porta exposta conforme SG/NACL).
|
|
|
|
|
|
|
|
Banco fica em sub-rede/bridge privada (sem exposição externa).
|
|
|
|
|
|
|
|
Comunicação interna entre containers acontece na mesma host/bridge Docker.
|
|
|
|
|
|
|
|
Resumo do fluxo: Usuário → Front (EC2) → Back (EC2) → DB (privado) + S3 (armazenamento). Build/Release: GitLab Runner → build → push no ECR → pull e (re)deploy na EC2. |
|
|
|
\ No newline at end of file |