... | ... | @@ -16,7 +16,7 @@ |
|
|
|
|
|
# Diagrama de Deploy
|
|
|
|
|
|

|
|
|

|
|
|
|
|
|
## Visão Geral
|
|
|
|
... | ... | @@ -25,15 +25,16 @@ A aplicação está hospedada na **AWS**, utilizando uma instância **EC2** para |
|
|
---
|
|
|
## Componentes
|
|
|
|
|
|
- **Client**: Usuário acessando a aplicação via navegador.
|
|
|
- **EC2**: Instância responsável por hospedar os containers da aplicação.
|
|
|
- **GitLab Runner**: Runner configurado na EC2 que realiza o deploy automático via GitLab.
|
|
|
- **ECR**: Repositório de imagens Docker utilizadas na aplicação.
|
|
|
- **Traefik**: Proxy reverso e load balancer, responsável por rotear requisições.
|
|
|
- **Front-End**: Interface da aplicação desenvolvida com React.
|
|
|
- **Back-End**: API desenvolvida com NestJS, conectada ao banco e à Amazon SES.
|
|
|
- **Database**: Banco de dados PostgreSQL, acessado por rede privada.
|
|
|
- **Amazon SES**: Serviço de envio de e-mails utilizado pelo backend.
|
|
|
- **Client**: Usuário acessando a aplicação via navegador.
|
|
|
- **EC2**: Instância responsável por hospedar os containers da aplicação.
|
|
|
- **GitLab Runner**: Runner configurado na EC2 que realiza o deploy automático via GitLab.
|
|
|
- **ECR**: Repositório de imagens Docker utilizadas na aplicação.
|
|
|
- **Traefik**: Proxy reverso e load balancer, responsável por rotear requisições.
|
|
|
- **Front-End**: Interface da aplicação desenvolvida com React.
|
|
|
- **Back-End**: API desenvolvida com NestJS, conectada ao banco, Amazon SES e Amazon S3.
|
|
|
- **Database**: Banco de dados PostgreSQL, acessado por rede privada.
|
|
|
- **Amazon SES**: Serviço de envio de e-mails utilizado pelo backend.
|
|
|
- **Amazon S3**: Serviço de armazenamento de objetos, utilizado para salvar e servir imagens.
|
|
|
|
|
|
---
|
|
|
|
... | ... | @@ -43,21 +44,21 @@ A aplicação está hospedada na **AWS**, utilizando uma instância **EC2** para |
|
|
|
|
|
- Traefik
|
|
|
- Front-End (React)
|
|
|
- Back-End (NestJS)
|
|
|
- Back-End (NestJS)
|
|
|
|
|
|
### Rede Privada
|
|
|
|
|
|
- Banco de Dados (PostgreSQL)
|
|
|
- Banco de Dados (PostgreSQL)
|
|
|
|
|
|
---
|
|
|
|
|
|
## Fluxo de Deploy
|
|
|
|
|
|
1. GitLab Runner é acionado, na **main**, por push no repositório.
|
|
|
2. Runner faz build e push da imagem Docker para o ECR.
|
|
|
3. Instância EC2 puxa a nova imagem do ECR.
|
|
|
4. Traefik roteia as requisições para front-end ou back-end conforme a URL.
|
|
|
5. Backend se comunica com:
|
|
|
- Banco de dados via rede privada.
|
|
|
- Amazon SES para envio de e-mails.
|
|
|
|
|
|
1. GitLab Runner é acionado, na **main**, por push no repositório.
|
|
|
2. Runner faz build e push da imagem Docker para o ECR.
|
|
|
3. Instância EC2 puxa a nova imagem do ECR.
|
|
|
4. Traefik roteia as requisições para front-end ou back-end conforme a URL.
|
|
|
5. Backend se comunica com:
|
|
|
- Banco de dados via rede privada.
|
|
|
- Amazon SES para envio de e-mails.
|
|
|
- Amazon S3 para armazenar e recuperar imagens. |