Die E-Mail von AWS mit der Rechnung kommt, und sie ist 40 % höher als im Vormonat. Oder die Budget-Warnung springt am 18. an. Sie müssen nicht die ganze Rechnung verstehen, um das zu lösen: Fast immer ist es eine einzige Sache, die neu hinzugekommen oder gewachsen ist, und der Cost Explorer zeigt sie in wenigen Minuten, wenn Sie wissen, welche Knöpfe Sie drücken müssen.
Die Methode ist immer dieselbe: zuerst welcher Dienst gestiegen ist, dann in welcher Region, dann welche Nutzungsart innerhalb dieses Dienstes, und zuletzt seit welchem Tag. Mit diesen vier Antworten wissen Sie, welches Objekt Sie in der Konsole suchen und was Sie damit tun müssen.
Die Preisangaben sind ungefähr und in Dollar.
Bevor Sie anfangen: was die Begriffe bedeuten
- Cost Explorer
- Der AWS-Bildschirm, der die Kosten in Diagrammen zeigt und sie nach Dienst, Region, Nutzungsart, Tag oder Ressource filtern und gruppieren lässt. Er braucht einen Tag, um sich zu aktualisieren.
- Rechnungen (Bills)
- Die offizielle Monatsrechnung, Zeile für Zeile, mit Mengen und Beträgen. Das ist, was von der Karte abgebucht wird.
- Service
- Jedes AWS-Produkt: EC2 (Maschinen), RDS (Datenbanken), S3 (Dateien), Lambda (Funktionen)... Die Rechnung ist nach Dienst aufgeschlüsselt.
- Nutzungsart
- Der konkrete Posten innerhalb eines Dienstes: Maschinenstunden, GB Festplatte, GB Snapshot, übertragene GB... Sein Name beginnt mit einem Regionscode.
- EC2-Other
- Die Sammelschublade von EC2 im Cost Explorer: Festplatten, Snapshots, IPs, NAT Gateway und Übertragung zwischen Zonen. Fast immer steckt hier die Ursache der Überraschung.
- Granularität
- Ob das Diagramm nach Monaten, Tagen oder Stunden gezeichnet wird. Nach Tagen zeigt es, wann etwas begonnen hat.
- Prognose
- Was AWS berechnet, dass Sie bis Monatsende ausgeben werden, wenn Sie im aktuellen Tempo weitermachen.
- NAT Gateway
- Ein Netzwerkbaustein, der Maschinen ohne öffentliche Adresse den Zugang ins Internet ermöglicht. Wird pro Stunde und pro GB berechnet, auch wenn ihn niemand nutzt.
- Lambda
- Funktionen, die ohne Server laufen, berechnet pro Ausführung und nach Dauer. Spottbillig pro Einheit, teuer in der Schleife.
Schritt für Schritt
Öffnen Sie den Cost Explorer und vergleichen Sie mit dem Vormonat
Menü Ihres Kontos (oben rechts), Billing and Cost Management, Cost Explorer. Beim ersten Mal klicken Sie auf Aktivieren und kommen morgen wieder: Es dauert bis zu 24 Stunden, bis Daten vorliegen.
Im rechten Bereich Zeitraum letzte 3 Monate, Granularität monatlich, und unter Gruppieren nach wählen Sie Service. Sie sehen drei farbig gestapelte Balken. Vergleichen Sie den dieses Monats mit dem vorherigen: Die Farbe, die gewachsen ist, ist der schuldige Dienst. Wenn der Monat noch nicht zu Ende ist, achten Sie auch auf die Linie der Prognose, die das aktuelle Tempo hochrechnet.
Grenzen Sie auf die letzten Tage ein, um zu sehen, wann es begann
Ändern Sie den Zeitraum auf letzte 14 Tage und die Granularität auf täglich, weiterhin nach Dienst gruppiert. Jetzt sehen Sie eine Stufe: den Tag, an dem die täglichen Kosten gestiegen sind. Dieser Tag ist der wertvollste Hinweis: Jemand hat etwas angelegt, ein Prozess hat sich geändert oder etwas ist neu gestartet. Fragen Sie das Team, was an diesem Tag passiert ist, bevor Sie weitersuchen.
Wenn Sie statt einer Stufe eine Rampe sehen, die langsam ansteigt, ist es Ansammlung: Snapshots, Protokolle, Dateiversionen.
Filtern Sie nach diesem Dienst und gruppieren Sie nach Nutzungsart
Im Filterbereich, Service, markieren Sie nur den, der gestiegen ist, und wenden Sie an. Ändern Sie Gruppieren nach auf Nutzungsart (Usage type). Die Namen sind technisch, aber verständlich:
BoxUsagesind Maschinenstunden,EBS:VolumeUsageFestplatten,EBS:SnapshotUsageSnapshots,DataTransfer-Outausgehende Daten,PublicIPv4:InUseAddressundIdleAddressIP-Adressen,NatGateway-Hoursdas NAT Gateway. Das Präfix jedes Namens (EU,EUW3,USE1) nennt die Region.Gruppieren Sie nach Region
Gehen Sie zurück zu Gruppieren nach und wählen Sie Region. Wenn es Kosten in einer Region gibt, in der Sie nichts haben (Virginia, Ohio, Frankfurt, wenn Ihre Sachen in Irland oder Paris liegen), ist es gefunden: Jemand hat dort einen Test gemacht oder ein Assistent hat etwas angelegt. Wechseln Sie in der EC2-Konsole die Region und schauen Sie sich Instanzen, Volumes, Snapshots und IPs an. Lightsail hat eine eigene Konsole pro Region; prüfen Sie sie ebenfalls.
Gruppieren Sie nach Tag oder nach Ressource
Wenn Sie Kostenzuordnungs-Tags aktiviert haben (
Proyecto,Propietario), gruppieren Sie nach diesem Tag: Es sagt Ihnen, wem die neuen Kosten gehören. Falls nicht, können Sie mit täglicher Granularität und Filter auf EC2 in den letzten 14 Tagen nach Ressource gruppieren, um die genaue Kennung der Maschine oder Festplatte zu sehen. Kopieren Sie die Kennung und suchen Sie sie in der EC2-Konsole.Prüfen Sie die offizielle Rechnung und die Gutschriften
Unter Rechnungen (Bills) wählen Sie den Monat und klappen den Dienst auf. Dort steht jede Zeile mit Menge (Stunden, GB) und Betrag, mit der Region im Namen. Schauen Sie auch auf die Gutschriften und das kostenlose Kontingent: Ein Anstieg, der mit dem Jahrestag des Kontos zusammenfällt, ist meist das Ende des ersten kostenlosen Jahres. Da gibt es nichts zu reparieren; der echte Preis wird endlich sichtbar.
Die typischen Ursachen, von häufig bis selten
Angelegte und vergessene Maschine. Eine EC2 für einen Test, seit Wochen eingeschaltet. Im Cost Explorer: EC2, Nutzungsart BoxUsage, Stufe am Tag des Anlegens. Eine t3.medium kostet etwa 30-35 Dollar im Monat; eine m5.xlarge etwa 150. Dasselbe in Lightsail, mit dem Unterschied, dass dort die gestoppte Maschine weiterhin den vollen Plan kostet.
Angesammelte Snapshots. Sanfte Rampe in EC2 (SnapshotUsage), RDS oder Lightsail. Jedes GB kostet etwa 0,05 Dollar im Monat; das Problem ist, dass es Hunderte GB in Dutzenden Kopien sind, die niemand löscht. Meist stammen sie aus einer automatischen Backup-Regel ohne Aufbewahrungsgrenze.
Nicht zugewiesene IP. AWS berechnet alle öffentlichen IPv4-Adressen, etwa 3,60 Dollar im Monat pro Stück. Eine elastische IP einer gelöschten Maschine, oder fünf, erscheinen als IdleAddress. Klein, aber in Konten mit geringen Kosten spürbar.
Ausgehende Datenübertragung. DataTransfer-Out-Bytes, etwa 0,09 Dollar pro GB. Eine Website, die plötzlich Video ausliefert, ein Backup, das jetzt täglich aus AWS heraus heruntergeladen wird, ein öffentlicher S3-Bucket, den jemand von einer Seite mit viel Verkehr verlinkt hat. Auch der Verkehr zwischen Regionen oder zwischen Verfügbarkeitszonen, der berechnet wird, obwohl er innerhalb von AWS bleibt.
Gestoppte RDS, die von selbst neu startet. Eine RDS-Datenbank lässt sich zum Sparen stoppen, aber AWS startet sie nach 7 Tagen automatisch wieder. Wer sie am Montag gestoppt hat, findet sie am nächsten Montag eingeschaltet und kostenpflichtig vor. Im Cost Explorer: RDS, mit wöchentlichen Stufen, wenn jemand sie erneut stoppt.
Lambda in Schleife. Eine Funktion, die sich selbst auslöst (sie schreibt in einen Bucket, der wiederum die Funktion auslöst, oder wiederholt ohne Grenze), kann millionenfach laufen. Lambda ist pro Ausführung sehr billig, aber Millionen sind Millionen. Im Cost Explorer steigt Lambda und mit ihm CloudWatch wegen der Protokolle. Um es zu sehen: In der AWS-Konsole gehen Sie auf Lambda, öffnen die Funktion und schauen auf die Registerkarte Überwachung, Diagramm der Aufrufe. In Simplio müssen Sie nicht danach suchen: Die Karte jeder Funktion zeigt die Ausführungen des Monats und ihre ungefähren Kosten.
NAT Gateway. Der VPC-Assistent legt es in manchen Abläufen standardmäßig an. Es kostet etwa 30-35 Dollar im Monat allein dafür, dass es existiert, plus etwa 0,05 Dollar pro GB, das hindurchgeht. Es erscheint als NatGateway-Hours und NatGateway-Bytes innerhalb von "EC2-Other". Wenn Ihre Maschinen eine öffentliche IP haben, brauchen Sie es nicht.
Weitere, seltenere: ein versehentlich abgeschlossener Support-Plan, CloudWatch-Protokolle ohne Ablauf, alte Versionen in einem S3-Bucket mit Versionierung, Load Balancer ohne etwas dahinter.
Wie Sie die Kosten noch heute stoppen
- Vergessene Maschine: Wenn Sie sie nicht brauchen, machen Sie einen Snapshot (für alle Fälle) und beenden Sie sie. Wenn Sie sie gelegentlich brauchen, stoppen Sie sie; in EC2 zahlen Sie dann nur die Festplatte. Bei Lightsail: Snapshot und löschen; Stoppen spart nichts.
- Snapshots: Nach Datum sortieren und die alten löschen. Behalten Sie die letzten zwei oder drei jeder Produktionsmaschine. Prüfen Sie die automatischen Backup-Regeln (Data Lifecycle Manager, AWS Backup, automatische Snapshots von Lightsail) und setzen Sie eine Aufbewahrungsgrenze.
- Lose IPs: In EC2, Elastic IPs, die ohne zugewiesene Instanz: Freigeben. In Lightsail, Menü Netzwerk, die nicht zugewiesenen: löschen.
- Datenübertragung: Ermitteln Sie die Quelle (die Maschine oder der Bucket mit dem meisten ausgehenden Verkehr in den Metriken) und entscheiden Sie: Cache, CloudFront, komprimieren, das Backup nach S3 in derselben Region verschieben oder einen öffentlichen Bucket schließen.
- RDS, die neu startet: Wenn Sie sie wirklich nicht nutzen, machen Sie einen Snapshot der Datenbank und löschen Sie sie; das Wiederherstellen dauert zehn Minuten. Wenn Sie sie ab und zu nutzen, planen Sie das wöchentliche Stoppen mit EventBridge Scheduler oder akzeptieren Sie die Kosten.
- Lambda in Schleife: Setzen Sie die reservierte Gleichzeitigkeit der Funktion auf 0, um sie sofort anzuhalten, reparieren Sie den Auslöser und setzen Sie sie wieder hoch.
- NAT Gateway: In VPC, NAT-Gateways, löschen Sie es, wenn keine privaten Maschinen es nutzen. Prüfen Sie vorher, dass keine Maschine ohne öffentliche IP es braucht, um ins Internet zu kommen.
Damit es nicht wieder passiert
Drei Dinge, in dieser Reihenfolge des Aufwands:
- Ein Budget in Budgets mit Warnung bei 80 % der tatsächlichen Kosten und bei 100 % der Prognose. Zwei Minuten. Es verwandelt eine Überraschung am Monatsende in eine Warnung zur Monatsmitte.
- Tags für
ProyectoundPropietario, als Kosten-Tags aktiviert. Beim nächsten Mal liefert Ihnen Schritt 5 dieser Anleitung direkt den Namen. - Eine monatliche Prüfung von fünf Minuten: Cost Explorer nach Dienst und Region, lose IPs, Festplatten ohne Maschine, Snapshots älter als sechs Monate.
Was schiefgehen kann
Der Cost Explorer zeigt die letzten zwei Tage nicht
Das ist normal: Die Daten kommen mit bis zu 24 Stunden Verzögerung, und der laufende Tag ist unvollständig. Um die Wirkung von etwas gerade Gelöschtem zu sehen, warten Sie einen Tag. Bei einem echten Notfall (eine Lambda-Schleife, eine sehr große Maschine) warten Sie nicht auf den Cost Explorer: Schauen Sie direkt in die Konsole des Dienstes.
Die Kosten stehen unter "EC2-Other" und ich weiß nicht, was das ist
"EC2-Other" fasst alles zusammen, was keine Maschinenstunden sind: EBS-Festplatten, Snapshots, IP-Adressen, NAT Gateway, Übertragung zwischen Zonen. Filtern Sie nach diesem Dienst und gruppieren Sie nach Nutzungsart; der Name der Nutzungsart sagt genau, welches davon es ist.
Ich habe das Objekt gelöscht, aber die Rechnung bleibt gleich
Was in diesem Monat schon verbraucht wurde, verschwindet nicht: Die Rechnung zeigt die bis heute aufgelaufenen Kosten. Sinken müssen die täglichen Kosten ab morgen. Schauen Sie nach zwei Tagen im Cost Explorer mit täglicher Granularität nach und prüfen Sie, dass die Stufe wieder gesunken ist. Wenn nicht, ist ein Rest (die IP, die Festplatte, der Snapshot) des gelöschten Objekts übrig.
Ich habe keine Berechtigung, Billing zu sehen
Standardmäßig kommen nur das Root-Konto und Benutzer mit Billing-Rechten in den Cost Explorer. Der Administrator muss in den Kontoeinstellungen den IAM-Zugriff auf Abrechnungsinformationen aktivieren und dem Benutzer eine Richtlinie wie Billing oder AWSBillingReadOnlyAccess geben.
In Simplio
In Simplio zeigt der Bildschirm Kosten für jedes verbundene AWS-Konto, was in diesem Monat bis heute berechnet wurde, die Prognose für das Monatsende und den Vormonat, in Dollar und in Euro, zusammen mit den ungefähren Kosten jedes Objekts: Maschinen, Datenbanken, Festplatten, Snapshots, IPs. Von der Karte jeder Maschine aus können Sie sie sofort stoppen, löschen oder einen Snapshot machen, und das Monatsbudget warnt per E-Mail, wenn die Kosten abweichen.
Mit dem Aktivitätsprotokoll sehen Sie, wer was wann angelegt hat, und mit dem Budget pro Benutzer hat jede Person ihre Obergrenze, bevor das Problem auf der Rechnung landet.
Dasselbe, in AWS und in Simplio
| In der AWS-Konsole | In Simplio | |
|---|---|---|
| Sehen, was gestiegen ist | Cost Explorer, fünf Gruppierungen und ein Tag Verzögerung | Bildschirm Kosten: dieser Monat, Prognose und ungefähre Kosten jedes Objekts |
| Wissen, wer es angelegt hat | Nur wenn vorher Kosten-Tags aktiviert waren | Aktivitätsprotokoll: wer, was und wann |
| Die Kosten stoppen | Das Objekt in der Konsole jedes Dienstes und jeder Region suchen | Stoppen, löschen oder Snapshot machen von der Karte des Objekts aus |
| Damit es sich nicht wiederholt | Budget in Budgets und Pflicht-Tags | Monatsbudget mit E-Mail-Warnung und Budget pro Benutzer |