View a markdown version of this page

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

Für geplante Abfragen sind zwei separate IAM-Rollen erforderlich: eine für die Ausführung von Abfragen und eine weitere für die Bereitstellung von Ergebnissen an Ziele wie Amazon S3-Buckets, EventBridge Amazon-Event-Busse oder Lookup-Tabellen. Wenn Sie wissen, warum diese Trennung besteht, können Sie Berechtigungen richtig konfigurieren und die damit verbundenen Sicherheits- und Betriebsvorteile nutzen.

Die Architektur mit zwei Rollen verteilt die Verantwortlichkeiten zwischen Datenzugriff und Datenbereitstellung. Die Rolle zur Abfrageausführung greift auf Ihre Protokolldaten zu und führt Abfragen aus, während die Zielzustellungsrolle 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 Ausführung von Abfragen

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 das Entlarven von Daten erforderlich ist

Für KMS-encrypted 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 Protokolldienst (logs.amazonaws.com) ermöglicht, die Rolle zu übernehmen. Ohne diese Vertrauensstellung schlagen geplante Abfragen mit Berechtigungsfehlern fehl.

Beispiel für eine Vertrauensrichtlinie für die Rolle „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. Für diese Rolle sind nur Berechtigungen für den jeweiligen Zieldienst erforderlich. Dabei gilt das Prinzip der geringsten Zugriffsrechte. 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, diese 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/*" } ] }

Beispiel für eine Berechtigungsrichtlinie für eine Zielzustellungsrolle in einer Lookup-Tabelle:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLookupTable", "logs:UpdateLookupTable", "logs:GetQueryResults" ], "Resource": "*" } ] }

Diese Trennung bietet praktische Vorteile für Ihren Betrieb. Aus Sicherheitsgründen gilt: Wenn Sie ändern müssen, wo Ergebnisse geliefert werden, ändern Sie nur die Zielübermittlungsrolle, ohne die Berechtigungen zur Abfrageausführung zu ändern. Aus Konformitäts- und Auditgründen können Sie eindeutig nachverfolgen, welche Rolle auf vertrauliche Protokolldaten zugreift und welche Rolle in externe Systeme schreibt. Auf diese Weise können Sie leichter nachweisen, dass Ihre Infrastruktur für die Protokollanalyse den bewährten Sicherheitsmethoden folgt.

Cross-region 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 Regionen und Konten bereitstellen. Sie müssen ein oder mehrere AWS Konten als Überwachungskonten einrichten und sie mit mehreren Quellkonten verknüpfen. Ein Überwachungskonto ist ein zentrales AWS Konto, das aus Quellkonten generierte Observability-Daten einsehen und mit ihnen interagieren kann. Ein Quellkonto ist ein individuelles AWS Konto, das Observabilitätsdaten 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 regionsübergreifender Protokollgruppen

Ihre geplante Abfrage kann auf Protokollgruppen in jeder Region zugreifen. Geben Sie Protokollgruppen mit 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 erteilt 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 Speicherort der Daten — Stellen Sie sicher, dass die regionsübergreifende Datenübertragung den Datenverwaltungsrichtlinien und regulatorischen Anforderungen Ihres Unternehmens entspricht

  • Kosten für die Datenübertragung — Für die Cross-region 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

Für optimale Leistung und Kosteneffizienz sollten Sie geplante Abfragen in derselben Region wie Ihre primären Protokollgruppen erstellen.

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

Zeitplanausdrücke und Umgang mit Zeitzonen

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 zwischen Einfachheit und Präzision wählen.

Cron-Ausdrücke ermöglichen eine präzise Steuerung des Zeitpunkts, sodass Sie genaue Uhrzeiten, Wochentage oder Monatstage angeben können. Verwenden Sie Cron-Ausdrücke, wenn Abfragen zu bestimmten Geschäftszeiten ausgeführt oder an Betriebszeiten angepasst 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 MEZ

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

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

  • cron(0 12 ? * SUN *)- Jeden Sonntag um 12 Uhr MEZ

  • 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 für zeitkritische Analysen planen. Wenn Ihr Unternehmen beispielsweise in US Eastern Time 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, andernfalls 13:00 UTC). Planen Sie Ihre Zeitplanausdrücke unter Berücksichtigung der UTC, um sicherzustellen, dass Abfragen zu den vorgesehenen Zeiten ausgeführt werden.

Auswahl einer 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 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 Nachvollziehbarkeit der Logik. Wenn Sie Verknüpfungen oder komplexe Aggregationen ähnlich wie bei Datenbankoperationen durchführen müssen, bietet SQL eine vertraute Syntax, die datenbankerfahrene Teams schnell übernehmen können.

CloudWatch Logs Insights Query Language (CWLI)

Purpose-built für die Protokollanalyse mit intuitiver Syntax. Am besten geeignet für:

  • Text-based Protokollanalyse und Filterung

  • Time-series Aggregationen und Statistiken

  • Teams, für die Log-Analysen noch keine Erfahrung haben

OpenSearch Service Piped Processing Language (PPL)

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

  • Komplexe Datentransformationen und Anreicherung

  • Multi-step Arbeitsabläufe für die Datenverarbeitung

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

OpenSearch Strukturierte Abfragesprache für Dienste (SQL)

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

  • Komplexe Verknüpfungen und Aggregationen

  • Geschäftsinformationen und Berichterstattung

  • Teams mit ausgeprägter SQL-Erfahrung

Zielauswahl und Anwendungsfälle

Wohin Sie die Abfrageergebnisse senden, bestimmt, was Sie mit ihnen machen können. Diese Wahl beeinflusst Ihren gesamten Downstream-Workflow — unabhängig davon, ob Sie Langzeitanalysen erstellen, automatische 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-Ziele sind für die Speicherung und Stapelverarbeitung optimiert. Wenn Sie Abfrageergebnisse über Monate oder Jahre aufbewahren, Trends im Laufe der Zeit analysieren oder Daten in Analyseplattformen einspeisen müssen, bietet Amazon S3 kostengünstigen Speicher mit unbegrenzter Aufbewahrung. EventBridge Ziele sind für die Automatisierung in Echtzeit optimiert. Wenn Abfrageergebnisse sofortige Aktionen auslösen sollen — wie das Senden von Warnmeldungen, das Starten von Workflows oder das Aktualisieren von Systemen —, werden Ergebnisse in EventBridge Form von Ereignissen geliefert, auf die Ihre Anwendungen sofort reagieren können. Standardmäßig werden alle Abfrageabschlussereignisse automatisch als Ereignisse an den Standardereignisbus gesendet, was die Integration mit nachgelagerten Verarbeitungssystemen, Lambda-Funktionen oder anderen ereignisgesteuerten Architekturen ermöglicht. Ergebnisse werden nur dann an Zielen veröffentlicht, wenn die Abfrage erfolgreich ausgeführt wurde. Die Ziele der Lookup-Tabelle sind so optimiert, dass Referenzdaten immer auf dem neuesten Stand sind. Ein Ziel einer Nachschlagetabelle füllt oder aktualisiert die angegebene Nachschlagetabelle bei jeder geplanten Ausführung automatisch mit den Abfrageergebnissen, sodass andere Abfragen mit dem Befehl auf die neuesten Daten verweisen können. lookup

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

  • Cost-effective Speicherung großer Ergebnismengen

EventBridge Ziele

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 30 Tage lang speichern. Am besten geeignet für:

  • Auslösen automatisierter Antworten auf Abfrageergebnisse

  • Integration mit serverlosen Workflows und Lambda-Funktionen

  • Real-time Warn- und Benachrichtigungssysteme

  • Event-driven Architekturen und Microservices

Ziele der Tabelle nachschlagen

Erstellen oder aktualisieren Sie automatisch eine Nachschlagetabelle mit Abfrageergebnissen bei jeder geplanten Ausführung. Bei jeder Aktualisierung wird der Tabelleninhalt vollständig ersetzt. Am besten geeignet für:

  • Halten Sie die Referenzdaten für den lookup Befehl in Ihren Protokollabfragen auf dem neuesten Stand

  • Verwaltung von Zulassungslisten, Ablehnungslisten oder Entitätsinventaren, die aus Protokolldaten abgeleitet wurden

  • Anreicherung von Abfragen mit aktuellen Aktivitätszusammenfassungen, z. B. aktiven Benutzer- oder Ressourcenlisten

Format und Struktur der Abfrageergebnisse

Für Amazon S3-Ziele — Die Abfrageergebnisse werden im JSON-Format mit derselben Struktur wie die GetQueryResults API-Antwort geliefert. Amazon hilft Ihnen, das Format der geplanten Abfrageergebnisse zu EventBridge verstehen, um Workflows für die nachgelagerte Verarbeitung und Integration zu entwerfen.

Die 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- Kennzahlen zur Abfrageleistung, einschließlich übereinstimmender, gescannter, verarbeiteter Byte und geschätzter übersprungener Daten

  • startTime- Wann die Abfrageausführung 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.)