Die Überwachung war schon seit jeher ein wesentlicher Bestandteil der Wartungsphase im Softwareentwicklungslebenszyklus. Doch da Unternehmen ihre Abläufe immer häufiger in cloudbasierte Umgebungen verlagern, ist die Überwachung inzwischen geradezu unverzichtbar für die Sicherheit, Zuverlässigkeit und Verfügbarkeit von Anwendungen.
Amazon Web Services (AWS) bietet verschiedene Überwachungstools, die Benutzer bei der Überwachung ihrer Cloudsysteme unterstützen. Die beiden am weitesten verbreiteten und wichtigsten Überwachungstools sind CloudTrail und CloudWatch. In diesem Artikel vergleichen wir diese beiden Tools und untersuchen ihre wichtigsten Funktionen, Fähigkeiten, Unterschiede und Gemeinsamkeiten.
Was ist AWS CloudTrail?
AWS CloudTrail erfasst eine vollständige Aufzeichnung aller API-Aktivitäten innerhalb eines Kontos, einschließlich Informationen zum verantwortlichen Benutzer oder Dienst, zum Zeitpunkt und zu den vorgenommenen Änderungen. So entsteht ein vollständiger Prüfpfad für alle Änderungen in der AWS-Infrastruktur. Dieser bietet einen vollständigen Ereignisverlauf aller Aktivitäten innerhalb der AWS-Konten und macht CloudTrail zu einem wichtigen Tool für Compliance- und Sicherheitszwecke.
Falls ein Benutzer eine fehlende Ressource in seinem AWS-Konto bemerkt, hilft CloudTrail dabei herauszufinden, welche Aktion die Ressource beendet hat, wer (oder was) die Aktion ausgeführt hat und wann die Ausführung stattgefunden hat.
CloudTrail protokolliert drei Ereignisarten:
- Verwaltungsereignisse wirken sich auf die AWS-Umgebung aus (z. B. das Erstellen eines neuen IAM-Benutzers, das Starten einer EC2-Instanz oder das Ändern von Sicherheitsgruppen).
- Bei Datenereignissen handelt es sich um Daten innerhalb eines AWS-Dienstes (z. B. das Abrufen eines Objekts aus einem S3-Bucket, das Herunterladen einer Datei von einer EC2-Instanz oder das Ändern des Inhalts einer Datenbank).
- Einblicke liefern Informationen zur Leistung und zur Betriebsintegrität eines AWS-Kontos (z. B. AWS-Dienstkontingente, bewährte Sicherheitspraktiken und Compliance-Prüfungen).
Nur Verwaltungsereignisse sind ohne zusätzliche Kosten zugänglich, während für Datenereignisse und Einblicke möglicherweise zusätzliche Kosten anfallen.
Hauptfunktionen
CloudTrail bietet die folgenden Hauptfunktionen:
- Erzeugt einen detaillierten Ereignisverlauf aller Aktivitäten in einem AWS-Konto
- Ermöglicht die Protokollweiterleitung an CloudWatch Logs oder S3-Buckets zur Speicherung und Analyse
- Unterstützt die Integration in andere AWS-Dienste wie SNS und CloudWatch, um automatisierte Architekturen zu ermöglichen
- Bietet eine Validierung der Protokolldateiintegrität, um die Authentizität und Aufbewahrung der Protokolldateien zu gewährleisten
Was ist AWS CloudWatch?
AWS CloudWatch ist ein Überwachungsdienst, der Metriken erfasst, Ereignisse protokolliert und Alarme bereitstellt. CloudWatch bietet Echtzeitüberwachung von AWS-Ressourcen und -Anwendungen und ermöglicht AWS-Benutzern so, die Leistung und Kosten ihrer Systeme zu optimieren.
CloudWatch besteht aus verschiedenen Kernkomponenten, die alle zusammenarbeiten, um eine vollständige Überwachungslösung bereitzustellen. Werfen wir einen genaueren Blick auf diese Komponenten.
CloudWatch-Metriken
CloudWatch-Metriken nutzen quantitative Datenpunkte, um die Leistung von AWS-Ressourcen und -Anwendungen zu messen. Mit CloudWatch-Metriken können Benutzer die Integrität und die Leistung ihrer Systeme überwachen. So lassen sich z. B. CPU-Auslastung, Netzwerkverkehr und die Festplatten-/RAM-Nutzung messen.
CloudWatch-Alarme
Die CloudWatch-Alarme lösen Aktionen aus, wenn bestimmte Metriken kritische Schwellenwerte überschreiten. Beispielsweise könnte ein Benutzer einen CloudWatch-Alarm erzeugen, wenn die CPU-Auslastung einer EC2-Instanz 80 % überschreitet. Dadurch kann z. B. ausgelöst werden, dass die Anwendung zur Unterstützung der zusätzlichen Last hochskaliert und eine E-Mail-Benachrichtigung an den diensthabenden DevOps-Techniker gesendet wird.
CloudWatch-Ereignisse
CloudWatch-Ereignisse lösen Aktionen als Reaktion auf bestimmte Ereignisse aus. Beispielsweise kann ein CloudWatch-Ereignis so eingerichtet werden, dass es jedes Mal ausgelöst wird, wenn eine neue EC2-Instanz gestartet wird. Die resultierende Aktion kann eine Lambda-Funktion aufrufen oder ein Beitrag in einem SNS-Thema veröffentlichen.
Beachten Sie, dass AWS seinen Benutzern empfiehlt, ihre Ereignisse über AWS EventBridge statt über CloudWatch-Ereignisse zu verwalten.
CloudWatch-Protokolle
CloudWatch-Protokolle erfassen, analysieren und speichern Protokolldateien aus benutzerdefinierten Anwendungen in oder außerhalb der AWS-Cloud oder von AWS-Diensten (wie CloudTrail oder Lambda). Darüber hinaus analysieren und filtern die CloudWatch-Protokolle Protokolldaten, um Probleme zu beheben und die Anwendungsleistung zu überwachen.
Weitere CloudWatch-Funktionen:
- CloudWatch-Dashboards bieten eine anpassbare Ansicht von Metriken und Alarmen.
- Der einheitliche CloudWatch-Agent erfasst benutzerdefinierte Metriken und Protokolle.
- CloudWatch Synthetics prüfen und überwachen Anwendungsendpunkte.
AWS CloudTrail und AWS CloudWatch im Vergleich
CloudTrail und CloudWatch sind beides Überwachungsdienste von AWS, die aber über unterschiedliche Funktionen und Fähigkeiten für unterschiedliche Anwendungsfälle verfügen.
CloudTrail wird zur Prüfung und Compliance-Überwachung verwendet, da die Lösung alle API-Aktivitäten in einem AWS-Konto erfasst. Unternehmen können mit CloudTrail z. B. alle in ihrem AWS-Konto getätigten API-Aufrufe verfolgen, um sicherzustellen, dass nur autorisiertes Personal auf Ressourcen zugreift.
Dabei ist zu erwähnen, dass CloudTrail zwar API-Aktivitätsereignisse erfasst und Protokolle generiert, diese Protokolle jedoch nicht zur visuellen Darstellung analysieren oder automatisierte Prozesse erstellen kann. Um CloudTrail-Protokolle zu analysieren und automatisierte Prozesse einzurichten, müssen sie von CloudTrail an CloudWatch-Protokolle übertragen werden. In CloudWatch-Protkollen können Sie dann die Protokolle untersuchen, Alarme erstellen und Benachrichtigungen auslösen.
CloudWatch hingegen erfasst, verfolgt und überwacht Metriken, Protokolldateien und AWS-Ressourcenereignisse. Die Lösung umfasst auch Alarme zur Benachrichtigung beim Eintritt bestimmter Ereignisse. So könnte ein Unternehmen CloudWatch z. B. verwenden, um die Integrität und die Leistung seiner Anwendungen zu überwachen und eine effektivere Fehlerbehebung zu ermöglichen, falls ein Problem auftritt.
Nachfolgend finden Sie einige weitere Unterschiede zwischen den beiden Diensten:
CloudWatch | CloudTrail | |
---|---|---|
Kostenlose Funktionen |
|
|
Kostenpflichtige Funktionen |
|
|
Datenhäufigkeit |
|
|
Zusammenfassung
CloudTrail und CloudWatch sind zwei wesentliche Überwachungsdienste von AWS, die aber über unterschiedliche Funktionen verfügen. CloudTrail zeichnet alle API-Aktivitäten in einem AWS-Konto auf und eignet sich somit für Audit- und Compliance-Zwecke. CloudWatch wird hauptsächlich zur Überwachung der Anwendungs- und Ressourcenleistung, zur Warnung, wenn bestimmte Kennzahlen Aufmerksamkeit erfordern, und zur Suche nach Optimierungs- und Kostensenkungsmöglichkeiten verwendet.
Indem Sie die Stärken beider Dienste kombinieren, erreichen Sie ein umfassendes und automatisiertes Überwachungs- und Reaktionssystem für Ihre AWS-Umgebung.