Implementando Rebase na AWS
A Amazon Web Services (AWS) oferece escalabilidade incrível e segurança de nível empresarial. Para uma implantação de produção do Rebase, recomendamos desacoplar a arquitetura usando o Amazon RDS para o banco de dados PostgreSQL e o AWS App Runner (ou ECS Fargate) para servir o backend Node.js.
Para manter a estrita conformidade de dados europeia, certifique-se de operar inteiramente dentro de uma região da UE, como eu-central-1 (Frankfurt), eu-west-1 (Irlanda) ou eu-west-3 (Paris).
1. Provisionar Amazon RDS (PostgreSQL)
Seção intitulada “1. Provisionar Amazon RDS (PostgreSQL)”- Navegue até o console do RDS na sua região da UE selecionada.
- Clique em Criar banco de dados e selecione Criação padrão.
- Escolha o motor PostgreSQL.
- Em Modelos, escolha Produção ou Nível gratuito/Desenvolvimento dependendo da sua carga.
- Crie um Nome de Usuário Mestre (ex:
rebase_admin) e gere uma Senha Mestra de forma segura. - Em Conectividade, certifique-se de que o banco de dados esteja dentro de uma VPC que sua futura instância do App Runner possa acessar com segurança (ou torne-o publicamente acessível se estiver controlando rigorosamente os intervalos de IP de entrada).
- Uma vez provisionado, anote o endereço do endpoint e monte seu URI:
postgresql://rebase_admin:YOUR_PASSWORD@YOUR_ENDPOINT:5432/postgres
2. Enviar Imagem para o ECR (Elastic Container Registry)
Seção intitulada “2. Enviar Imagem para o ECR (Elastic Container Registry)”O AWS App Runner puxa diretamente do ECR. Crie sua imagem Docker localmente e envie-a.
- Navegue até o Elastic Container Registry e crie um novo repositório privado chamado
rebase-backend. - Obtenha os comandos de push fornecidos pela AWS no console (que lidam com a autenticação Docker).
- Crie sua imagem localmente a partir da pasta raiz:
docker build -t rebase-backend ./backend
- Marque e envie-a para o seu repositório ECR recém-criado.
3. Implementar via AWS App Runner
Seção intitulada “3. Implementar via AWS App Runner”O App Runner é a maneira mais simples de executar contêineres na AWS sem gerenciar orquestradores.
- Navegue até o AWS App Runner e clique em Criar serviço.
- Selecione Registro de contêiner e escolha Amazon ECR.
- Procure e selecione sua imagem
rebase-backend. - Em Configurações do serviço, defina a Porta para 3001.
- Adicione as Variáveis de Ambiente necessárias na aba de configuração:
| Chave | Valor |
|---|---|
DATABASE_URL | Sua String de Conexão do RDS |
JWT_SECRET | Um hash seguro gerado aleatoriamente (32+ caracteres) |
NODE_ENV | production |
- (Opcional) Se sua instância RDS for estritamente privada, configure a rede VPC Personalizada no App Runner para que o contêiner possa se comunicar com segurança com o banco de dados.
- Clique em Criar e implantar.
A AWS lidará com a terminação TLS (fornecendo uma URL https pronta para uso) e iniciará o servidor Rebase.