AWS Preismodelle im Überblick
| Modell | Rabatt | Einsatz |
|---|---|---|
| On-Demand | 0% | Sporadisch, Tests |
| Savings Plans | bis 66% | Dauerhafter Compute |
| Reserved Instances | bis 72% | Bekannte Instanztypen |
| Spot Instances | bis 90% | Unterbrechbare Jobs |
AWS Cost Explorer analysieren
# Monatliche Kosten per Service
aws ce get-cost-and-usage --time-period Start=2025-06-01,End=2025-06-30 --granularity MONTHLY --metrics BlendedCost --group-by Type=DIMENSION,Key=SERVICE --query 'ResultsByTime[0].Groups | sort_by(@, &Metrics.BlendedCost.Amount) | reverse(@) | [:10]'
# Unused Resources (verschwendete Kosten)
aws ce get-rightsizing-recommendation --service EC2 --query 'RightsizingRecommendations[:5]'
Savings Plans kaufen
# Empfehlung anzeigen
aws savingsplans describe-savings-plans-purchase-recommendation --savings-plan-type COMPUTE_SP --term-in-years ONE_YEAR --payment-option NO_UPFRONT
# Aktive Savings Plans anzeigen
aws savingsplans describe-savings-plans --states active
EC2 Reserved Instances
# Aktuelle On-Demand-Nutzung analysieren
aws ec2 describe-instances --filters "Name=instance-state-name,Values=running" --query 'Reservations[].Instances[].{Type:InstanceType,AZ:Placement.AvailabilityZone}' | sort | uniq -c | sort -rn
# RI Recommendations
aws ce get-reservation-purchase-recommendation --service EC2 --term-in-years ONE_YEAR --payment-option NO_UPFRONT
Unused Resources bereinigen
# Ungenutzte Elastic IPs
aws ec2 describe-addresses --query 'Addresses[?AssociationId==null].[PublicIp,AllocationId]'
# Ungenutzte EBS Volumes
aws ec2 describe-volumes --filters "Name=status,Values=available" --query 'Volumes[].{ID:VolumeId,Size:Size,Type:VolumeType}'
# Gestoppte EC2-Instanzen (noch EBS-Kosten!)
aws ec2 describe-instances --filters "Name=instance-state-name,Values=stopped" --query 'Reservations[].Instances[].{ID:InstanceId,Type:InstanceType,Name:Tags[?Key==Name]|[0].Value}'
# Alten Snapshots löschen
aws ec2 describe-snapshots --owner-ids self --query 'Snapshots | sort_by(@, &StartTime) | [:10].{ID:SnapshotId,Date:StartTime,Size:VolumeSize}'
AWS Budgets Alert
cat > budget.json << 'EOF'
{
"BudgetName": "Monatliches AWS Budget",
"BudgetLimit": {"Amount": "500", "Unit": "USD"},
"TimeUnit": "MONTHLY",
"BudgetType": "COST"
}
EOF
aws budgets create-budget --account-id 123456789012 --budget file://budget.json --notifications-with-subscribers '[{"Notification":{"ComparisonOperator":"GREATER_THAN","NotificationType":"ACTUAL","Threshold":80,"ThresholdType":"PERCENTAGE"},"Subscribers":[{"Address":"[email protected]","SubscriptionType":"EMAIL"}]}]'
FAQ
Wie viel spart man mit 1-Year Savings Plans?
Compute Savings Plans 1-Jahr No Upfront: ~40% gegenüber On-Demand. 1-Jahr All Upfront: ~45%.
Kann man Reservations zurückgeben?
AWS erlaubt den Marketplace-Verkauf ungenutzter Standard Reserved Instances.
Fazit
Savings Plans für dauerhaften Compute + Spot für Batch-Jobs + Budget Alerts reduzieren AWS-Kosten drastisch.
AWS FinOps und Kostenoptimierung für KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Anfragen.