«Die Cloud bringt Flexibilität, Geschwindigkeit, Innovation, Skalierbarkeit und Kostenersparnisse mit sich.»
Das sind einige der vielen Versprechen, welche uns die Cloudprovider immer wieder verkaufen. Durchaus können Cloud-Services uns dabei helfen, schnell und einfach neue komplexe Umgebungen aufzubauen, neue Lösungsansätze zu testen und bei Bedarf zu skalieren.
Sehen IT Fachleute diese neuen Möglichkeiten und beginnen Sie zu testen, sind viele hell begeistert und möchten gleich loslegen. Die neu gewonnene Flexibilität bringt aber auch Gefahren mit sich. Eine grosse Herausforderung ist es, seine Kosten unter Kontrolle zu halten. Es ist essenziell, dass ein Unternehmen seine Ausgaben kennt und reagieren kann, bevor diese aus dem Ruder laufen und man am Ende des Monats eine überraschend hohe Rechnung erhält.
Zur Kostenkontrolle unterhält AWS verschiedene Dienste und Tools. Der zentrale Service für die Kostenkontrolle in AWS ist der AWS-Kostenmanagement Service.
Im AWS-Kostenmanagement Service habe ich den Cost Explorer, der mir hilft herauszufinden, für was ich wie viel ausgebe und wie hoch meine Rechnung Ende Monat in etwa sein wird. Ich kann auch Reports erstellen, mit Budgets für einzelne Teams, Applikationen, etc. arbeiten und mich anhand von mir definierten Regeln Alarmieren lassen. Dies sind unverzichtbare Funktionen, um seine Kosten im Griff zu haben. Dies bedeutet aber auch viel Aufwand für die Einrichtung aber auch den Unterhalt dieser Dienste.
Seit dem 24. September 2020 bietet AWS einen neuen, auf Machine Learning basierenden Dienst, namens «AWS Kosten Anomalieerkennung» an.
Bis anhin musste ich die Kostenkontroll-Regeln definieren, anhand welcher ich informiert werden soll.
Zum Beispiel: Ich möchte eine Nachricht erhalten, wenn meine Kosten Ende Monat voraussichtlich über 50$ sein werden. Das bedeutete, dass ich eine Vielzahl an Regeln manuell definieren und diese ständig an meine über die Zeit sich ändernden Anforderungen anpassen muss. Dies ist eine sehr zeitintensive Arbeit und wird auch von vielen Unternehmen immer wieder vernachlässigt.
Mit diesem neuen Service übernimmt AWS die Aufgabe der Regeldefinition für mich. Mit Hilfe von komplexen, benutzerdefinierten Machine Learning Modellen, wird ein individuelles Kostenmuster erstellt und fortlaufend auf Anomalien geprüft. Dabei werden auch saisonale Gegebenheiten und organisches Wachstum mitberücksichtigt. Dies bedeutet, du selber musst keine Regeln wie im Beispiel vorher beschrieben mehr erstellen, sondern dies wird von AWS übernommen.
Die AWS Kosten Anomalieerkennung ist in der Lage, Auffälligkeiten, wie z.B. abnormale kontinuierliche Kostensteigerung oder einmalige Kostenspitzen, zu erkennen und entsprechend zu alarmieren.
Schauen wir uns an, wie dieser Kosten Anomalie Erkennungsdienst genau funktioniert.
Der erste Schritt ist es, einen Kostenmonitor zu erstellen. Mittels verschiedener Kostenmonitoren kann ich verschiedene Segmentierungen für die Kostenüberwachung definieren. Ich habe die Möglichkeit, bis zu 101 verschiedene Kostenmonitore zu erstellen.
Zur Segmentierung stehen mir vier verschiedene Monitortypen zu Verfügung:
AWS-Services
Der AWS-Service Monitor überwacht jeden einzelnen verwendeten AWS-Service und alarmiert entsprechend. Verwende ich einen neuen Service, wird die Überwachung für diesen Service auch automatisch aktiviert. Die Anomalieschwellwerte werden automatisch, basierend auf meinen bisherigen Servicekosten-Mustern, angepasst.
Verknüpftes Konto
Bei diesem Monitortyp werden die Gesamtkosten eines einzelnen Kontos, oder einer Gruppe von Konten, überwacht. Dieser Monitortyp bietet eine umfassende Übersicht über die Kosten der Überwachten Konten.
Kostenkategorie
Der Kostenkategorie Monitor überwacht die Gesamtausgaben für eine einzelne Kostenkategorie. Die AWS Kostenkategorie ist eine Funktion im AWS Cost Management, welche es uns ermöglicht, Kosten und Nutzungsinformationen individuell in Kategorien zu gruppieren.
Kostenzuordnungs-Tag
Beim Kostenzuordnungs-Tag Monitor habe ich die Möglichkeit zur Überwachung der Gesamtkosten für eine einzelnes Tag-Schlüssel-Wert-Paar. Dieser Monitortyp beschränkt sich auf einen Tag-Schlüssel, akzeptiert aber mehrere Tag-Werte.
Nebst der Auswahl der passenden Segmentierung für mein Monitor, muss ich auch noch den Alarmschwellwert definieren.
Der Alarmschwellwert definiert, bei welchen Abweichungen ich benachrichtigt werden möchte. Sämtliche Anomalien werden in der Übersicht des Dienstes angezeigt, ich werde aber nur bei der Überschreitung des Alarmschwellwertes via E-Mail oder den SNS Service alarmiert. Zudem kann ich die Häufigkeit der Warnmeldungen festlegen. Die Option «Sofortige Warnung» ermöglichen es mir, benachrichtigt zu werden, sobald eine Unregelmäßigkeit entdeckt wurde. Eine andere Möglichkeit besteht darin, tägliche oder wöchentliche zusammenfassende Berichte zu erhalten.
Habe ich meinen Monitor erstellt, braucht es nur ca. 24h bis die Anomalieerkennung unsere Kostenmuster erlernt hat und Abnormitäten erkennen kann. Wird eine solche erkannt, wird entsprechend dem Alarmschwellwert informiert und in der Übersicht des Anomalieerkennung-Dienstes angezeigt.
Nun hat man die Möglichkeit, detailliertere Informationen zur Anomalie zu erhalten. Dazu klicke ich auf die Anomalie in der Übersicht und mir werden detaillierte Informationen zur Ursache angezeigt.
Sie gibt Auskunft darüber, welcher Dienst welche Konto-ID, in welcher Region und welcher Nutzungstyps die Unregelmäßigkeit verursacht hat. Sind es mehrere Dienste oder Konten, welche dies verursachen, so werden die zwei am stärksten betroffenen Ursachen aufgelistet. Des Weiteren ist die Anomalie Erkennung in den Cost Explorer integriert, sodass ich eine Abnormität grafisch visualisieren und bei Bedarf weitere Analysen durchführen kann. Klicke ich bei einer Ursache der Anomaliedetails auf den Cost Explorer Link, werden die Filter und Daten im Cost Explorer entsprechend Ereignis konfiguriert.
Zu guter Letzt kann ich jede erkannte Anomalie bewerten und so zum einen markieren, welche ich bereits behandelt habe und zum anderen mit meiner Rückmeldung zu Verbesserung des Dienstes beitragen.
Der Dienst «Kosten Anomalieerkennung» von AWS ist komplett kostenlos und kann sehr einfach und mit wenigen Klicks aktiviert werden.
Worauf wartest du also noch?
Ich glaube, der Service kann einem viel Arbeit ersparen und trägt massgeblich zu einer besseren Kostenkontrolle bei. Ich bin gespannt, wie sich der Dienst in den kommenden Wochen und Monaten bewähren wird. Ein Versuch ist es sicher wert, da der Service keine zusätzlichen Kosten verursacht. Der Dienst ist noch im Beta Status, kann aber von jedem User bereits verwendet werden.
Über den Autor
Seit 2005 arbeitet Tobias Acklin im IT-Umfeld. Die ersten 12 Jahre arbeitete er bei einem Schweizer Private-Cloud Anbieter und hat sich um den Aufbau neuer Dienste, aber auch um den Betrieb und Weiterentwicklung der bestehenden Dienste und Kunden gekümmert. Danach begann er sich intensivst mit den Amazon Web Services auseinanderzusetzen und ist nun seit 2019 AWS Authorized Instructor und seit 2020 AWS Authorized Instructor Champion.