Pular para conteúdo

Deploy AWS ECS + API Gateway — ecosif-masterdata

Público-alvo: DevOps / SRE
Objetivo: Configurar o serviço ecosif-masterdata na AWS com ECS e uma única API Gateway. URL final: https://app.ecosif.com.br/ecosif-masterdata. Este documento não cobre criação de banco de dados.


1. Arquitetura e mapeamento na API Gateway

Path (API Gateway) Target Descrição
/ecosif-masterdata / /ecosif-masterdata/{proxy+} ECS ecosif-masterdata (ALB) Dados mestres (empresas, filiais, planos de contas, etc.)

2. Context path

Configurar context path /ecosif-masterdata:

  • No application.yml: server.servlet.context-path: /ecosif-masterdata
  • Ou variável: SERVER_SERVLET_CONTEXT_PATH=/ecosif-masterdata

3. Variáveis de ambiente para ECS (ecosif-masterdata)

3.1 Servidor

Variável Obrigatória Descrição Valor em ECS
ECOSIF_MASTERDATA_PORT Sim* Porta HTTP do contentor 8080
SERVER_SERVLET_CONTEXT_PATH Sim Prefixo da aplicação /ecosif-masterdata

3.2 Banco de Dados (PostgreSQL)

Variável Obrigatória Descrição Exemplo
POSTGRES_HOST Sim Host do PostgreSQL ecosif-db.xxxxx.us-east-1.rds.amazonaws.com
POSTGRES_PORT Sim Porta 5432
POSTGRES_DB Sim Nome do banco ecosif
POSTGRES_USER Sim Usuário ecosif_masterdata
POSTGRES_PASSWORD Sim Senha (secret)

3.3 JWT e CORS

Variável Obrigatória Descrição Valor para app.ecosif.com.br
AUTH_TOKEN_SECRET Sim Chave JWT (igual ao ecosif-auth) (secret)
TOKEN_EXPIRATION Sim Vida do token (ms) 86400000
ECOSIF_CORS Sim Origens CORS https://app.ecosif.com.br

3.4 JPA / Hibernate / AWS S3 (se usar)

Variável Obrigatória Descrição Valor típico
HIBERNATE_DDL_AUTO Sim* DDL Hibernate validate
AWS_ACCESS_KEY_ID Conforme uso AWS (S3, etc.)
AWS_SECRET_ACCESS_KEY Conforme uso AWS
AWS_DEFAULT_REGION Conforme uso Região us-east-1
AWS_S3_BUCKET Conforme uso Bucket (import, etc.)
LOG_FORMAT Não Logback json

4. ECS (task definition)

  • Porta do contentor: 8080.
  • Health check (ALB): /ecosif-masterdata/actuator/health.
  • Secrets: POSTGRES_PASSWORD, AUTH_TOKEN_SECRET (e credenciais AWS se necessário).

Para lista completa de variáveis e S3, ver operational.md.