AWS EC2 GPU Instances für KI-Workloads im Vergleich. Aktuelle Preise P4/P5/Inf2, Spot-Savings bis 70%,Reserved-Rabatte. Spart Tausende monatlich.


Unternehmen verlieren durchschnittlich 34% ihrer GPU-Budgets durch ineffiziente Instance-Auswahl. Der richtige Instance-Typ spart Tausende Euro monatlich.

Quick Answer

AWS EC2 GPU Instances** kosten zwischen 0,50 USD/Stunde (G4dn mit Spot) und 38,70 USD/Stunde (P5e.48xlarge mit 8x NVIDIA H200). Für Machine Learning Training empfiehlt sich die P5-Serie mit H100/H200 GPUs, für Inferenz die Inf2- oder G5-Instance mit besseren Preis-Leistungs-Verhältnis. Reserved Instances senken die Kosten um bis zu 60% bei 1-Jahres-Verträgen.

Section 1 — The Core Problem / Why This Matters

Die Nachfrage nach GPU-Compute in der Cloud explodiert. Laut Gartner werden bis 2026 über 80% aller Enterprise-KI-Workloads in der Cloud ausgeführt werden – ein Anstieg von 47% gegenüber 2024. Gleichzeitig klagen Finance-Teams über unvorhersehbare Cloud-Rechnungen.

Das Kernproblem: AWS bietet über 15 verschiedene GPU-Instance-Familien mit Preisspannen von 0,50 bis 38,70 USD/Stunde. Die falsche Wahl bedeutet entweder überbezahlte Compute-Ressourcen oder gestresste ML-Engineers, deren Training-Laufzeiten sich um Tage verzögern.

Ein konkretes Beispiel aus meinem Beratungsalltag: Ein mittelständisches Fintech-Unternehmen betrieb ein BERT-basiertes NLP-Modell auf vier p3.2xlarge Instances (V100 GPUs). Monatliche Kosten: 12.800 USD. Nach Migration auf inf2.48xlarge (Inferentia2) sanken die Kosten auf 3.400 USD – bei identischer Latenz. Der Schlüssel lag im Verständnis der realen Throughput-Anforderungen versus der verfügbaren GPU-Optionen.

Die Komplexität steigt weiter durch AWS' fragmentierte GPU-Landschaft:

  • Training-optimiert: P4d (A100), P5 (H100/H200)
  • Inferenz-optimiert: Inf2 (Inferentia2), G5 (A10G)
  • Grafik- und VDI-Workloads: G4dn, G5g
  • Neueste Generation: P5e (H200), Trn1 (Trainium2)

Jede Familie adressiert unterschiedliche Workload-Profile. Die Wahl des falschen Instance-Typs führt zu Ressourcenverschwendung, die bei GPU-Compute besonders kostspielig ist.

Section 2 — Deep Technical / Strategic Content

AWS GPU Instance Portfolio 2026

Die folgende Tabelle zeigt die aktuellen Instance-Typen mit On-Demand-Preisen (Virginia Region, Linux):

Instance GPU VRAM vCPUs RAM On-Demand/h Spot (ca.) Reserved 1J
g4dn.xlarge NVIDIA T4 16GB 4 16GB 0,526 USD 0,15 USD 0,30 USD
g4dn.12xlarge T4 x4 64GB 48 192GB 3,78 USD 1,10 USD 2,20 USD
p3.2xlarge V100 16GB 8 61GB 3,06 USD 0,90 USD 1,80 USD
p3.8xlarge V100 x4 64GB 32 244GB 12,24 USD 3,60 USD 7,20 USD
p4d.24xlarge A100 40GB x8 320GB 96 1152GB 32,77 USD 9,80 USD 19,50 USD
p5.48xlarge H100 80GB x8 640GB 192 2048GB 34,90 USD 10,50 USD 20,80 USD
p5e.48xlarge H200 80GB x8 640GB 192 2048GB 38,70 USD 11,60 USD 23,00 USD
inf2.48xlarge Inferentia2 x12 192GB 192 384GB 6,60 USD 2,00 USD 3,90 USD
trn1.32xlarge Trainium2 x16 512GB 128 512GB 8,30 USD 2,50 USD 4,90 USD

Stand: Januar 2026. Preise ohne Volume Discounts. Spot-Preise variieren dynamisch.

Wann welche GPU-Instanz?

P5e.48xlarge (H200) ist die richtige Wahl für:

  • Training von Large Language Models mit 70B+ Parametern
  • Multi-Node Distributed Training mit NVLink/NVSwitch
  • Stable Diffusion XL Training mit hoher Batch-Size
  • Forschungsumgebungen mit maximaler Throughput-Anforderung

P5.48xlarge (H100) bietet das beste Preis-Leistungs-Verhältnis für:

  • Standard MLOps-Pipelines mit PyTorch/TensorFlow
  • Training von Modellen bis 13B Parameter
  • Batch-Inferenz mit hoher Parallelisierung

Inf2.48xlarge (Inferentia2) dominiert bei:

  • Transformer-basierten Inferenz-Workloads (BERT, GPT-J, Llama)
  • Latenz-kritischen Real-Time-Inferenz (unter 50ms)
  • Hochvolumigen API-Endpunkten (1000+ RPS)

G4dn bleibt relevant für:

  • Leichte Inferenz-Workloads mit INT8/FP16
  • Prototyping und Entwicklung
  • Kleinere Stable Diffusion Inference

GPU-Memory als Engpass verstehen

Ein häufiger Fehler: Engineer wählen Instances basierend auf GPU-Count statt VRAM-Anforderungen. Ein 7B-Parameter-Modell in FP16 benötigt mindestens 14GB VRAM für Gewichte – plus 4-6GB für Activations und Optimizer-States (Adam). Mit Gradient Checkpointing sinkt der VRAM-Bedarf, aber die Compute-Anforderungen steigen.

Faustregel für VRAM-Bedarf:

  • Parameter × 2 Bytes (FP16) für Basis-Inferenz
  • Parameter × 8-12 Bytes für Full Training (Weights + Gradients + Optimizer)
  • Parameter × 2-4 Bytes mit Gradient Checkpointing + FP8-Training

Eine A100 40GB reicht für Llama-7B-Training mit Gradient Checkpointing. Für Llama-70B wird eine P4d.24xlarge mit 8× A100 (320GB total) benötigt – oder alternativ eine P5e.48xlarge mit 8× H200 (640GB total).

Section 3 — Implementation / Practical Guide

Cost Explorer für GPU-Tracking einrichten

AWS Cost Explorer bietet granulare GPU-Kostenanalyse. Die folgenden Schritte aktivieren detailliertes GPU-Monitoring:

# Cost Explorer API für GPU-Tag-basierte Kostenanalyse
aws ce create-cost-category --cost-category-name "GPUInstances"
  --rules '[{"RuleName":"Training","Tags":{"Key":"WorkloadType","Values":["ml-training"]}}},'
  '{"RuleName":"Inference","Tags":{"Key":"WorkloadType","Values":["inference"]}}}]'

# Cost Allocation Tags für EC2 Instances aktivieren
aws ec2 create-tags --resources i-1234567890abcdef0 \
  --tags Key=WorkloadType,Value=ml-training Key=Environment,Value=prod

Terraform-Modul für GPU-Instances mit Auto-Scaling

Das folgende Terraform-Modul provisioniert GPU-Instances mit automatischer Spot-Instance-Handhabung:

# modules/gpu-compute/main.tf
variable "instance_type" {
  description = "GPU Instance type"
  type        = string
  default     = "p5.48xlarge"
}

variable "target_capacity" {
  description = "Target number of instances"
  type        = number
  default     = 2
}

variable "spot_price_percentage" {
  description = "Max spot price as percentage of on-demand"
  type        = number
  default     = 60
}

data "aws_ec2_spot_price" "current" {
  instance_type = var.instance_type
  availability_zone = data.aws_availability_zones.available.names[0]
  date_time = timestamp()
}


resource "aws_launch_template" "gpu_training" {
  name_prefix   = "gpu-training"
  image_id      = data.aws_ami.ubuntu.id
  instance_type = var.instance_type

  iam_instance_profile {
    name = aws_iam_instance_profile.gpu_compute.name
  }

  monitoring {
    enabled = true
  }

  tag_specifications {
    resource_type = "instance"
    tags = {
      WorkloadType = "ml-training"
      Environment  = "prod"
    }
  }
}

resource "aws_autoscaling_group" "gpu_compute" {
  vpc_zone_identifier = data.aws_subnets.private.ids
  target_group_arns    = [aws_lb_target_group.gpu_training.arn]
  min_size            = 1
  max_size            = var.target_capacity
  desired_capacity    = var.target_capacity

  mixed_instances_policy {
    instances_distribution {
      on_demand_percentage_above_base_capacity = 20
      spot_instance_pools                      = 3
    }

    launch_template {
      launch_template_specification {
        launch_template_id = aws_launch_template.gpu_training.id
        version           = "$Latest"
      }
      override {
        instance_type     = var.instance_type
        weighted_capacity = "1"
      }
      override {
        instance_type     = replace(var.instance_type, "p5", "p4d")
        weighted_capacity = "1"
      }
    }
  }

  tag {
    key                 = "WorkloadType"
    value               = "ml-training"
    propagate_at_launch = true
  }
}

Kubernetes GPU-Operator mit node pooling

Für Kubernetes-basierte ML-Pipelines empfiehlt sich der NVIDIA GPU Operator mit dynamischem Node-Pooling:

# gpu-node-pool.yaml
apiVersion: node.k8s.io/v1
kind: NodePool
metadata:
  name: gpu-training-pool
spec:
  template:
    spec:
      taints:
        - key: "nvidia.com/gpu"
          value: "present"
          effect: "NoSchedule"
      nodeSelector:
        node.kubernetes.io/instance-type: p5.48xlarge
      resources:
        requests:
          nvidia.com/gpu: "8"
        limits:
          nvidia.com/gpu: "8"
---
apiVersion: batch/v1
kind: CronJob
metadata:
  name: nightly-training
spec:
  schedule: "0 2 * * *"
  jobTemplate:
    spec:
      template:
        spec:
          nodeSelector:
            nvidia.com/gpu: "present"
          containers:
            - name: training
              image: pytorch/pytorch:2.4.0
              command: ["python", "/app/train.py"]
              resources:
                requests:
                  nvidia.com/gpu: "8"
                limits:
                  nvidia.com/gpu: "8"
              volumeMounts:
                - name: model-storage
                  mountPath: /models
          tolerations:
            - key: "nvidia.com/gpu"
              operator: "Exists"

Grafana Cloud Integration für GPU-Observability

Grafana Cloud löst das Problem der Tool-Silos bei GPU-Monitoring. Statt separate Prometheus-Instanzen für Metriken, Loki für Logs und Jaeger für Traces zu betreiben, konsolidiert Grafana Cloud alle Observability-Daten in einer Plattform. Das reduziert die operative Komplexität erheblich.

# Grafana Cloud Agent Konfiguration für GPU-Metriken
# /etc/grafana-agent/config.yaml
metrics:
  configs:
    - name: gpu_metrics
      scrape_interval: 15s
      static_configs:
        - targets: ['localhost:9100']
          labels:
            job: 'gpu-node-exporter'

exporters:
  agent:
    autoscrolling: false

Die Integration mit AWS CloudWatch ermöglicht zusätzlich die Korrelation von GPU-Nutzungsmetriken mit Kosten- und Performance-Daten. Ein Dashboard zeigt dann nicht nur GPU-Utilization (%), sondern auch Kosten pro GPU-Stunde und Effizienz-Score (Tokens/USD).

Section 4 — Common Mistakes / Pitfalls

Mistake 1: On-Demand für vorhersehbare Workloads

Warum es passiert: Engineer deployen schnell und wählen On-Demand – bequem, aber teuer. Finance sieht die Rechnung am Monatsende.

Lösung: Reserved Instances oder Savings Plans für Workloads mit mehr als 500 GPU-Stunden/Monat. Eine P5.48xlarge kostet On-Demand 34,90 USD/h, Reserved (1J) nur 20,80 USD/h – 40% Ersparnis. Für elastische Trainings-Pipelines: Spot Instances mit Mixed-Instances-Policies.

Mistake 2: Falsche Instance-Familie für den Workload-Typ

Warum es passiert: P4d/P5 für Inferenz verwenden, weil „GPU draufsteht – passt schon". Die Inferentia2-Chips in Inf2-Instances sind speziell für Transformer-Inferenz optimiert und bieten 6× bessere Preis-Leistung für NLP-Workloads.

Lösung: Vor der Instance-Wahl den Throughput messen. Ein einfacher Test mit torch.cuda.Benchmark zeigt die reale Performance pro Dollar.

Mistake 3: Keine Multi-Node-Koordination

Warum es passiert: Engineer starten mehrere einzelne GPU-Instances ohne Distributed-Training-Konfiguration. Die Kommunikation zwischen Nodes wird zum Flaschenhals.

Lösung: Für P4d/P5-Instances NVLink/NVSwitch nutzen. Für Multi-Node-Setups: EFA-Netzwerk (Elastic Fabric Adapter) aktivieren, NCCL-Tests durchführen, und torchrun mit --nnodes konfigurieren.

Mistake 4: Spot-Instance-Interruption nicht handhaben

Warum es passiert: Checkpointing wird vergessen. Spot-Instanzen werden ohne Vorwarnung terminiert – Stunden an Trainingsarbeit verloren.

Lösung: Implementieren Sie torch.save(model.state_dict(), checkpoint_path) alle 100-500 Steps. AWS Batch mit retry_strategy bietet automatische Wiederholung bei Interruption. Nutzen Sie S3 als Checkpoint-Backend.

Mistake 5: VPC-Konfiguration ohne EFA

Warum es passiert: Multi-Node-GPU-Training ohne EFA führt zu extrem langsamer AllReduce-Kommunikation. Die NVIDIA A100 oder H100 GPUs warten auf Daten – keinthroughput.

Lösung: EFA aktiviert in der VPC-Subnet-Konfiguration. Die Bandbreite steigt von 25 Gbps (Standard-ENI) auf 800 Gbps (EFA). Für P5-Instances ist EFA standardmäßig aktiviert.

Section 5 — Recommendations & Next Steps

Die richtige Strategie hängt von Ihrem Workload-Profil ab:

  • Training-first (LLMs, Diffusion Models): Nutzen Sie P5e.48xlarge mit Reserved Instances für Base-Training, Spot für Experimente. EFA ist Pflicht. Implementieren Sie Gradient Checkpointing, um VRAM effizienter zu nutzen.

  • Inferenz-heavy (APIs, Chatbots): Inf2.48xlarge mit Auto-Scaling und ONNX-Optimierung. Die Kosten pro 1M Tokens sinken um 70% gegenüber A100-basierten Lösungen. Für Stable Diffusion: G5.48xlarge mit NVIDIA A10G.

  • Hybrid-Umgebungen (Training + Inferenz): Trennen Sie die Workloads physisch. Trainieren Sie auf P5, servieren Sie auf Inf2/G5. Nutzen Sie S3 als Model Registry und AWS SageMaker für Orchestrierung.

Concrete next steps:

  1. Audit der aktuellen GPU-Nutzung: Cost Explorer filtern nach Instance-Type mit p3, p4, p5, inf2, g4, g5. Identifizieren Sie die Top-5 Kostenquellen.

  2. Benchmarking durchführen: Messen Sie Throughput (Samples/s, Tokens/s) pro Dollar für Ihre kritischen Workloads. Vergleichen Sie P5 vs. Inf2 für Inferenz, P5 vs. Trn1 für Training.

  3. Spot-Integration planen: Für elastische Workloads (Experimentieren, Hyperparameter-Search) Mixed-Instances-Policies mit 60-80% Spot-Anteil konfigurieren. Automatisches Checkpointing einbauen.

  4. Reserved Coverage erhöhen: Wenn mehr als 500 GPU-Stunden/Monat固定 sind, reservieren Sie. Ein Coverage von 50% auf P5.48xlarge spart ca. 12.000 USD/Jahr.

  5. Monitoring consolidieren: Grafana Cloud integriert GPU-Metriken, Kosten-Daten und Applikations-Logs in einem Dashboard. Das eliminiert Tool-Silos und beschleunigt die Incident-Response bei Performance-Degradation.

Die Wahl der richtigen GPU-Instanz ist keine einmalige Entscheidung. AWS erweitert das Portfolio quartalsweise – die Inferentia2-Generation wurde erst 2023 eingeführt, Trainium2 folgt 2026. Kontinuierliches Benchmarking und Cost-Reviews sind essenziell für langfristige Effizienz.

Starten Sie noch heute: Exportieren Sie Ihre letzten 90 Tage GPU-Kosten aus Cost Explorer und vergleichen Sie sie mit den On-Demand-Preisen der aktuellen Instance-Generation. Die Einsparungen sind real und signifikant.

Wöchentliche Cloud-Insights — kostenlos

Praktische Leitfäden zu Cloud-Kosten, Sicherheit und Strategie. Kein Spam.

Comments

Leave a comment