AWS Brasil - Deploy n8n na Nuvem
Este guia mostra como fazer deploy do n8n na AWS Brasil, aproveitando a infraestrutura local para melhor performance e compliance com regulamentações brasileiras.
Configuração de Recursos AWSTerraform Configuration
# main.tf
provider "aws" {
region = "us-east-1"
}
# VPC Resource
resource "aws_vpc" "n8n_vpc" {
cidr_block = "10.0.0.0/16"
tags = {
Name = "n8n-vpc"
Environment = "production"
Project = "n8n-automation"
}
}
# EC2 Instance
resource "aws_instance" "n8n_server" {
ami = "ami-0c02fb55956c7d316" # Amazon Linux 2
instance_type = "t3.medium"
vpc_security_group_ids = [aws_security_group.n8n_sg.id]
subnet_id = aws_subnet.n8n_public.id
user_data = <<-EOF
#!/bin/bash
yum update -y
yum install -y docker
systemctl start docker
systemctl enable docker
docker run -d --name n8n -p 5678:5678 n8nio/n8n:latest
EOF
tags = {
Name = "n8n-server"
}
}
# RDS PostgreSQL
resource "aws_db_instance" "n8n_database" {
identifier = "n8n-db"
engine = "postgres"
engine_version = "13.7"
instance_class = "db.t3.micro"
allocated_storage = 20
storage_type = "gp2"
storage_encrypted = true
db_name = "n8n"
username = "n8n_user"
password = var.db_password
vpc_security_group_ids = [aws_security_group.rds_sg.id]
db_subnet_group_name = aws_db_subnet_group.n8n_db_subnet.name
backup_retention_period = 7
backup_window = "03:00-04:00"
maintenance_window = "sun:04:00-sun:05:00"
tags = {
Name = "n8n-database"
}
}
Monitoramento e AlertasCloudWatch Métricas Essenciais
# Configurar alarme de CPU
aws cloudwatch put-metric-alarm \
--alarm-name "n8n-cpu-high" \
--alarm-description "CPU alta na instância n8n" \
--metric-name CPUUtilization \
--namespace AWS/EC2 \
--statistic Average \
--period 300 \
--threshold 85 \
--comparison-operator GreaterThanThreshold \
--evaluation-periods 2 \
--alarm-actions arn:aws:sns:us-east-1:123456789012:n8n-alerts
SNS Notification
{
"Subject": "Alerta n8n - CPU alta",
"Message": "A instância n8n está com CPU em 85%. Verifique imediatamente."
}
TroubleshootingProblemas Comuns
Instância não inicia
# Verificar logs do sistema
aws ec2 get-console-output --instance-id i-1234567890abcdef0
# Verificar status da instância
aws ec2 describe-instances --instance-ids i-1234567890abcdef0
Problemas de conectividade
# Testar conectividade com RDS
aws rds describe-db-instances --db-instance-identifier n8n-db
# Verificar security groups
aws ec2 describe-security-groups --group-ids sg-1234567890abcdef0