Du hast dich bei AWS angemeldet, ein paar Services gestartet und angenommen, dass alles kostenlos bleibt. Dann kommt die erste Rechnung — 47 $ für Services, die du für abgedeckt hieltest.
Das passiert fast jedem. AWS bewirbt das Free Tier prominent, aber die Grenzen zwischen „kostenlos” und „ab jetzt wird abgerechnet” sind überraschend leicht zu überschreiten. Hier erfährst du genau, was das Free Tier beinhaltet, wo die häufigsten Fallen lauern und wie du sie vermeidest.
Was das AWS Free Tier tatsächlich bietet
AWS unterteilt sein Free Tier in drei Kategorien — und es lohnt sich, den Unterschied zu kennen:
Always Free — Services mit dauerhaft kostenlosen Kontingenten, die nie ablaufen. Diese sind wirklich kostenlos, solange du innerhalb der Limits bleibst:
| Service | Kostenloses Kontingent |
|---|---|
| Lambda | 1 Mio. Anfragen + 400.000 GB-Sekunden/Monat |
| DynamoDB | 25 GB Speicher + 25 WCU/RCU |
| SNS | 1 Mio. Publishes/Monat |
| SQS | 1 Mio. Anfragen/Monat |
| CloudWatch | 10 Custom Metrics, 10 Alarme |
12-Monate-Free — Verfügbar für 12 Monate nach Kontoerstellung. Sobald das Jahr um ist, greifen automatisch die regulären Preise — ohne Vorwarnung:
| Service | Kostenloses Kontingent |
|---|---|
| EC2 | 750 Stunden/Monat (t2.micro oder t3.micro) |
| RDS | 750 Stunden/Monat (db.t2.micro oder db.t3.micro) |
| S3 | 5 GB Speicher + 20.000 GET + 2.000 PUT |
| CloudFront | 1 TB Datentransfer ausgehend |
Trials — Kurzfristiger Test-Zugang zu bestimmten Services. Das sind einmalige Kontingente, die schnell aufgebraucht sind (30–60 Tage oder eine feste Anzahl API-Aufrufe).
Der entscheidende Unterschied: „Always Free”-Kontingente werden monatlich zurückgesetzt. „12-Monate-Free”-Kontingente ebenfalls — allerdings nur innerhalb der ersten 12 Monate. „Trials” sind ein einmaliges Kontingent — aufgebraucht ist aufgebraucht.
Wo es schnell teuer wird — echte Beispiele
Die SQS + Lambda-Falle
Stell dir ein einfaches event-basiertes Setup vor: Eine SQS-Queue triggert eine Lambda-Funktion. Beide Services haben großzügige Free-Tier-Limits — SQS bietet 1 Million Anfragen/Monat, Lambda 1 Million Aufrufe.
Aber hier kommt der Haken: Lambda pollt SQS per Long-Polling, und jeder Poll zählt als SQS-Anfrage, selbst wenn die Queue leer ist. Mit der Standardkonfiguration startet Lambda 5 Polling-Threads, die jeweils alle 20 Sekunden eine Anfrage machen:
5 Poller × 3 Anfragen/Min × 60 Min × 24 Stunden × 30 Tage = ~648.000 SQS-Anfragen/Monat
Du hast noch keine einzige Nachricht gesendet und bereits 65 % deines SQS Free Tier allein durch Polling verbraucht. Füge eine zweite Queue hinzu, und du hast das kostenlose Limit überschritten, ohne dass eine einzige echte Nachricht verarbeitet wurde.
Bei 0,40 $ pro Million Anfragen über dem Free Tier ist der absolute Betrag klein — aber es sind Kosten, die du nicht erwartet hast, für einen Service, den du für kostenlos hieltest.
Cost Explorer API: 0,01 $ pro Anfrage läppert sich
AWS Cost Explorer ist der primäre Weg, Ausgabendaten programmatisch abzufragen. Jeder API-Aufruf kostet 0,01 $ — es gibt kein Free Tier und keine Rabatte.
Wenn du ein Dashboard gebaut hast, das stündlich Kostendaten über 5 Service-Dimensionen aktualisiert, ergibt das:
24 Anfragen/Tag × 30 Tage × 5 Abfragen = 3.600 Anfragen = 36 $/Monat
36 $ im Monat, nur um deine eigene Rechnung anzuschauen.
CostPulse geht das anders an: Durch gebündelte Abfragen und serverseitiges Caching liegen die typischen Monitoring-Kosten bei etwa 0,31 $/Monat pro Account — ungefähr eine Abfrage pro Tag dank intelligentem Caching.
Weitere Kostenfallen auf einen Blick
Einige Services sind für große Skala günstig konzipiert, können aber bei geringer Nutzung überraschen:
-
NAT Gateway — Berechnet 0,045 $/Stunde unabhängig vom Traffic, plus 0,045 $/GB verarbeitet. Ein NAT Gateway, das rund um die Uhr läuft, kostet ~32 $/Monat, bevor überhaupt Daten durchfließen. Das ist einer der häufigsten „vergessen zu löschen”-Kostenpunkte.
-
CloudWatch Logs — Die Aufnahme kostet 0,50 $/GB. Wenn deine Lambda-Funktionen ausführlich loggen, kommen selbst bei moderatem Traffic mehrere GB/Monat zusammen. Eine Funktion, die 1 KB pro Aufruf bei 1 Mio. Aufrufen/Monat loggt = 1 GB = 0,50 $ allein für die Log-Aufnahme — und das noch ohne Speicherkosten.
-
S3-Anfragepreise — Speicher ist günstig (0,023 $/GB), aber PUT/POST-Anfragen kosten 0,005 $ pro 1.000. Das Hochladen von 100.000 kleinen Dateien kostet 0,50 $ allein für Anfragen — der Speicher selbst macht vielleicht nur Centbeträge aus.
-
Elastic IP-Adressen — Seit Februar 2024 berechnet AWS 0,005 $/Stunde für jede öffentliche IPv4-Adresse — egal ob zugeordnet oder nicht. Das sind ~3,60 $/Monat pro Adresse. Das 12-Monate-Free-Tier deckt 750 Stunden/Monat genutzter öffentlicher IPv4 ab, also effektiv eine zugeordnete Adresse. Nicht zugeordnete EIPs werden aber ab der ersten Stunde berechnet, selbst bei Free-Tier-Konten. Eine vergessene EIP ist reine Verschwendung.
-
Datentransfer — Die ersten 100 GB/Monat ins Internet sind kostenlos (seit 2024), aber Cross-Region-Transfers und Transfers zwischen Services in verschiedenen AZs werden separat berechnet und leicht übersehen.
Das eigentliche Problem: Komplexität ohne Überblick
Die AWS-Preisgestaltung ist nicht darauf ausgelegt, dich hereinzulegen. Aber sie ist für Unternehmen mit eigenen FinOps-Teams konzipiert, die Hunderte service-spezifische Preisseiten mit jeweils eigenen Maßeinheiten durcharbeiten können.
Für einzelne Entwickler und kleine Teams liegt das eigentliche Risiko nicht in einem einzelnen teuren Service — sondern in der Summe vieler kleiner Posten bei vergessenen Services. Eine gestoppte, aber nicht gelöschte RDS-Instanz hier, ein ungenutztes NAT Gateway dort, CloudWatch-Logs, die still und leise wachsen — das summiert sich.
Das AWS Billing Dashboard zeigt dir Summen erst im Nachhinein. Wenn du die Zahl siehst, ist das Geld bereits ausgegeben.
Wie CostPulse hilft
CostPulse wurde für Entwickler und kleine Teams gebaut, die keine Zeit haben, ständig die AWS-Konsole im Auge zu behalten. Statt einmal im Monat einzuloggen und auf das Beste zu hoffen, bekommst du:
- Tägliche Kostenübersichten direkt auf dein Handy — sieh, was sich über Nacht geändert hat, ohne erst den Browser öffnen zu müssen
- Budget-Schwellenwerte mit sofortigen Push-Benachrichtigungen, wenn sich die Ausgaben deinem Limit nähern
- Anomalie-Erkennung, die ungewöhnliche Ausgabenmuster erkennt, bevor sie teuer werden
- Aufschlüsselung nach Services, die genau zeigt, welche Services die Kosten in die Höhe treiben
Das Setup dauert unter zwei Minuten: ein CloudFormation-Stack, keine geteilten Zugangsdaten, ausschließlich Least-Privilege-IAM-Rollen.
Schnell-Checkliste: Innerhalb des Free Tier bleiben
Nutze diese Liste als monatliche Kontrolle:
- Kontoalter prüfen — 12-Monate-Free-Tier-Services laufen still aus. Setze eine Kalendererinnerung für Monat 11.
- Laufende Ressourcen überprüfen — Achte auf gestoppte EC2-Instanzen, nicht zugeordnete Elastic IPs und ungenutzte NAT Gateways.
- Log-Aufbewahrung setzen — CloudWatch Logs haben standardmäßig keine Aufbewahrungsfrist. Setze Aufbewahrung auf 7 oder 14 Tage für alle Log Groups.
- Billing-Alert einrichten — Schon ein einfacher 10-$-Budget-Alert fängt die meisten Überraschungen rechtzeitig ab. AWS Budgets ermöglicht einfache Alarme kostenlos.
- SQS-Polling anpassen — Wenn du Lambda mit SQS nutzt, setze
MaximumBatchingWindowInSeconds, um leere Polling-Anfragen zu reduzieren. - Datentransfer überwachen — Cross-Region- und Internet-Datentransfer wird getrennt von den verursachenden Services abgerechnet.
Fang an zu überwachen, bevor die Rechnung kommt
Der beste Zeitpunkt, deine AWS-Kosten im Blick zu behalten, ist bevor die erste überraschende Rechnung kommt. Lade CostPulse herunter und richte Monitoring für dein AWS-Konto in unter zwei Minuten ein — kostenloser Plan inklusive, keine Kreditkarte erforderlich.