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.
| Commitment | Rabatt | Flexibilität |
|---|---|---|
| On-Demand | 0% | 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:
- Cost Allocation Tags: Jede Ressource mit Team/Projekt/Environment taggen
- Budget Alerts: AWS Budgets mit E-Mail-Alerts bei 80% und 100% des Budgets
- Monthly Cost Reviews: 30-Minuten-Meeting monatlich, AWS Cost Explorer gemeinsam durchgehen
- 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.