OpenClaw: Agente de IA Agnóstico Rodando em AWS com Segurança e FinOps

Agente de IA OpenClaw em arquitetura AWS

O OpenClaw (anteriormente conhecido como Clawdbot/Moltbot) é um agente de IA agnóstico a modelos que roda via Docker e executa ações reais no sistema operacional. Neste post, vamos explorar como rodar o OpenClaw em uma arquitetura segura na AWS, usando Amazon Bedrock, IAM Roles e EC2 Graviton com práticas de FinOps e segurança.

O que é o OpenClaw?

O OpenClaw é um agente de IA que vai além da geração de texto: ele pode executar comandos no sistema, manipular arquivos, interagir com APIs e automatizar fluxos complexos. Diferente de assistentes convencionais, o OpenClaw é agnóstico a modelos — você pode conectá-lo a OpenAI, Anthropic Claude, AWS Bedrock ou qualquer outro provedor de LLM via API.

Rodando em um container Docker, o agente tem acesso controlado ao sistema host e pode executar desde tarefas simples (como enviar e-mails) até operações mais complexas, como orquestrar deploys, consultar métricas de infraestrutura e responder incidentes de forma autônoma.

Arquitetura Segura: Local vs. AWS

Rodar um agente de IA com acesso ao sistema operacional localmente pode parecer prático, mas traz riscos significativos:

  • Exposição de credenciais: Chaves de API armazenadas em variáveis de ambiente ou arquivos .env no seu laptop.
  • Falta de auditoria: Sem logs centralizados, rastreabilidade de ações é limitada.
  • Escalabilidade zero: O agente fica disponível apenas quando sua máquina está ligada.
  • Risco de vazamento: Em caso de comprometimento da máquina, o agente e suas credenciais ficam expostos.

Em contraste, rodar o OpenClaw na AWS traz múltiplas camadas de segurança e governança:

  • IAM Roles eliminam a necessidade de chaves de API fixas no servidor.
  • VPC isolada com Security Groups restringe o tráfego de rede.
  • CloudWatch Logs centraliza auditoria e rastreabilidade de todas as ações do agente.
  • EC2 Graviton reduz custos operacionais (~40% mais barato que instâncias x86 equivalentes).
  • Secrets Manager/Parameter Store para gerenciar credenciais de forma segura.

Segurança em Camadas

Na AWS, você implementa o princípio de Zero Trust: o agente só acessa o que precisa via IAM Roles granulares, e todas as ações são auditáveis via CloudTrail e CloudWatch.

Docker Compose Otimizado para EC2 Graviton

Abaixo, um exemplo de docker-compose.yml otimizado para rodar o OpenClaw em uma instância EC2 Graviton (ARM64), com configuração de rede, volumes persistentes e integração com Amazon Bedrock via IAM.

version: '3.8'

services:
  openclaw:
    image: openclaw/openclaw:latest-arm64
    container_name: openclaw-agent
    restart: unless-stopped
    platform: linux/arm64
    environment:
      # Configuração do modelo (Amazon Bedrock)
      - LLM_PROVIDER=bedrock
      - BEDROCK_MODEL_ID=anthropic.claude-3-5-sonnet-20241022-v2:0
      - AWS_REGION=us-east-1
      # Sem chaves de API! IAM Role da instância EC2 fornece credenciais
      - LOG_LEVEL=info
      - AGENT_NAME=openclaw-cto
    volumes:
      - ./data:/app/data
      - ./logs:/app/logs
      # Socket do Docker para permitir automação de containers (opcional)
      - /var/run/docker.sock:/var/run/docker.sock:ro
    networks:
      - openclaw-net
    logging:
      driver: awslogs
      options:
        awslogs-region: us-east-1
        awslogs-group: /aws/ec2/openclaw
        awslogs-stream: openclaw-agent
    # Limites de recursos para evitar consumo excessivo
    deploy:
      resources:
        limits:
          cpus: '2'
          memory: 4G
        reservations:
          cpus: '1'
          memory: 2G

networks:
  openclaw-net:
    driver: bridge

Pontos-chave deste docker-compose:

  • platform: linux/arm64 — otimizado para Graviton (até 40% mais econômico).
  • LLM_PROVIDER=bedrock — usa Amazon Bedrock em vez de APIs externas.
  • Sem chaves hardcoded — IAM Role da EC2 fornece credenciais automaticamente.
  • awslogs driver — logs enviados diretamente para CloudWatch.
  • Limites de CPU/Memória — previne consumo descontrolado (FinOps).

Configurando o "Cérebro" com Amazon Bedrock e IAM Roles

Uma das melhores práticas de FinOps e Segurança é eliminar chaves de API fixas no servidor. No AWS, isso é feito via IAM Roles associados à instância EC2.

Passo 1: Criar IAM Role para EC2

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "bedrock:InvokeModel",
        "bedrock:InvokeModelWithResponseStream"
      ],
      "Resource": "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-5-sonnet-20241022-v2:0"
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:PutMetricData",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": "*"
    }
  ]
}

Passo 2: Associar Role à Instância EC2

Na console da AWS ou via CLI:

aws ec2 associate-iam-instance-profile \
  --instance-id i-1234567890abcdef0 \
  --iam-instance-profile Name=OpenClawEC2Role

Passo 3: O OpenClaw Detecta Credenciais Automaticamente

Com a IAM Role associada, o SDK da AWS (boto3, AWS CLI) detecta as credenciais automaticamente via Instance Metadata Service (IMDS). Nenhuma chave precisa ser armazenada no container.

FinOps: Custos Previsíveis

Com IAM Roles e Graviton, você reduz custos operacionais em até 40% comparado a instâncias x86, e elimina riscos de vazamento de chaves que podem gerar custos inesperados (ex.: uso indevido de APIs pagas).

Caso de Uso Prático: Monitoramento de Faturamento AWS com Alerta no WhatsApp

Um caso de uso comum para CTOs: monitorar o faturamento da AWS em tempo real e receber alertas formatados no WhatsApp quando limites são ultrapassados.

Fluxo da Solução

  1. O OpenClaw roda em uma EC2 Graviton com IAM Role que permite acesso a CloudWatch e Cost Explorer.
  2. A cada hora, o agente consulta o faturamento acumulado do mês via AWS Cost Explorer API.
  3. Se o valor ultrapassar um threshold (ex.: 80% do budget mensal), o agente:
    • Formata uma mensagem legível com detalhamento de custos por serviço.
    • Envia a mensagem via API do WhatsApp Business para o número do CTO.
  4. O agente também pode sugerir otimizações (ex.: "5 instâncias EC2 rodando idle, economia potencial: $200/mês").

Exemplo de Mensagem no WhatsApp

🚨 Alerta de Faturamento AWS - Fevereiro 2026

Orçamento mensal: $10.000
Gasto acumulado: $8.200 (82%)

Top 3 serviços:
1. EC2: $3.500 (43%)
2. RDS: $2.100 (26%)
3. S3: $1.200 (15%)

⚠️ Ações sugeridas:
- 5 instâncias EC2 idle (economia: $180/mês)
- Snapshot RDS desatualizado (economia: $50/mês)

Ver detalhes: https://console.aws.amazon.com/billing

Código de Integração (Pseudocódigo)

import boto3
from datetime import datetime

# Cliente Cost Explorer (credenciais via IAM Role)
ce = boto3.client('ce', region_name='us-east-1')

# Consultar faturamento do mês atual
response = ce.get_cost_and_usage(
    TimePeriod={
        'Start': '2026-02-01',
        'End': datetime.now().strftime('%Y-%m-%d')
    },
    Granularity='MONTHLY',
    Metrics=['UnblendedCost'],
    GroupBy=[{'Type': 'SERVICE', 'Key': 'SERVICE'}]
)

# Processar dados e enviar via WhatsApp se threshold ultrapassado
total_cost = float(response['ResultsByTime'][0]['Total']['UnblendedCost']['Amount'])
if total_cost > 8000:
    send_whatsapp_alert(format_cost_report(response))

Conclusão

O OpenClaw rodando em AWS com Amazon Bedrock, IAM Roles e EC2 Graviton representa uma arquitetura moderna de agentes de IA: segura, escalável, auditável e otimizada para custos.

Ao eliminar chaves de API fixas, centralizar logs e usar instâncias ARM64, você implementa FinOps desde o design e reduz significativamente a superfície de ataque. O caso de uso de monitoramento de faturamento é apenas o começo — agentes desse tipo podem orquestrar deploys, responder incidentes e até executar remediações automáticas.

Se você está considerando implementar agentes de IA na sua infraestrutura, a arquitetura descrita aqui é um excelente ponto de partida para garantir segurança, governança e eficiência operacional.

Compartilhe este artigo: