Grundlegendes zu Konzepten für geplante Abfragen - CloudWatch Amazon-Protokolle

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Grundlegendes zu Konzepten für geplante Abfragen

Bevor Sie geplante Abfragen erstellen, sollten Sie sich mit diesen Schlüsselkonzepten vertraut machen, die sich darauf auswirken, wie Ihre Abfragen ausgeführt werden und wo Ergebnisse geliefert werden.

IAM-Rollentrennung

Geplante Abfragen erfordern zwei separate IAM-Rollen: eine für die Ausführung von Abfragen und eine weitere für die Übermittlung von Ergebnissen an Amazon S3 oder Amazon EventBridge Event Buses. Wenn Sie verstehen, warum diese Trennung existiert, können Sie Berechtigungen korrekt konfigurieren und die damit verbundenen Sicherheits- und Betriebsvorteile nutzen.

Die Architektur mit zwei Rollen verteilt die Zuständigkeiten zwischen Datenzugriff und Datenbereitstellung. Die Rolle zur Abfrageausführung greift auf Ihre Protokolldaten zu und führt Abfragen aus, während die Rolle für die Zielzustellung die Ergebnisse an das von Ihnen gewählte Ziel schreibt. Diese Trennung folgt dem Prinzip der geringsten Rechte: Jede Rolle hat nur die Berechtigungen, die sie für ihre spezifische Funktion benötigt.

Rolle zur Abfrageausführung

Ermöglicht CloudWatch Logs, CloudWatch Logs Insights-Abfragen in Ihrem Namen auszuführen. Diese Rolle benötigt Berechtigungen, um auf Ihre Protokollgruppen zuzugreifen und Abfragen auszuführen, benötigt jedoch keinen Zugriff auf Zielressourcen. Erforderliche Berechtigungen:

  • logs:StartQuery

  • logs:StopQuery

  • logs:GetQueryResults

  • logs:DescribeLogGroups

  • logs:Unmaskwenn Daten demaskiert werden müssen

Für KMS-verschlüsselte Protokollgruppen: kms:Decrypt und kms:DescribeKey Berechtigungen für den KMS-Schlüssel, der zum Verschlüsseln der Protokollgruppen verwendet wird. Diese Berechtigungen müssen ebenfalls hinzugefügt werden.

Anforderung einer Vertrauensbeziehung: Die Rolle zur Abfrageausführung muss eine Vertrauensrichtlinie enthalten, die es dem CloudWatch Logs-Dienst (logs.amazonaws.com) ermöglicht, die Rolle zu übernehmen. Ohne diese Vertrauensstellung schlagen geplante Abfragen fehl und führen zu Berechtigungsfehlern.

Beispiel für eine Vertrauensrichtlinie für die Rolle zur Abfrageausführung:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Beispiel für eine Berechtigungsrichtlinie für die Rolle zur Abfrageausführung:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:StartQuery", "logs:StopQuery", "logs:GetQueryResults", "logs:DescribeLogGroups" ], "Resource": "*" } ] }
Rolle „Zielzustellung“

Ermöglicht CloudWatch Logs, Abfrageergebnisse an das von Ihnen gewählte Ziel zu senden. Diese Rolle benötigt nur Berechtigungen für den spezifischen Zieldienst und folgt dabei dem Prinzip der geringsten Rechte. Die erforderlichen Berechtigungen variieren je nach Zieltyp.

Anforderung einer Vertrauensbeziehung: Die Zielzustellungsrolle muss auch eine Vertrauensrichtlinie enthalten, die es dem CloudWatch Logs-Dienst (logs.amazonaws.com) ermöglicht, die Rolle zu übernehmen.

Beispiel für eine Berechtigungsrichtlinie für die S3-Zielzustellungsrolle:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::your-scheduled-query-results-bucket/*" } ] }

Diese Trennung bietet praktische Vorteile für Ihren Betrieb. Wenn Sie aus Sicherheitsgründen ändern müssen, wo Ergebnisse geliefert werden, ändern Sie nur die Zielzustellungsrolle, ohne die Berechtigungen zur Abfrageausführung zu ändern. Aus Gründen der Einhaltung von Vorschriften und Audits können Sie eindeutig nachverfolgen, welche Rolle auf sensible Protokolldaten zugreift und welche Rolle in externe Systeme schreibt. Auf diese Weise können Sie leichter nachweisen, dass Ihre Protokollanalyse-Infrastruktur den bewährten Sicherheitsmethoden entspricht.

Regions- und kontoübergreifende Nutzung

Eine geplante Abfrage wird in einer bestimmten Region erstellt und in dieser Region ausgeführt. Sie können jedoch Protokollgruppen abfragen und Ergebnisse für alle Regionen und Konten bereitstellen. Sie müssen ein oder mehrere AWS Konten als Überwachungskonten einrichten und diese mit mehreren Quellkonten verknüpfen. Ein Überwachungskonto ist ein zentrales AWS Konto, das aus Quellkonten generierte Beobachtbarkeitsdaten einsehen und mit ihnen interagieren kann. Ein Quellkonto ist ein AWS Einzelkonto, das Beobachtbarkeitsdaten für die darin enthaltenen Ressourcen generiert. Quellkonten teilen ihre Beobachtbarkeits-Daten mit dem Überwachungskonto. Sie können also geplante Abfragen vom Überwachungskonto aus einrichten, indem Sie die Protokollgruppen aller verknüpften Konten verwenden.

Abfragen von regionsübergreifenden Protokollgruppen

Ihre geplante Abfrage kann auf Protokollgruppen in jeder Region zugreifen. Geben Sie Protokollgruppen in ihrem vollständigen ARN-Format an:arn:aws:logs:region:account-id:log-group:log-group-name. Die Rolle zur Abfrageausführung benötigt logs:StartQuery und logs:GetQueryResults verfügt über Berechtigungen für Protokollgruppen in allen Zielregionen.

Wichtig

Bei der Abfrage von Protokollgruppen oder der Bereitstellung von Ergebnissen über Regionen hinweg überschreiten Protokolldaten regionale Grenzen. Berücksichtigen Sie dabei Folgendes:

  • Anforderungen an den Datenstandort — Stellen Sie sicher, dass die regionsübergreifende Datenübertragung den Datenverwaltungsrichtlinien und gesetzlichen Anforderungen Ihres Unternehmens entspricht

  • Kosten für die Datenübertragung — Für die regionsübergreifende Datenübertragung fallen zusätzliche Gebühren an

  • Netzwerklatenz — Bei Abfragen, die auf Protokollgruppen in entfernten Regionen zugreifen, kann es zu einer höheren Latenz kommen

Um optimale Leistung und Kosteneffizienz zu erzielen, erstellen Sie geplante Abfragen in derselben Region wie Ihre primären Protokollgruppen.

Alternativer Ansatz: Verwenden Sie die Zentralisierung von CloudWatch Logs, um Protokolldaten aus mehreren Konten und Regionen in ein zentrales Monitoring-Konto zu replizieren. Auf diese Weise können Sie geplante Abfragen in einer einzigen Region erstellen, die auf alle Ihre zentralen Protokolle zugreifen, wodurch regionsübergreifende Abfragen vermieden und die Verwaltung der IAM-Berechtigungen vereinfacht wird.

Zeitplanausdrücke und Zeitzonenbehandlung

Der von Ihnen definierte Zeitplan bestimmt, wann Ihre Abfrage ausgeführt wird und wie oft sie ausgeführt wird. Die Auswahl des richtigen Zeitplanausdrucks wirkt sich darauf aus, wann Sie Ergebnisse erhalten und wie viele Daten Sie abfragen. Wenn Sie die Ausdruckstypen verstehen, können Sie leichter zwischen Einfachheit und Präzision wählen.

Cron-Ausdrücke ermöglichen eine präzise Steuerung des Timings, sodass Sie genaue Uhrzeiten, Wochentage oder Wochentage angeben können. Verwenden Sie Cron-Ausdrücke, wenn Abfragen zu bestimmten Geschäftszeiten ausgeführt oder mit betrieblichen Zeitplänen abgestimmt werden müssen. In der Konsole können Sie Abfragen auch mithilfe einfacher Kalenderoptionen planen.

Cron-Ausdrücke

Führen Sie Abfragen zu bestimmten Zeiten aus. Format:cron(minute hour day-of-month month day-of-week year). Beispiele:

  • cron(0 9 * * ? *)- Jeden Tag um 9:00 Uhr UTC

  • cron(0 18 ? * MON-FRI *)- Wochentags um 18:00 Uhr UTC

  • cron(0 0 1 * ? *)- Erster Tag eines jeden Monats um Mitternacht UTC

  • cron(0 12 ? * SUN *)- Jeden Sonntag um 12:00 Uhr UTC

  • cron(30 8 1 1 ? *)- 1. Januar um 8:30 Uhr UTC

Alle geplanten Abfragen werden in UTC ausgeführt, unabhängig von Ihrer lokalen Zeitzone oder dem Standort Ihrer AWS Ressourcen. Dies ist besonders wichtig, wenn Sie Abfragen für Geschäftszeiten oder zeitkritische Analysen planen. Wenn Ihr Unternehmen beispielsweise in der US-Ostzeit tätig ist und Sie einen täglichen Bericht um 9 Uhr ET wünschen, müssen Sie den UTC-Offset berücksichtigen (14:00 UTC während der Sommerzeit, 13:00 UTC andernfalls). Denken Sie bei der Planung Ihrer Zeitplanausdrücke an die UTC-Zeit, um sicherzustellen, dass Abfragen zu den vorgesehenen Zeiten ausgeführt werden.

Wählen Sie eine Abfragesprache

Geplante Abfragen unterstützen drei verschiedene Abfragesprachen. Ihre Wahl wirkt sich sowohl darauf aus, wie Sie Abfragen schreiben, als auch darauf, wie einfach Ihr Team sie verwalten kann. Die richtige Sprache hängt von Ihren Analyseanforderungen und den vorhandenen Fähigkeiten Ihres Teams ab.

Wenn Sie hauptsächlich Protokolldaten filtern und aggregieren, bietet die CloudWatch Logs Insights Query Language die einfachste Syntax. Bei komplexen Datentransformationen, bei denen Sie Daten in mehreren Schritten umformen oder anreichern müssen, erleichtert der Pipeline-Ansatz von PPL die Logik. Wenn Sie Verknüpfungen oder komplexe Aggregationen durchführen müssen, die Datenbankoperationen ähneln, bietet SQL eine vertraute Syntax, die datenbankerfahrene Teams schnell anwenden können.

CloudWatch Logs Insights Query Language (CWLI)

Speziell für die Protokollanalyse mit intuitiver Syntax entwickelt. Am besten geeignet für:

  • Textbasierte Protokollanalyse und Filterung

  • Aggregationen und Statistiken von Zeitreihen

  • Teams, die noch keine Erfahrung mit Protokollanalyse haben

OpenSearch Service Piped Processing Language (PPL)

Pipeline-basierte Abfragesprache mit leistungsstarken Funktionen zur Datentransformation. Am besten geeignet für:

  • Komplexe Datentransformationen und Anreicherung

  • Mehrstufige Datenverarbeitungs-Workflows

  • Teams, die mit der Verarbeitung auf Pipeline-Basis vertraut sind

OpenSearch Service Structured Query Language (SQL)

Standard-SQL-Syntax für vertraute Abfragen im Datenbankstil. Am besten geeignet für:

  • Komplexe Verknüpfungen und Aggregationen

  • Business Intelligence und Berichterstattung

  • Teams mit langjähriger SQL-Erfahrung

Zielauswahl und Anwendungsfälle

Wohin Sie Abfrageergebnisse senden, bestimmt, was Sie mit ihnen machen können. Diese Wahl beeinflusst Ihren gesamten nachgelagerten Workflow — unabhängig davon, ob Sie Langzeitanalysen erstellen, automatisierte Antworten auslösen oder beides. Wenn Sie die Stärken der einzelnen Zieltypen kennen, können Sie die richtige Architektur für Ihren Anwendungsfall entwerfen.

Amazon S3 S3-Ziele sind für Speicherung und Stapelverarbeitung optimiert. Wenn Sie Abfrageergebnisse monatelang oder jahrelang aufbewahren, Trends im Zeitverlauf analysieren oder Daten in Analyseplattformen einspeisen müssen, bietet Amazon S3 kostengünstigen Speicherplatz mit unbegrenzter Aufbewahrung. EventBridge Ziele sind für die Automatisierung in Echtzeit optimiert. Wenn Abfrageergebnisse sofortige Aktionen auslösen sollen, z. B. das Senden von Benachrichtigungen, das Starten von Workflows oder das Aktualisieren von Systemen, werden die Ergebnisse EventBridge als Ereignisse angezeigt, auf die Ihre Anwendungen sofort reagieren können. Standardmäßig werden alle Abfrageabschlussereignisse automatisch als Ereignisse an den Standard-Event-Bus gesendet, was die Integration mit Downstream-Verarbeitungssystemen, Lambda-Funktionen oder anderen ereignisgesteuerten Architekturen ermöglicht. Ergebnisse werden nur dann an Ziele veröffentlicht, wenn die Abfrage erfolgreich ausgeführt wurde.

Amazon-S3-Ziele

Speichern Sie Abfrageergebnisse als JSON-Dateien für die langfristige Aufbewahrung und Stapelverarbeitung. Am besten geeignet für:

  • Historische Analyse und Datenarchivierung

  • Integration mit Data Lakes und Analyseplattformen

  • Konformitäts- und Prüfanforderungen

  • Kostengünstige Speicherung großer Ergebnismengen

EventBridge Destinationen

Senden Sie Abfrageergebnisse als Ereignisse für die Verarbeitung und Automatisierung in Echtzeit. Sie können Abfrageergebnisse mit der im Ereignis gesendeten queryId nur bis zu 30 Tage abrufen, da wir die Ergebnisse für 30 Tage speichern. Am besten geeignet für:

  • Auslösen automatisierter Antworten auf Abfrageergebnisse

  • Integration mit serverlosen Workflows und Lambda-Funktionen

  • Warn- und Benachrichtigungssysteme in Echtzeit

  • Ereignisgesteuerte Architekturen und Microservices

Format und Struktur der Abfrageergebnisse

Für Amazon S3 S3-Ziele — Abfrageergebnisse werden im JSON-Format mit derselben Struktur wie die GetQueryResults API-Antwort geliefert. Für Amazon hilft Ihnen das EventBridge Verständnis des Formats der geplanten Abfrageergebnisse bei der Gestaltung nachgelagerter Verarbeitungs- und Integrationsworkflows.

Abfrageergebnisse werden im JSON-Format mit der folgenden Struktur geliefert:

{ "version": "0", "id": "be72061b-eca2-e068-a7e1-83e01d6fe807", "detail-type": "Scheduled Query Completed", "source": "aws.logs", "account": "123456789012", "time": "2025-11-18T11:31:48Z", "region": "us-east-1", "resources": [ "arn:aws:logs:us-east-1:123456789012:scheduled-query:477b4380-b098-474e-9c5e-e10a8cc2e6e7" ], "detail": { "queryId": "2038fd57-ab4f-4018-bb2f-61d363f4a004", "queryString": "fields @timestamp, @message, @logStream, @log\n| sort @timestamp desc\n| limit 10000", "logGroupIdentifiers": [ "/aws/lambda/my-function" ], "status": "Complete", "startTime": 1763465460, "statistics": { "recordsMatched": 0, "recordsScanned": 0, "estimatedRecordsSkipped": 0, "bytesScanned": 0, "estimatedBytesSkipped": 0, "logGroupsScanned": 1 } } }

Zu den wichtigsten Elementen gehören:

  • statistics- Leistungskennzahlen für Abfragen, einschließlich übereinstimmender, gescannter, verarbeiteter Byte und geschätzter übersprungener Daten

  • startTime— Wann die Ausführung der Abfrage gestartet wurde (Unix-Zeitstempel)

  • queryString- Die eigentliche Abfrage, die ausgeführt wurde

  • queryId- Abfrage-ID der Abfrage, mit der Ergebnisse abgerufen werden können

  • logGroupIdentifiers- Liste der Protokollgruppen, die abgefragt wurden

  • status- Ausführungsstatus abfragen (Abgeschlossen, Fehlgeschlagen usw.)