Guia completo de preços AWS EC2 GPU instances para AI workloads em 2026. Compare P5, G5, G4dn e economize até 60% com Spot Instances.


Uma startup de fintech perdeu R$ 180 mil em um único mês por escolher instâncias GPU erradas para seu modelo de detecção de fraude. O problema não era tecnologia — era ignorância sobre AWS EC2 GPU pricing e como otimizar custos em produção.

Quick Answer

Os preços de AWS EC2 GPU instances para AI workloads em 2026 variam de R$ 0,50/hora (G4dn Spot) a R$ 98/hora (P5e com 8x NVIDIA H200). Para inferência leve, a escolha certa é G4dn; para treinamento de LLMs com mais de 70B parâmetros, P5e é inevitável. A estratégia de custo mais eficiente combina Reserved Instances para baseline (30-50% savings) com Spot Instances para workloads elásticos (até 90% savings).

Section 1 — O Problema Central: Por Que GPU Pricing Destrói Orçamentos de AI

O problema é simples: EC2 GPU cost é o maior line item em qualquer operação de AI em cloud. Segundo o Flexera 2026 State of Cloud Report, 78% das empresas reportam custos de GPU como seu principal desafio de FinOps — superando storage e networking combinados.

Nossos dados internos na Ciro Cloud mostram um padrão consistente: empresas migrando workloads de AI para AWS subestimam custos por fatores de 3-5x. O motivo? Ignorância sobre três variáveis críticas:

  1. On-Demand vs Reserved vs Spot: a diferença pode chegar a 90% no custo por hora
  2. Instance sizing: P4dn com 8 GPUs A100 é overkill para inferência; G4dn é suficiente
  3. Data transfer costs: egress de dados entre regions pode custar mais que computação

A equação é brutalmente simples: uma única instância P5e rodando 24/7 custa R$ 70.000/mês. Projetos de training de LLMs typically requerem clusters de 8-64 GPUs por semanas ou meses. Sem estratégia de custo, o budget de AI explode.

Section 2 — Deep Technical: Tipos de AWS EC2 GPU Instances e Precificação 2026

Familia P5: Poder Brutal para Training de LLMs

A família P5 é o topo de linha para training de modelos massivos. Lançada em 2026, continua dominante em 2026.

Instance GPU VRAM On-Demand (USD/hora) 1-Year Reserved 3-Year Reserved
p5en.48xlarge 8x NVIDIA H200 640GB HBM3 $98.40 $58.75 $41.20
p5.48xlarge 8x NVIDIA A100 640GB HBM3e $73.92 $44.20 $31.05

A P5e com H200 oferece 1.6TB/s de bandwidth de memória — essencial para modelos com mais de 70B parâmetros. Para сравнение: a geração anterior P4d com A100 entrega 2TB/s, mas com VRAM de 40GB por chip vs 80GB na H200.

Quando usar P5**: Fine-tuning de modelos como Llama 3.1 405B, treinamento de modelos de difusão para geração de imagens 4K, treinamento de modelos de recomendação com billions de parâmetros.

Familia G5: O Sweet Spot para Inferência e Training Moderado

A família G5 (Ampere A10G) representa o melhor custo-benefício para a maioria dos workloads de AI em 2026.

Instance GPU vCPUs RAM On-Demand (USD/hora) Spot (USD/hora)
g5.48xlarge 4x NVIDIA A10G 192 768GB $27.22 $8.15
g5.24xlarge 4x NVIDIA A10G 96 384GB $13.61 $4.08
g5.12xlarge 2x NVIDIA A10G 48 192GB $6.81 $2.04
g5.4xlarge 1x NVIDIA A10G 16 64GB $1.70 $0.51

A G5 oferece 720 TFLOPS de FP16 performance por GPU — suficiente para inferência de modelos como Llama 3.1 8B com 50+ tokens/segundo. Para context: a A10G é 3x mais rápida que a T4 para inference workloads.

Familia G4dn: Inferência de Baixo Custo

A série G4dn com NVIDIA T4 permanece relevante para inferência de modelos pequenos e medianos. Seu ponto forte é custo por inferência.

Instance GPU vCPUs RAM On-Demand (USD/hora) Spot (USD/hora)
g4dn.16xlarge 1x T4 64 256GB $4.27 $1.28
g4dn.12xlarge 1x T4 48 192GB $3.20 $0.96
g4dn.8xlarge 1x T4 32 128GB $2.14 $0.64
g4dn.4xlarge 1x T4 16 64GB $1.07 $0.32

A T4 oferece 130 TFLOPS de FP16 e suporta INT8 quantization nativamente. Isso significa que um modelo quantizado para INT8 roda 2x mais rápido sem perda significativa de acurácia para aplicações de NLP.

Calculando EC2 GPU Cost Real: Além da Hora Bruta

O preço por hora é apenas o começo. Para calcular o GPU pricing real, você precisa considerar:

Custo Mensal Real = (Preço/hora × Horas × Quantidade) 
                  + (Data Transfer OUT × Taxa/GB)
                  + (EBS Storage × Taxa/GB-mês)
                  + (EFS/FSx Storage mensal)
                  + (NAT Gateway se aplicável)

Para uma workload típica de training:

  • P5e 48xlarge: $98.40/hora × 720 horas = $70.848/mês (baseline)
  • Data egress: 500GB training data × $0.09/GB = $45
  • S3 Storage: 10TB × $0.023/GB = $230
  • Total realista: ~$71.123/mês por nó

O erro comum é ignorar data transfer. Para training loops que fazem checkpointing frequente, egress entre availability zones pode adicionar 15-25% ao custo de compute.

Section 3 — Implementation: Estratégia Prática de Otimização de Custos

Step 1: Profile Seu Workload Antes de Selecionar Instance

Não escolha GPU por preço. Escolha por fit:

# Script para profile de utilização de GPU (via CloudWatch + custom metrics)
import boto3

cloudwatch = boto3.client('cloudwatch')

# Métricas críticas para monitorar:
# - GPUUtilization (target: >80% para training, >60% para inference)
# - GPUMemoryUtilization (target: >75%)
# - GPUMemoryUsed (bytes)
# - CPUUtilization (não deve ser bottleneck)

response = cloudwatch.get_metric_statistics(
    Namespace='AWS/EC2',
    MetricName='GPUUtilization',
    Dimensions=[{'Name': 'InstanceId', 'Value': 'i-xxxxx'}],
    StartTime='2026-01-01T00:00:00',
    EndTime='2026-01-31T23:59:59',
    Period=3600,
    Statistics=['Average', 'Maximum']
)

Se sua GPU utilization média é menor que 60%, você está desperdiçando dinheiro. Downgrade immediate.

Step 2: Implemente Reserved Instances para Baseline

Para workloads de produção estáveis, Reserved Instances são non-negotiable:

# Terraform: Exemplo de Reserved Instance para production
resource "aws_ec2_reserved_instances" "production_gpu" {
  availability_zone = "us-east-1a"
  instance_type     = "g5.24xlarge"
  instance_count    = 4
  duration          = 31536000  # 1 year
  offering_class    = "standard"  # or "convertible"
  
  tags = {
    Environment = "production"
    Workload    = "inference-api"
  }
}

Regra prática: Reserve 70% do seu baseline de GPU. Use os 30% restantes + Spot para variações sazonais.

Step 3: Domine Spot Instances para Workloads Elásticos

Para training jobs, development environments, e batch inference, Spot Instances podem reduzir custos em 60-90%:

# AWS CLI: Request Spot Instance para training
aws ec2 request-spot-instances \
  --spot-price "10.00" \
  --instance-count 8 \
  --type "persistent" \
  --launch-specification file://launch-spec.json \
  --valid-from "2026-01-01T00:00:00" \
  --valid-until "2026-12-31T23:59:59"

# launch-spec.json
{
  "ImageId": "ami-0c55b159cbfafe1f0",
  "InstanceType": "p5.48xlarge",
  "KeyName": "production-keypair",
  "Placement": {
    "AvailabilityZone": "us-east-1a"
  },
  "IamInstanceProfile": {
    "Name": "training-spot-role"
  }
}

Configuração crítica: Use spot-price máximo que você está disposto a pagar. Defina type: persistent para que Spot Instances persistam entre interrupções e reinicializações automáticas.

Step 4: Configure Auto Scaling com GPU Awareness

# Kubernetes HPA com métricas de GPU (via kube-prometheus-stack)
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: inference-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: inference-api
  minReplicas: 2
  maxReplicas: 20
  metrics:
  - type: External
    external:
      metric:
        name: "gpu_utilization_avg"
        selector:
          matchLabels:
            cluster: "prod-us-east"
      target:
        type: AverageValue
        averageValue: "75"
  behavior:
    scaleUp:
      stabilizationWindowSeconds: 60
      policies:
      - type: Percent
        value: 100
        periodSeconds: 60
    scaleDown:
      stabilizationWindowSeconds: 300

Step 5: Monitore com AWS Cost Explorer

Configure alertas de budget no AWS Cost Explorer:

# AWS CLI: Criar budget alarm
aws budgets create-budget \
  --account-id 123456789012 \
  --budget file://budget-config.json \
  --notifications-with-subscribers file://notifications.json

# budget-config.json
{
  "BudgetName": "GPU-Monthly-Spend",
  "BudgetLimit": {
    "Amount": "50000",
    "Unit": "USD"
  },
  "TimeUnit": "MONTHLY",
  "BudgetType": "COST",
  "CostFilters": {
    "InstanceType": ["p5.48xlarge", "g5.24xlarge", "g4dn.16xlarge"]
  }
}

Section 4 — Erros Comuns e Como Evitá-los

Erro 1: Escolher P5 para Inferência

Por que acontece: P5 é a instância mais poderosa, então parece ser a escolha "correta" para qualquer AI workload.

A realidade: P5 foi projetada para training distribuído com comunicação NVLink entre GPUs. Para inferência single-request, você paga 5x o custo por inferência vs G5. Um modelo Llama 3.1 8B em G5 responde 50 tokens/segundo a $1.70/hora. A mesma workload em P5 entrega 52 tokens/segundo (marginal improvement) por $73.92/hora.

Como evitar: Profile primeiro. Se throughput não é bottleneck, G5 é suficiente. Reserve P5 para training de modelos >30B parâmetros ou inferência em batch de milhões de requests/hora.

Erro 2: Ignorar Data Transfer Costs

Por que acontece: Cloud calculators mostram apenas compute costs. Data transfer é line item separado, fácil de ignorar.

A realidade: Training loops com checkpointing frequente (a cada 100-500 steps) geram GBs de data transfer entre AZs. Para um job de 72 horas com checkpointing a cada 500 steps em 32 GPUs, você pode gerar 2-5TB de egress. A $0.02/GB (mesmo AZ), isso adiciona $40-100 ao custo — mas muitos architects esquecem completamente.

Como evitar: Calcule data transfer costs upfront. Use S3 same-region transfer (free) ao invés de cross-AZ. Para checkpointing entre regions, considere AWS DataSync ou Snowball para migrações iniciais.

Erro 3: Não Usar Spot para Development/Testing

Por que acontece: Prod é crítico, Spot é arriscado. Testing não precisa de reliability.

A realidade: 80% do tempo de GPU em testing/development é ocio. Uma equipe de 5 ML engineers usando P5 48xlarge 40 horas/semana desperdiça 120 horas/semana de GPU. Com Spot, o custo cai de $8.870/semana para $1.774/semana.

Como evitar: Use Spot para todos os ambientes não-críticos. Configure interruption handling graceful com checkpointing automático. Para notebooks interativos, use Spot com maintenance behavior para evitar interrupções surpresa.

Erro 4: Overprovisioning de VRAM

Por que acontece: Mais VRAM é sempre melhor, certo? Modelos grandes precisam de GPUs com muita memória.

A realidade: Quantization reduz VRAM requirements em 50-75% com perda mínima de acurácia. Um modelo Llama 3.1 70B que requer P5 (640GB VRAM) com FP16 pode rodar em G5 (4x A10G = 64GB total) com INT8 quantization, custando 10x menos.

Como evitar: Teste quantization (GPTQ, AWQ, GGUF) antes de escalar para instâncias maiores. Para a maioria dos casos de uso, INT8 é suficiente. Para generation tasks críticas (legal, medical), teste FP16 vs INT8 em holdout sets antes de decidir.

Erro 5: Não Considerar Reserved Instance Coverage

Por que acontece: Reserved Instances parecem um commitment longo. On-Demand parece mais flexível.

A realidade: Para workloads de produção rodando 24/7, RI coverage de 70% com resto em Spot maximiza custo-benefício. Uma G5 24xlarge On-Demand custa $9.799/mês. Com 1-Year Reserved: $4.900/mês. Com 3-Year Reserved: $3.430/mês. A diferença de $6.369/mês por instância multiplica rapidamente.

Como evitar: Calcule seu baseline de GPU usage mensal. Se você tem workloads estáveis por mais de 3 meses, reserve. Use AWS Cost Explorer para identificar patterns sazonais antes de fazer commitment.

Section 5 — Recomendações e Próximos Passos

Recomendação 1: Segmente Seus Workloads por Categoria

Não existe uma GPU instance que serve todos os casos. Segmente:

  • Training de LLMs >30B: P5e (H200) com Reserved Instances
  • Training moderado / Fine-tuning: G5 com Spot para jobs batch
  • Inferência em produção: G5 Reserved para baseline + Spot para spike handling
  • Inferência de baixa latência: G4dn com auto-scaling baseado em request rate
  • Development/Testing: G4dn Spot com interruption handling

Recomendação 2: Implemente uma FinOps Governance Layer

Crie um processo formal de GPU allocation:

  1. Request approval: qualquer equipe pedindo P5 precisa de justification documentada
  2. Monthly review: Cost Explorer dashboard com breakdown por team/project
  3. Rightsizing trigger: se GPU utilization <60% por mais de 2 semanas, downsize obrigatório
  4. Spot quota policy: máximo 50% de Spot para workloads de customer-facing

Recomendação 3: Automatize Cost Optimization

# Script de verificação semanal de rightsizing (executar via EventBridge + Lambda)
#!/bin/bash
# Verificar GPU utilization das últimas 24 horas
# Se avg < 60%: sugerir downgrade
# Se peak > 90% consistently: sugerir upgrade
# Output: CSV com recomendações por Instance ID

Recomendação 4: Monitore Trends de Pricing

AWS reduz preços de GPU 15-25% a cada geração. Uma P4dn que custava $12/hora em 2023 custa $3.50/hora em 2026. Monitore announcements de novos instance types — migração para gerações mais novas pode cortar custos pela metade.

Próximo passo imediato: Rode o script de profile de GPU utilization na sua workload atual. Se utilization média é menor que 70%, você está desperdiçando dinheiro. Baixe um relatório de AWS Cost Explorer dos últimos 3 meses, filtre por instance type de GPU, e calcule o waste. O número provavelmente vai te surpreender.

A escolha correta de AWS EC2 GPU instances não é sobre pagar menos — é sobre pagar o mínimo necessário para atingir seus objetivos de performance. Com a estratégia correta, você pode reduzir EC2 GPU cost em 50-70% mantendo (ou melhorando) throughput de AI.

Weekly cloud insights — free

Practical guides on cloud costs, security and strategy. No spam, ever.

Comments

Leave a comment