Pular para conteúdo

Deploy AWS ECS + API Gateway — ecosif-moviments

Público-alvo: DevOps / SRE
Objetivo: Configurar o serviço ecosif-moviments na AWS com ECS e uma única API Gateway. URL final: https://app.ecosif.com.br/ecosif-moviments. 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-moviments / /ecosif-moviments/{proxy+} ECS ecosif-moviments (ALB) Lançamentos, lotes, consolidação, encerramento, importação

2. Context path

Configurar context path /ecosif-moviments:

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

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

3.1 Servidor

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

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_moviments
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 / Flyway / AWS S3 / Logs

Variável Obrigatória Descrição Valor típico
HIBERNATE_DDL_AUTO Sim* DDL Hibernate validate
ECOSIF_FLYWAY_ENABLED Não Migrações na subida true ou false
ECOSIF_ENVIRONMENT Não Identificador de ambiente prod
AWS_ACCESS_KEY_ID Conforme uso AWS S3
AWS_SECRET_ACCESS_KEY Conforme uso AWS
AWS_DEFAULT_REGION Conforme uso Região us-east-1
AWS_S3_BUCKET Conforme uso Bucket (import, purge, etc.)
LOG_FORMAT Não Logback json

4. ECS (task definition)

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

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