Zum Hauptinhalt springen
Zurück zum Blog
AWS Cloud DevOps Infrastruktur Kosten

AWS-Kosten optimieren: Praxisleitfaden

Praktischer Leitfaden zur Optimierung Ihrer AWS-Kosten. Reserved Instances, Spot-Instanzen, Auto-Scaling, S3-Tiering und CloudFront-Optimierung.

JM
Javier Manzano
15. März 2026

AWS-Rechnungen wachsen oft schneller als das Produkt. Was als überschaubares Experiment beginnt, wird zu einer monatlichen Rechnung, die Startups unter Druck setzt und Enterprise-Teams dazu bringt, unliebsame Gespräche mit dem CFO zu führen.

Dieser Leitfaden zeigt konkrete, umsetzbare Maßnahmen zur AWS-Kostenoptimierung — sortiert nach Aufwand und Einsparpotenzial.

Schritt 1: Verstehen, wofür Sie zahlen

Bevor Sie optimieren, brauchen Sie Transparenz. AWS Cost Explorer und AWS Cost and Usage Reports sind Ihre wichtigsten Werkzeuge.

# AWS CLI: Kosten der letzten 30 Tage nach Service
aws ce get-cost-and-usage \
  --time-period Start=2026-04-01,End=2026-05-01 \
  --granularity MONTHLY \
  --metrics BlendedCost \
  --group-by Type=DIMENSION,Key=SERVICE

Was Sie suchen:

  • Welche Services verursachen > 80% der Kosten?
  • Gibt es Spitzen oder unerwartete Kostenstellen?
  • Werden Ressourcen nachts/am Wochenende genutzt oder laufen sie einfach?

EC2: Größtes Einsparpotenzial

Right-Sizing

Viele Teams überdimensionieren EC2-Instanzen “zur Sicherheit”. AWS Compute Optimizer analysiert die tatsächliche CPU- und Speichernutzung und empfiehlt kleinere Instanztypen.

# Compute Optimizer Empfehlungen abrufen
aws compute-optimizer get-ec2-instance-recommendations \
  --instance-arns arn:aws:ec2:eu-west-1:123456789:instance/i-1234567890abcdef0

Typische Einsparung: 20-40% durch Right-Sizing allein.

Reserved Instances und Savings Plans

Für Baseline-Workloads, die dauerhaft laufen, sind On-Demand-Preise teuer. Savings Plans und Reserved Instances bieten 30-72% Rabatt.

CommitmentRabattFlexibilität
On-Demand0%Maximal
1-Jahres Savings Plan (ohne Vorauszahlung)~30%Hoch
1-Jahres Reserved Instance (teilweise Vorauszahlung)~42%Mittel
3-Jahres Reserved Instance (volle Vorauszahlung)~62%Gering

Empfehlung: Kaufen Sie Savings Plans für Ihre Baseline-Kapazität (was immer läuft), nutzen Sie On-Demand für Spitzen und Spot-Instanzen für tolerante Workloads.

Spot-Instanzen für tolerante Workloads

Spot-Instanzen sind überschüssige AWS-Kapazität, die zu 50-90% Rabatt verkauft wird. Der Nachteil: AWS kann sie mit 2-Minuten-Warnung zurückfordern.

Ideal für:

  • CI/CD-Pipeline-Jobs
  • Batch-Datenverarbeitung
  • Entwicklungs- und Testumgebungen
  • Stateless Web-Tier (mit Auto-Scaling Group)
# Launch Template für Spot-Instanzen mit On-Demand Fallback
SpotOptions:
  MaxPrice: "0.08"          # Maximaler Stundensatz
  SpotInstanceType: one-time
  InstanceInterruptionBehavior: terminate

# Mixed Instances Policy: 70% Spot, 30% On-Demand
MixedInstancesPolicy:
  InstancesDistribution:
    OnDemandPercentageAboveBaseCapacity: 30
    SpotAllocationStrategy: capacity-optimized
  LaunchTemplate:
    Overrides:
      - InstanceType: t3.medium
      - InstanceType: t3a.medium
      - InstanceType: t2.medium

RDS: Datenbank-Kosten senken

Aurora Serverless v2 für variable Workloads

Wenn Ihre Datenbank nicht 24/7 gleichmäßig belastet wird, kann Aurora Serverless v2 erheblich günstiger sein als eine Provisioned RDS-Instance.

Aurora Serverless v2: Abrechnung in 0.5 ACU Schritten
- Minimum: 0.5 ACU (0.06 USD/Stunde)
- Maximum: 128 ACU (je nach Region)

vs. db.r6g.large: 0.25 USD/Stunde (On-Demand)
Für eine Entwicklungsdatenbank, die nachts idle ist:
  Serverless: 0.06 USD × 16h Idle + ~0.25 USD × 8h aktiv = ~3 USD/Tag
  Provisioned: 0.25 USD × 24h = 6 USD/Tag
Einsparung: 50%

Read Replicas richtig einsetzen

Eine Read Replica statt größere Primary-Instanz: Lese-Queries auf Replica routen kann günstiger sein als die Primary zu vergrößern.

RDS stoppen für Entwicklungsumgebungen

Dev/Test RDS-Instanzen stoppen wenn nicht genutzt. Gestoppte RDS-Instanzen werden nach 7 Tagen automatisch gestartet — konfigurieren Sie deshalb einen Lambda-Schedule:

# Lambda: RDS-Instanzen nachts stoppen, morgens starten
import boto3

def lambda_handler(event, context):
    rds = boto3.client('rds')
    action = event['action']  # 'stop' oder 'start'

    instances = rds.describe_db_instances(
        Filters=[{'Name': 'tag:Environment', 'Values': ['development']}]
    )

    for instance in instances['DBInstances']:
        db_id = instance['DBInstanceIdentifier']
        status = instance['DBInstanceStatus']

        if action == 'stop' and status == 'available':
            rds.stop_db_instance(DBInstanceIdentifier=db_id)
        elif action == 'start' and status == 'stopped':
            rds.start_db_instance(DBInstanceIdentifier=db_id)

S3: Storage-Kosten optimieren

S3 Intelligent-Tiering

Für Objekte mit unbekanntem Zugriffsmuster: S3 Intelligent-Tiering verschiebt automatisch zwischen Standard, Infrequent Access und Glacier.

# Intelligent-Tiering für einen Bucket aktivieren
aws s3api put-bucket-intelligent-tiering-configuration \
  --bucket mein-bucket \
  --id AllTiering \
  --intelligent-tiering-configuration '{
    "Id": "AllTiering",
    "Status": "Enabled",
    "Tierings": [
      {"Days": 90, "AccessTier": "ARCHIVE_ACCESS"},
      {"Days": 180, "AccessTier": "DEEP_ARCHIVE_ACCESS"}
    ]
  }'

Lifecycle-Policies für Log-Daten

{
  "Rules": [
    {
      "Id": "LogsLifecycle",
      "Status": "Enabled",
      "Filter": {"Prefix": "logs/"},
      "Transitions": [
        {"Days": 30, "StorageClass": "STANDARD_IA"},
        {"Days": 90, "StorageClass": "GLACIER"},
        {"Days": 365, "StorageClass": "DEEP_ARCHIVE"}
      ],
      "Expiration": {"Days": 2190}
    }
  ]
}

CloudFront und Netzwerkkosten

Data Transfer OUT ist einer der unterschätztesten AWS-Kostentreiber. CloudFront-Pricing ist günstiger als EC2/ELB-Ausgabe-Traffic.

EC2 Data Transfer OUT (EU): 0.09 USD/GB
CloudFront (EU, erste 10TB): 0.085 USD/GB
CloudFront (EU, 10TB-40TB): 0.080 USD/GB

Für 100 TB/Monat:
  Ohne CloudFront: 9.000 USD
  Mit CloudFront: 8.150 USD + Cache-Hit-Einsparungen
  (Cache-Hit-Ratio 80% → tatsächlicher Origin-Traffic 20 TB)
  → Deutliche Einsparungen bei Origin-Traffic

AWS-Kostenbewusstsein ins Team bringen

Technische Optimierungen sind nur nachhaltig, wenn das Team ein Kostenbewusstsein entwickelt:

  1. Cost Allocation Tags: Jede Ressource mit Team/Projekt/Environment taggen
  2. Budget Alerts: AWS Budgets mit E-Mail-Alerts bei 80% und 100% des Budgets
  3. Monthly Cost Reviews: 30-Minuten-Meeting monatlich, AWS Cost Explorer gemeinsam durchgehen
  4. FinOps-Kultur: Entwickler sehen die Kosten ihrer Infrastruktur

Typisches Einsparpotenzial: 20-50% der AWS-Rechnung durch die Maßnahmen in diesem Leitfaden. Die konkreten Zahlen hängen vom aktuellen Setup ab.

Wenn Sie eine systematische AWS-Kostenoptimierung für Ihre Infrastruktur durchführen wollen, kontaktieren Sie uns — wir führen ein kostenloses Cloud-Kostenaudit durch.

Nichts verpassen

JM

Javier Manzano

Leidenschaftlich für Technologie und Softwareentwicklung. Wir teilen Wissen und Erfahrungen, um anderen Entwicklern beim Wachsen zu helfen.

Hat Ihnen dieser Artikel gefallen?

Wenn Sie Hilfe bei Ihrem Entwicklungsprojekt brauchen, sind wir für Sie da.

Kostenloses Gespräch buchen →