Getty Images/iStockphoto
Vergleich zwischen Amazon CloudWatch und AWS CloudTrail
Mit Amazon CloudWatch und AWS CloudTrail sehen Administratoren Konfigurationsverläufe ein und richten Überwachungswarnungen ein. Hier sind die wichtigsten Unterschiede der Tools.
Amazon CloudWatch und AWS CloudTrail sind wichtige Tools, über die AWS-Administratoren Bescheid wissen sollten.
CloudWatch ist ein vielseitiges Tool, das eine vorausschauende Überwachung und Alarmierung in AWS-Umgebungen ermöglicht. CloudTrail ist ein passiver Protokollierungsdienst, der eine vollständige Historie aller Konfigurationsänderungen und Verwaltungsereignisse innerhalb eines AWS-Kontos aufbewahrt.
In Kombination bieten diese Tools das Beste aus beiden Welten. CloudWatch kann den passiven Verlauf der Ereignisse nutzen, die CloudTrail verfolgen, und beide können Alarme erzeugen, die aktiviert werden, wenn ungewöhnliche Muster auftauchen. In diesem Artikel werden die einzelnen Tools und ihre jeweiligen Anwendungsfälle, Funktionen und Einschränkungen vorgestellt.
Was ist CloudWatch?
Amazon CloudWatch ist ein vorausschauendes Tool, da es Nutzungstrends erkennen kann. Es erklärt, wie sich die Dinge in einer AWS-Umgebung derzeit entwickeln und warnt Administratoren, wenn etwas schief zu gehen droht.
CloudWatch überwacht Laufzeitmetriken, wie zum Beispiel die CPU-Auslastung einer Lambda-Funktion oder den Speicherverbrauch einer EC2-Instanz, und löst Alarme aus, wenn die Indikatoren vorkonfigurierte Schwellenwerte überschreiten. Diese Funktion unterstützt Administratoren, präventive Maßnahmen zu ergreifen, bevor es zu Leistungs- und Verfügbarkeitsprobleme kommt.
Was ist CloudTrail?
AWS CloudTrail zeigt Administratoren, wer was wann getan hat.
Im Gegensatz zu CloudWatch befasst sich CloudTrail nicht mit Laufzeitmetriken. Stattdessen protokolliert es alle Konfigurationsänderungen, die Benutzer, Rollen und andere Services über die AWS-API vornehmen. Diese Fähigkeit ist für die Nachverfolgung und Fehlerbehebung nützlich.
„Wenn eine CodeDeploy-Pipeline auf mysteriöse Weise abbricht, kann ich in den CloudTrail-Protokollen nach einem UpdateDeploymentGroup-Ereignis suchen“, sagt Yiwei Shen, ein Full-Stack-Entwickler bei Xennial Innovations. „Zu wissen, wer die Bereitstellungsgruppe aktualisiert hat und wann, kann die Fehlerbehebung erheblich vereinfachen.“
Amazon CloudWatch versus AWS CloudTrail
Der Hauptunterschied zwischen CloudWatch und CloudTrail besteht darin, dass CloudWatch aktiv Laufzeitmetriken überwacht und analysiert, während CloudTrail passiv einen Verlauf aller Konfigurations- und Zustandsänderungen protokolliert, die über die AWS-API erfolgen.
Anwendungsfälle von CloudTrail
CloudTrail bietet eine digitale Überwachungskette, die jede Änderung an Ressourcen in einem AWS-Konto verfolgt.
CloudTrail zeichnet jeden AWS-API-Aufruf auf, der innerhalt eines AWS-Kontos erfolgt. Jede Aktion, die ein Benutzer zum Erstellen, Konfigurieren, Verwalten und Interagieren mit AWS aufruft, läuft über einen API-Aufruf. Ein CloudTrail-Ereignis dokumentiert, wer den API-Aufruf getätigt hat, den Zeitpunkt des Aufrufs und die API, die aufgerufen wurde. CloudTrail verwaltet einen Verlauf dieser Ereignisse und speichert sie in einem S3-Bucket.
CloudTrail ist in erster Linie für Audits, Governance und Compliance-basierte Anwendungsfälle gedacht. Die Möglichkeit zu erkennen, wer eine Ressource wann aktualisiert hat, kann auch bei der Fehlersuche und -behebung hilfreich sein.
Im Falle eines Compliance-Audits oder wenn das DevOps-Team eine Ursachenanalyse für eine falsch konfigurierte Ressource durchführen möchte, liefert CloudTrail die folgenden Informationen:
- Welche Aktionen für eine bestimmte Ressource durchgeführt wurden.
- Welche früheren Aktionen auf einer bestimmten Ressource ausgeführt wurden.
- Wer die betreffende Aktion durchgeführt hat.
- Die Zeit, zu der das Ereignis eingetreten ist.
- Was die Quelle des Ereignisses war.
CloudTrail ist ein reaktives Tracking-Tool, da es nur Einblicke in den Verlauf von Ereignissen bietet, die in der Vergangenheit aufgetreten sind. Im Gegensatz zu AWS Config kann es nicht verhindern, dass eine bösartige Konfigurationseinstellung vorgenommen wird, und es kann keine Alarme oder Warnungen auslösen, wenn ungewöhnliche Aktivitäten auftreten. CloudTrail ist lediglich ein Ereignisprotokoll.
„CloudTrail wird immer mein bevorzugter AWS-Service sein“, sagte Vaishnav Jois, ein AWS-Cloud-Ingenieur, der den Service genutzt hat, um festzustellen, wann S3-Buckets unerwartet verschwinden oder EC2-Instanzen auf mysteriöse Weise online gehen. „Er hilft dabei, herauszufinden, welcher Benutzer oder Service eine Ressource zu einem kritischen Zeitpunkt gelöscht oder erstellt hat. Das ist von unschätzbarem Wert für die Fehlersuche.“
Anwendungsfälle von CloudWatch
Amazon CloudWatch ist ein prädiktives Analyse-Tool. Es verfolgt Metriken in Echtzeit, unterhält eine Ereignishistorie und verfügt über Tools, die Trends im Zeitverlauf grafisch darstellen. CloudWatch unterstützt bei der Vorhersage zukünftiger Nutzungsmuster, die Administratoren nutzen können, um Ressourcen zuzuweisen, bevor es zu Engpässen oder Leistungsproblemen kommt.
CloudWatch arbeitet auf drei primären Achsen:
1. Aggregation von Protokolldateien
2. Überwachung in Echtzeit
3. Schwellenwert-Alarmierung
1. Aggregation von Protokolldateien
Standardmäßig werden alle Protokolldateien, die von serverlosen AWS-Ressourcen erzeugt werden, zur Ansicht an CloudWatch gesendet.
Administratoren können andere AWS-Ressourcen, wie beispielsweise Relational-Database-Service-Datenbanken oder EC2-Instanzen, so konfigurieren, dass sie ihre Protokolldateien in CloudWatch veröffentlichen. Diese Konfiguration bietet folgende Vorteile:
1. Benutzer können Protokolldateien über eine einzige, einheitliche CloudWatch-Schnittstelle anzeigen und verwalten.
2. Die Benutzer müssen nicht auf einzelne EC2-Instanzen zugreifen, um Probleme mit der residenten Software zu beheben.
2. Überwachung in Echtzeit
Neben der Protokollaggregation überwacht CloudWatch auch die Leistung von AWS-Diensten zur Laufzeit.
Beispielsweise können Teams, die sich mit Kapazitätsmanagement und Laufzeitleistung befassen, CloudWatch so konfigurieren, dass eine Vielzahl von Metriken überwacht wird, darunter:
- Speichernutzung von EC2-Instanzen
- Lese- und Schreibvorgänge auf Elastic Block Store Volumes
- Anzahl der Anfragen an API-Endpunkten
- Fehlerraten bei Aufrufen von AWS-Lambda-Funktionen
Wenn Administratoren eine Metrik zur Analyse auswählen, speichert AWS die Daten zu dieser Metrik bis zu 15 Monate lang. Benutzer können die Daten einfach über die AWS-Konsole anzeigen, grafisch darstellen und darauf zugreifen.
3. Schwellenwerte, Alarme und automatische Skalierung
Ein weiteres überzeugendes Merkmal von Amazon CloudWatch ist seine Alarmfunktion.
Benutzer können Schwellenwerte für alle Metriken festlegen, die sie überwachen möchten, und festlegen, wann bei Überschreitung ein Alarm ausgelöst werden soll. Wenn ein Alarm ausgelöst wird, wird eine Warnung an interessierte Parteien per E-Mail, Text oder einen anderen von Amazon Simple Notification Service unterstützten Mechanismus gesendet.
Das automatische Alarmsystem ermöglicht es Administratoren, zu handeln, bevor Benutzer eine Leistungsverschlechterung feststellen.
CloudWatch-Schwellenwerte und -Alarme lassen sich nahtlos in die AWS-Autoskalierung integrieren. Wenn zum Beispiel einer EC2-Instanz der Speicher ausgeht oder eine Lambda-Funktion mehr Rechenleistung benötigt, kann ein CloudWatch-Alarm eine Autoscaling-Routine auslösen, die zusätzliche Ressourcen zuweist.
„Die Möglichkeit, eine automatische Skalierung zu konfigurieren, wenn CloudWatch eine Auslastungsspitze feststellt, ist das, was einen Full-Stack-Entwickler nachts ruhig schlafen lässt“, sagt Shen.
Integration von CloudWatch und CloudTrail
CloudWatch und CloudTrail sind zwei unterschiedliche Tools, die zwei verschiedene Anwendungsfälle bedienen. Die beiden Tools überschneiden sich jedoch und Administratoren können sie gemeinsam nutzen.
CloudTrail protokolliert zum Beispiel fehlgeschlagene Anmeldeversuche. Ein häufiges Anzeichen für einen versuchten Account-Hijacking-Versuch ist eine übermäßige Anzahl von fehlgeschlagenen Anmeldeversuchen. Administratoren können verfolgen, ob eine ungewöhnlich hohe Anzahl von fehlgeschlagenen Anmeldeversuchen auftritt, indem sie CloudTrail-Protokolle an CloudWatch weiterleiten. Wenn die Anzahl der fehlgeschlagenen Anmeldeversuche pro Minute einen in CloudWatch festgelegten Schwellenwert übersteigt, wird eine Warnung an das Sicherheitsteam gesendet, das Korrekturmaßnahmen ergreifen kann.
Kosten für CloudTrail und CloudWatch
Die Nutzung von AWS CloudTrail ist kostenlos, allerdings fallen Kosten für S3-Speicher an.
Die Preise für Amazon CloudWatch basieren auf einer Reihe von Faktoren, darunter die Anzahl von der überwachten Metriken und die Häufigkeit, mit der die Metriken an CloudWatch übermittelt werden.
Für CloudWatch gibt es kostenlose Preisstufen, aber die Überwachung kann teuer werden, sobald die Stufen ausgeschöpft sind.