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.
Zugriffsprotokolle mit der Integration von S3-Tabellen
Die Integration von S3 Tables mit CloudWatch ermöglicht Ihnen den Zugriff auf Protokolldaten, die CloudWatch mithilfe von Analyse-Engines wie Amazon Athena, Amazon Redshift und Tools von Drittanbietern aufgenommen wurden, die die Verbindung zu Apache-Speichern unterstützen. Iceberg-compatible Diese Integration ermöglicht es Ihnen, umfassende Protokollanalysen mit Tools Ihrer Wahl durchzuführen und Daten in CloudWatch Logs mit Nichtdaten zu korrelieren. CloudWatch
Die Integration von S3-Tabellen verstehen
Amazon S3 Tables Integration ist eine vollständig verwaltete Lösung, die Ihre Logs in CloudWatch Logs als verwaltete Amazon S3 S3-Tabellen verfügbar macht. Mit dieser Integration erhalten Sie zusätzlich zu den Protokollfunktionen mehr Flexibilität bei der Analyse Ihrer CloudWatch Protokolle.
Die Integration funktioniert durch die Erstellung eines verwalteten Amazon S3 S3-Tabellen-Buckets (aws-cloudwatch) und das Zuordnen bestimmter Protokollquellen zu Amazon S3 S3-Tabellen auf der Grundlage von Name und Typ der Datenquelle (die über die Registerkarte Protokollverwaltung > Datenquellen in der CloudWatch Logs Console verwaltet werden können). Nach der Verknüpfung können CloudWatch Logs-Daten über Amazon S3 S3-Tabellen im Apache Iceberg-Format abgerufen werden. Dieses Format bietet eine standardisierte Möglichkeit für verschiedene Analyse-Engines, die Daten effizient abzufragen. Diese Funktion ist ohne zusätzliche Kosten verfügbar.
Kernkomponenten
- Apache Iceberg-Tabellen
-
Das von S3 Tables verwendete zugrunde liegende Tabellenformat, das strukturierte Datenspeicher bietet und die Kompatibilität mit mehreren Analyse-Engines ermöglicht.
- Zuordnung der Datenquellen
-
Der Prozess der Verknüpfung bestimmter CloudWatch Protokollquellen mit der Integration von S3-Tabellen auf der Grundlage von Datenquellen- und Typkriterien.
Datenfluss zu S3-Tabellen
Wenn Sie wissen, wie Daten zwischen CloudWatch Protokollen und S3-Tabellen fließen, können Sie Ihre Integration planen und Ihre Protokolldaten effektiv verwalten.
Wenn Sie eine Zuordnung erstellen, übermittelt CloudWatch Logs automatisch neue Protokollereignisse, die dem Namen und Typ der zugehörigen Datenquelle entsprechen, an einen CloudWatch-managed S3-Tabellen-Bucket. Diese Ereignisse werden im Logs-Namespace unter der entsprechenden Tabelle für diese Datenquelle angezeigt. Die Integration verarbeitet nur Protokollereignisse, die nach der Erstellung der Zuordnung empfangen wurden. Bestehende Protokolldaten werden nicht aufgefüllt. Wenn Sie eine S3-Tabelles-Integration erstellen und das Kontrollkästchen Alle Protokollquellen und Typen in der S3-Tabelle verfügbar machen aktiviert lassen, werden standardmäßig alle Datenquellen in Ihrem Konto automatisch zugeordnet und an S3-Tabellen übermittelt, einschließlich aller Datenquellen, die in future hinzugefügt werden. Um nur bestimmte Datenquellen für S3-Tabellen bereitzustellen, deaktivieren Sie dieses Kontrollkästchen bei der Erstellung der Integration und ordnen Sie dann die Datenquellen, die Sie einbeziehen möchten, einzeln zu.
Die Datenspeicherung im S3-Tabellen-Bucket entspricht der Aufbewahrungsrichtlinie, die für die Protokollgruppe festgelegt wurde. Wenn Sie beispielsweise für eine Protokollgruppe die Aufbewahrung von einem Tag festlegen, entfernt CloudWatch Logs die Daten nach einem Tag sowohl aus den CloudWatch Protokollen als auch aus der S3-Tabelle. Wenn Sie eine Protokollgruppe oder einen Protokollstream löschen, entfernt CloudWatch Logs auch die Daten aus dem S3-Tabellen-Bucket.
Wann sollte die Integration von S3-Tabellen verwendet werden
Erwägen Sie die Verwendung der S3-Tabellen-Integration, um Protokolldaten mit anderen externen oder CloudWatch Nichtdaten zu korrelieren, oder wenn Sie es vorziehen, andere Analysetools wie Amazon Athena für die Durchführung von Analysen von CloudWatch Protokolldaten zu verwenden. Verwenden Sie diese Integration, wenn Sie Funktionen benötigen, die über das hinausgehen, was in CloudWatch Logs verfügbar ist. Diese Integration ist besonders nützlich, wenn:
-
Sie müssen komplexe SQL-like Abfragen für große Mengen von Protokolldaten ausführen
-
Sie möchten die Protokollanalyse in bestehende Analyse-Workflows und -Tools integrieren
-
Sie benötigen umfassende Protokollanalysefunktionen, die sich über mehrere Datenquellen erstrecken
Für S3-Tabellen, die mit dieser Integration erstellt wurden, fallen keine zusätzlichen Speicher- oder Tabellenverwaltungsgebühren an, abgesehen von den CloudWatch bestehenden Preisen für Aufnahme und Speicherung.
Voraussetzungen
Stellen Sie vor der Implementierung der Integration sicher, dass Sie über Folgendes verfügen:
-
Bestehende CloudWatch Protokolldaten
-
Geeignete IAM-Berechtigungen für den dienstübergreifenden Zugriff zwischen CloudWatch Protokollen und S3-Tabellen, wie im folgenden Abschnitt beschrieben
IAM-Berechtigungen
Um CloudWatch Logs in S3-Tabellen zu integrieren, müssen Sie IAM-Berechtigungen für zwei separate Entitäten konfigurieren: den Benutzer oder die Rolle, die die Integration einrichtet, und die Servicerolle, die CloudWatch Logs für das Schreiben von Daten in S3-Tabellen annimmt.
Für die Rolle oder den Benutzer, der die Integration erstellt
Der Benutzer oder die Rolle, der die Integration einrichtet, benötigt die folgenden Berechtigungen:
-
observabilityadmin:CreateS3TableIntegrationum die Integrationlogs:AssociateSourceToS3TableIntegrationzu erstellen und Quellen hinzuzufügen -
s3tables:CreateTableBuckets3tables:PutTableBucketEncryption, unds3tables:PutTableBucketPolicyum den S3-Tabellen-Bucket zu konfigurieren
Für die Servicerolle
Hängen Sie die folgende IAM-Richtlinie an die IAM-Dienstrolle an, die CloudWatch Logs verwendet, um Daten in den Tabellen-Bucket zu schreiben. Diese Richtlinie gewährt die Berechtigung, in die Tabellen zu schreiben. Ersetzen Sie aws-region123456789012, und log-group-name durch Ihre AWS Region, Konto-ID und den Namen der Protokollgruppe.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:integrateWithS3Table" ], "Resource": ["arn:aws:logs:aws-region:123456789012:log-group:log-group-name"], "Condition": { "StringEquals": { "aws:ResourceAccount": "123456789012" } } } ] }
Fügen Sie die folgende Vertrauensrichtlinie der IAM-Dienstrolle hinzu, von der CloudWatch Logs annimmt, dass sie Protokolldaten in S3-Tabellen schreibt. Sie erstellen oder wählen diese Rolle während des Integrations-Setups aus. Die Bedingungen schränken die Rolle so ein, dass CloudWatch Logs sie nur für das angegebene Konto und die angegebene Protokollgruppe übernehmen kann. Ersetzen Sie aws-region123456789012, und log-group-name durch Ihre AWS Region, Konto-ID und den Namen der Protokollgruppe.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:aws-region:123456789012:log-group:log-group-name"] } } } ] }
KMS-Schlüsselrichtlinie (für verschlüsselte Daten)
Wenn Sie einen vom Kunden verwalteten Schlüssel zum Verschlüsseln Ihrer Protokolldaten verwenden, müssen Sie dem CloudWatch Service Principal und dem Wartungsservice-Principal von S3 Tables Zugriff auf den Schlüssel gewähren. Fügen Sie Ihrer KMS-Schlüsselrichtlinie die folgenden Anweisungen hinzu. Ersetzen Sie die Platzhalterwerte durch Ihre AWS-Konto ID, Region, KMS-Schlüssel-ID und den ARN für die S3-Tabelle oder den Tabellen-Bucket.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnableSystemTablesKeyUsage", "Effect": "Allow", "Principal": { "Service": "systemtables.cloudwatch.amazonaws.com" }, "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:aws-region:123456789012:key/key-id", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } } }, { "Sid": "EnableKeyUsage", "Effect": "Allow", "Principal": { "Service": "maintenance.s3tables.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:aws-region:123456789012:key/key-id", "Condition": { "StringLike": { "kms:EncryptionContext:aws:s3:arn": "<table-or-table-bucket-arn>/*" } } } ] }
Erste Schritte
Um mit der Integration von S3-Tabellen zu beginnen, müssen Sie die Integration zwischen Ihren CloudWatch Logs und S3-Tabellen einrichten. Dieser Prozess beinhaltet die Konfiguration von Datenquellenzuordnungen und die Einrichtung entsprechender IAM-Berechtigungen.
Um eine S3-Tabellenintegration zu erstellen
-
Öffnen Sie die CloudWatch Logs-Konsole unter https://console.aws.amazon.com/cloudwatch/
“. -
Wählen Sie „Einstellungen“, „Global“ und „S3-Tabellenintegration erstellen“.
-
Passen Sie an, wie Logs in S3-Tabellen verschlüsselt werden und welche Rolle CloudWatch Logs beim Schreiben Ihrer Logs in S3-Tabellen spielen soll.
-
Wenn Sie möchten, dass alle Datenquellen automatisch mit der Integration verknüpft werden, lassen Sie das Kontrollkästchen Alle Protokollquellen und -typen in der S3-Tabelle verfügbar machen aktiviert (es ist standardmäßig aktiviert). Wenn Sie nur bestimmte Datenquellen zuordnen möchten, deaktivieren Sie dieses Kontrollkästchen.
-
Wählen Sie Create S3 Table Integration.
Anmerkung
Wenn Sie bei der Erstellung die Option Alle Protokollquellen und -typen in der S3-Tabelle verfügbar machen ausgewählt haben, werden alle Datenquellen automatisch verknüpft, einschließlich aller Datenquellen, die in future hinzugefügt werden. Sie können hier aufhören. Die folgenden Schritte sind nur erforderlich, wenn Sie das Kontrollkästchen deaktiviert haben und bestimmte Datenquellen zuordnen möchten.
Um Quellen einer S3-Tabellenintegration zuzuordnen
-
Öffnen Sie die CloudWatch Logs-Konsole unter https://console.aws.amazon.com/cloudwatch/
“. -
Wählen Sie „Einstellungen“, „Global“, „S3-Tabellenintegration verwalten“.
-
Wählen Sie Datenquelle zuordnen aus.
-
Wählen Sie den Datenquellennamen und den Datenquellentyp aus, für den Sie die Integration aktivieren möchten.
-
Wählen Sie Datenquelle zuordnen aus.
Um Quellen über die Log-Management-Seite einer S3-Tabellenintegration zuzuordnen
-
Öffnen Sie die CloudWatch Logs-Konsole unter https://console.aws.amazon.com/cloudwatch/
“. -
Wählen Sie im Navigationsbereich die Option Protokollverwaltung aus.
-
Wählen Sie die Registerkarte Datenquellen aus.
-
Wählen Sie den Datenquellennamen und den Datenquellentyp aus, den Sie integrieren möchten.
-
Wählen Sie Datenquellenaktionen aus.
-
Wählen Sie Mit S3-Tabellenintegration verknüpfen aus.
-
Überprüfen Sie die Datenquellen und wählen Sie dann Datenquelle zuordnen aus.
Bevor Sie die Daten verwenden können, müssen Sie die folgenden 3 Schritte ausführen:
-
Integrieren von Amazon Amazon S3-Tabellen mit AWS Analysediensten — Verwenden der Amazon S3 S3-Konsole
-
Lake Formation Formation-Berechtigungen konfigurieren
-
Mit Analysetools Connect
Integration von Amazon Amazon S3 S3-Tabellen mit AWS Analysedienste — Verwenden der Amazon S3 S3-Konsole (Link)
Um die Integration von S3-Tabellen mithilfe der S3-Konsole zu aktivieren
-
Öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/
. -
Wählen Sie im linken Navigationsbereich Tabellen-Buckets aus.
-
Wählen Sie oben die Option Integration aktivieren aus.
-
Wenn Sie Tabellen-Buckets zum ersten Mal in einer beliebigen Region integrieren, erstellt Amazon Amazon S3 in Ihrem Namen eine neue IAM-Servicerolle. Diese Rolle ermöglicht Lake Formation den Zugriff auf alle Tabellen-Buckets in Ihrem Konto und den Verbundzugriff auf Ihre Tabellen in AWS Glue Data Catalog.
Lake Formation Formation-Berechtigungen konfigurieren
CloudWatch Logs ist zwar berechtigt, in die Tabelle zu schreiben (wie in den vorherigen Schritten konfiguriert), Benutzer und Analyserollen sind jedoch nicht automatisch berechtigt, die Daten zu lesen. Sie müssen den Zugriff über AWS Lake Formation ausdrücklich gewähren. Sie müssen dies für jeden IAM-Prinzipal tun, dem Sie Zugriff auf die Tabelle gewähren möchten.
Um Benutzern oder Rollen Abfragezugriff zu gewähren
Sie müssen den IAM-Prinzipalen (Benutzern oder Rollen), die Abfragen in Athena oder Redshift ausführen, die Berechtigungen SELECT und DESCRIBE gewähren.
-
Öffnen Sie die AWS Lake Formation Formation-Konsole.
-
Wählen Sie im Navigationsbereich unter Berechtigungen die Option Data Lake-Berechtigungen aus.
-
Wählen Sie Grant (Erteilen).
-
Principals: Wählen Sie die IAM-Benutzer oder -Rollen aus, für die Zugriff erforderlich ist (z. B. Ihre Datenanalysten oder die Administratorrolle, die Sie derzeit verwenden).
-
LF-Tags oder Katalogressourcen: Wählen Sie Benannte Datenkatalogressourcen aus.
-
Datenbanken und Tabellen:
-
Wählen Sie den durch die CloudWatch Integration erstellten S3-Tabellen-Bucket aus (
aws-cloudwatch). -
Wählen Sie die spezifische Tabelle aus, die Ihrer Datenquelle zugeordnet ist (optional).
-
-
Tabellenberechtigungen: Wählen Sie „Auswählen und beschreiben“ aus.
-
Wählen Sie Grant (Erteilen).
Anmerkung
Wenn bei der Abfrage von Logs in Athena die Fehlermeldung „Zugriff verweigert“ auftritt, stellen Sie sicher, dass der Benutzer, der die Abfrage ausführt, sowohl über die entsprechenden IAM-Berechtigungen für Athena als auch über die oben definierten Lake Formation Formation-Berechtigungen verfügt.
Weitere Informationen zu den Genehmigungen für Lake Formation finden Sie unter https://docs.aws.amazon.com/lake-formation/latest/dg/granting-catalog-permissions.html.
Mit Analysetools Connect
Sobald die Berechtigungen erteilt wurden, können Sie Ihren bevorzugten Analysedienst für die Abfrage der S3-Tabellen konfigurieren. S3-Tabellen verwenden das Apache Iceberg-Format, das von Amazon Athena, Amazon Redshift und Amazon EMR nativ unterstützt wird.
Um Protokolldaten in Amazon Athena abzufragen
Amazon Athena interagiert mit S3-Tabellen über den Amazon S3 Tables-Katalog.
Um Athena für die Abfrage Ihrer Logdaten einzurichten
-
Öffnen Sie die Amazon Athena Athena-Konsole unter https://console.aws.amazon.com/athena/
. -
Wählen Sie im Abfrage-Editor den Amazon S3 Tables-Katalog aus der Datenquellen-Dropdownliste aus.
-
Wenn Sie den Katalog nicht sehen, stellen Sie sicher, dass Sie die oben genannten Schritte zur Genehmigung von Lake Formation für Ihre spezifische Benutzerrolle abgeschlossen haben.
-
Sobald der Katalog ausgewählt ist, werden Ihre Protokolltabellen in der Datenbankliste angezeigt. Sie können jetzt Standard-SQL-Abfragen für Ihre Protokolldaten ausführen.
Beispielabfrage: SELECT * FROM "amazon_vpc__flow" LIMIT 100;
Weitere Informationen zur Verbindung von Analytics-Diensten mit S3-Tabellen finden Sie unter https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html.