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.
Exportieren Sie Protokolldaten nach Amazon S3 mit dem AWS CLI
Im folgenden Beispiel verwenden Sie eine Exportaufgabe, um alle Daten aus einer CloudWatch Logs-Protokollgruppe mit dem Namen in einen Amazon S3-Bucket mit dem Namen my-log-group zu exportierenamzn-s3-demo-bucket. In diesem Beispiel wird davon ausgegangen, dass Sie bereits eine Protokollgruppe namens my-log-group erstellt haben.
Das Exportieren von Protokolldaten in S3-Buckets, die mit verschlüsselt sind, AWS KMS wird unterstützt. Der Export in Buckets, die mit verschlüsselt sind, DSSE-KMS wird nicht unterstützt.
Wie Sie den Export im Detail einrichten, hängt davon ab, ob sich der Amazon-S3-Bucket, in den Sie exportieren möchten, im selben Konto wie die zu exportierenden Protokolle befindet oder in einem anderen Konto.
Same-account exportieren (CLI)
Wenn sich der Amazon-S3-Bucket im selben Konto befindet wie die zu exportierenden Protokolle, verwenden Sie die Anweisungen in diesem Abschnitt.
Themen
Erstellen Sie einen S3-Bucket (CLI)
Wir empfehlen, einen Bucket zu verwenden, der speziell für CloudWatch Logs erstellt wurde. Wenn Sie jedoch einen vorhandenen Bucket verwenden möchten, können Sie dieses Verfahren überspringen.
Anmerkung
Der S3-Bucket muss sich in derselben Region wie die Protokolldaten befinden, die exportiert werden sollen. CloudWatch Logs unterstützt nicht den Export von Daten in S3-Buckets in einer anderen Region.
Um einen S3-Bucket zu erstellen, verwenden Sie den AWS CLI
Führen Sie an der Eingabeaufforderung den Befehl create-bucket aus, wobei LocationConstraint die Region ist, in der Sie Protokolldaten exportieren.
aws s3api create-bucket --bucketamzn-s3-demo-bucket--create-bucket-configuration LocationConstraint=us-east-2
Es folgt eine Beispielausgabe.
{ "Location": "/amzn-s3-demo-bucket" }
Richten Sie Zugriffsberechtigungen (CLI) ein
Um die Exportaufgabe später erstellen zu können, müssen Sie mit der AmazonS3ReadOnlyAccess IAM-Rolle und den folgenden Berechtigungen angemeldet sein:
-
logs:CreateExportTask -
logs:CancelExportTask -
logs:DescribeExportTasks -
logs:DescribeLogStreams -
logs:DescribeLogGroups
Um Zugriff zu gewähren, fügen Sie Ihren Benutzern, Gruppen oder Rollen Berechtigungen hinzu:
-
Benutzer und Gruppen in AWS IAM Identity Center:
Erstellen Sie einen Berechtigungssatz. Befolgen Sie die Anweisungen unter Erstellen eines Berechtigungssatzes im AWS IAM Identity Center -Benutzerhandbuch.
-
Benutzer, die in IAM über einen Identitätsanbieter verwaltet werden:
Erstellen Sie eine Rolle für den Identitätsverbund. Befolgen Sie die Anleitung unter Eine Rolle für einen externen Identitätsanbieter (Verbund) erstellen im IAM-Benutzerhandbuch.
-
IAM-Benutzer:
-
Erstellen Sie eine Rolle, die Ihr Benutzer annehmen kann. Befolgen Sie die Anleitung unter Eine Rolle für einen IAM-Benutzer erstellen im IAM-Benutzerhandbuch.
-
(Nicht empfohlen) Weisen Sie einem Benutzer eine Richtlinie direkt zu oder fügen Sie einen Benutzer zu einer Benutzergruppe hinzu. Befolgen Sie die Anweisungen unter Hinzufügen von Berechtigungen zu einem Benutzer (Konsole) im IAM-Benutzerhandbuch.
-
Legen Sie Berechtigungen für einen S3-Bucket (CLI) fest
Standardmäßig werden alle S3-Buckets und -Objekte als privat eingestuft. Nur der Ressourceneigentümer, das Konto, in dem der Bucket erstellt wurde, kann auf den Bucket und alle darin enthaltenen Objekte zugreifen. Der Ressourcenbesitzer kann jedoch anderen Ressourcen und Benutzern Zugriffsberechtigungen gewähren, indem er eine Zugriffsrichtlinie schreibt.
Wichtig
Um Exporte in S3-Buckets sicherer zu machen, müssen Sie jetzt die Liste der Quellkonten angeben, die Protokolldaten in Ihren S3-Bucket exportieren dürfen.
Im folgenden Beispiel entspricht die Liste der Konto-IDs im aws:SourceAccount Schlüssel den Konten, von denen ein Benutzer Protokolldaten in Ihren S3-Bucket exportieren kann. Der Schlüssel aws:SourceArn ist die Ressource, für die die Aktion ausgeführt wird. Sie können dies auf eine bestimmte Protokollgruppe beschränken oder einen Platzhalter verwenden, wie in diesem Beispiel zu sehen.
Wir empfehlen, dass Sie auch die Konto-ID des Kontos angeben, in dem der S3-Bucket erstellt wurde, um den Export innerhalb desselben Kontos zu ermöglichen.
So legen Sie Berechtigungen für einen S3-Bucket fest
-
Erstellen Sie eine Datei mit dem Namen
policy.jsonund fügen Sie die folgende Zugriffsrichtlinie hinzu. Ändern Sie dabeiamzn-s3-demo-bucketin den Namen Ihres S3-Bucket undPrincipalin den Endpunkt der Region, in der Sie Protokolldaten exportieren (beispielsweiseus-east-1). Verwenden Sie einen Text-Editor, um diese Richtliniendatei zu erstellen. Verwenden Sie nicht die IAM-Konsole. -
Legen Sie mithilfe des Befehls put-bucket-policy die soeben hinzugefügte Richtlinie als Zugriffsrichtlinie für Ihren Bucket fest. Diese Richtlinie ermöglicht es CloudWatch Logs, Protokolldaten in Ihren S3-Bucket zu exportieren. Der Bucket-Eigentümer hat vollen Zugriff auf alle exportierten Objekte.
aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.jsonWarnung
Wenn dem vorhandenen Bucket bereits eine oder mehrere Richtlinien zugeordnet sind, fügen Sie die Anweisungen für den CloudWatch Logs-Zugriff zu dieser oder diesen Richtlinien hinzu. Sie sollten eine Beurteilung der daraus resultierenden Berechtigungen vornehmen, um sicherzustellen, dass sie für die Benutzer, die auf den Bucket zugreifen werden, geeignet sind.
(Optional) Exportieren in einen Amazon S3-Ziel-Bucket, der mit SSE-KMS (CLI) verschlüsselt ist
Dieses Verfahren ist nur erforderlich, wenn Sie in einen S3-Bucket exportieren, der serverseitige Verschlüsselung mit AWS KMS keys verwendet. Diese Verschlüsselung ist bekannt als SSE-KMS.
Um in einen Bucket zu exportieren, der mit verschlüsselt ist SSE-KMS
-
Verwenden Sie einen Texteditor, um eine Datei mit dem Namen
key_policy.jsonzu erstellen und die folgende Zugriffsrichtlinie hinzuzufügen. Wenn Sie die Richtlinie hinzufügen, nehmen Sie die folgenden Änderungen vor:-
RegionErsetzen Sie durch die Region Ihrer Logs. -
account-ARNErsetzen Sie es durch den ARN des Kontos, dem der KMS-Schlüssel gehört.
-
-
Geben Sie den folgenden Befehl ein:
aws kms create-key --policy file://key_policy.jsonDas Folgende ist eine Beispielausgabe aus diesem Befehl:
{ "KeyMetadata": { "AWSAccountId": "account_id", "KeyId": "key_id", "Arn": "arn:aws:kms:us-east-2:account-ARN:key/key_id", "CreationDate": "time", "Enabled": true, "Description": "", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "Origin": "AWS_KMS", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "MultiRegion": false } -
Erstellen Sie mithilfe eines Texteditors eine Datei mit dem Namen
bucketencryption.jsonmit folgenden Inhalten.{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "aws:kms", "KMSMasterKeyID": "{KMS Key ARN}" }, "BucketKeyEnabled": true } ] } -
Geben Sie den folgenden Befehl ein und
amzn-s3-demo-bucketersetzen Sie ihn durch den Namen des Buckets, in den Sie Protokolle exportieren.aws s3api put-bucket-encryption --bucketamzn-s3-demo-bucket--server-side-encryption-configuration file://bucketencryption.jsonWenn der Befehl keinen Fehler zurückgibt, ist der Vorgang erfolgreich abgeschlossen.
Erstellen Sie eine Exportaufgabe (CLI)
Verwenden Sie den folgenden Befehl, um die Exportaufgabe zu erstellen. Nach der Erstellung kann der Exportvorgang von einigen Sekunden bis zu einigen Stunden dauern. Dies ist abhängig von der Größe der zu exportierenden Daten.
Um Daten mit dem zu Amazon S3 zu exportieren AWS CLI
-
Melden Sie sich mit ausreichenden Berechtigungen an, wie unter Richten Sie Zugriffsberechtigungen (CLI) ein dokumentiert.
-
Geben Sie an einer Eingabeaufforderung den folgenden Befehl create-export-task zum Erstellen der Exportaufgabe ein.
aws logs create-export-task --profile CWLExportUser --task-name "my-log-group-09-10-2015" --log-group-name "my-log-group" --from1441490400000--to1441494000000--destination "amzn-s3-demo-bucket" --destination-prefix "export-task-output"Es folgt eine Beispielausgabe.
{ "taskId": "cda45419-90ea-4db5-9833-aade86253e66" }
Cross-account exportieren (CLI)
Wenn sich der Amazon-S3-Bucket in einem anderen Konto befindet als die zu exportierenden Protokolle, verwenden Sie die Anweisungen in diesem Abschnitt.
Themen
Erstellen Sie einen S3-Bucket für den kontoübergreifenden Export (CLI)
Richten Sie Zugriffsberechtigungen für den kontoübergreifenden Export (CLI) ein
Legen Sie Berechtigungen für einen S3-Bucket für den kontoübergreifenden Export (CLI) fest
Erstellen Sie eine Exportaufgabe für den kontoübergreifenden Export (CLI)
Erstellen Sie einen S3-Bucket für den kontoübergreifenden Export (CLI)
Wir empfehlen, einen Bucket zu verwenden, der speziell für CloudWatch Logs erstellt wurde. Wenn Sie jedoch einen vorhandenen Bucket verwenden möchten, gehen Sie direkt zu Schritt 2.
Anmerkung
Der S3-Bucket muss sich in derselben Region wie die Protokolldaten befinden, die exportiert werden sollen. CloudWatch Logs unterstützt nicht den Export von Daten in S3-Buckets in einer anderen Region.
Um einen S3-Bucket zu erstellen, verwenden Sie den AWS CLI
Führen Sie an der Eingabeaufforderung den Befehl create-bucket aus, wobei LocationConstraint die Region ist, in der Sie Protokolldaten exportieren.
aws s3api create-bucket --bucketamzn-s3-demo-bucket--create-bucket-configuration LocationConstraint=us-east-2
Es folgt eine Beispielausgabe.
{ "Location": "/amzn-s3-demo-bucket" }
Richten Sie Zugriffsberechtigungen für den kontoübergreifenden Export (CLI) ein
Zunächst müssen Sie eine neue IAM-Richtlinie erstellen, damit CloudWatch Logs die s3:PutObject Aktion für den Amazon S3-Ziel-Bucket im Zielkonto ausführen kann.
Neben der s3:PutObject Aktion hängen die zusätzlichen Aktionen, die in der Richtlinie enthalten sind, davon ab, ob der Ziel-Bucket AWS KMS Verschlüsselung verwendet oder ob ACLs mithilfe der Einstellung S3-Objektbesitz aktiviert sind.
Wenn Sie die KMS-Verschlüsselung verwenden, fügen Sie die
kms:DecryptAktionenkms:GenerateDataKeyund für die Schlüsselressource hinzuWenn ACLs für den Bucket aktiviert sind, fügen Sie die
s3:PutObjectAclAktion für die Bucket-Ressource hinzu
Ändern amzn-s3-demo-bucket Sie in den folgenden Richtlinien den Namen Ihres Ziel-S3-Buckets.
Die Richtlinie, die Sie erstellen, hängt davon ab, ob der Ziel-Bucket AWS KMS -Verschlüsselung verwendet. Wenn keine AWS KMS Verschlüsselung verwendet wird, erstellen Sie eine Richtlinie mit dem folgenden Inhalt.
Wenn der Ziel-Bucket AWS KMS Verschlüsselung verwendet, erstellen Sie eine Richtlinie mit dem folgenden Inhalt.
Wenn die ACLs im Ziel-Bucket aktiviert sind, fügen Sie s3: PutObjectAcl zum s3: PutObject Aktionsblock in den obigen Richtlinien hinzu.
Um eine Exportaufgabe zu erstellen, müssen Sie mit einer IAM-Rolle angemeldet sein, an die die AmazonS3ReadOnlyAccess verwaltete Richtlinie und die oben erstellte IAM-Richtlinie angehängt sind. Außerdem müssen Sie über die folgenden Berechtigungen verfügen:
-
logs:CreateExportTask -
logs:CancelExportTask -
logs:DescribeExportTasks -
logs:DescribeLogStreams -
logs:DescribeLogGroups
Um Zugriff zu gewähren, fügen Sie Ihren Benutzern, Gruppen oder Rollen Berechtigungen hinzu:
-
Benutzer und Gruppen in: AWS IAM Identity Center
Erstellen Sie einen Berechtigungssatz. Befolgen Sie die Anweisungen unter Erstellen eines Berechtigungssatzes im AWS IAM Identity Center -Benutzerhandbuch.
-
Benutzer, die in IAM über einen Identitätsanbieter verwaltet werden:
Erstellen Sie eine Rolle für den Identitätsverbund. Befolgen Sie die Anleitung unter Eine Rolle für einen externen Identitätsanbieter (Verbund) erstellen im IAM-Benutzerhandbuch.
-
IAM-Benutzer:
-
Erstellen Sie eine Rolle, die Ihr Benutzer annehmen kann. Befolgen Sie die Anleitung unter Eine Rolle für einen IAM-Benutzer erstellen im IAM-Benutzerhandbuch.
-
(Nicht empfohlen) Weisen Sie einem Benutzer eine Richtlinie direkt zu oder fügen Sie einen Benutzer zu einer Benutzergruppe hinzu. Befolgen Sie die Anweisungen unter Hinzufügen von Berechtigungen zu einem Benutzer (Konsole) im IAM-Benutzerhandbuch.
-
Legen Sie Berechtigungen für einen S3-Bucket für den kontoübergreifenden Export (CLI) fest
Standardmäßig werden alle S3-Buckets und -Objekte als privat eingestuft. Nur der Ressourceneigentümer, das Konto, in dem der Bucket erstellt wurde, kann auf den Bucket und alle darin enthaltenen Objekte zugreifen. Der Ressourcenbesitzer kann jedoch anderen Ressourcen und Benutzern Zugriffsberechtigungen gewähren, indem er eine Zugriffsrichtlinie schreibt.
Wichtig
Um Exporte in S3-Buckets sicherer zu machen, müssen Sie jetzt die Liste der Quellkonten angeben, die Protokolldaten in Ihren S3-Bucket exportieren dürfen.
Im folgenden Beispiel entspricht die Liste der Konto-IDs im aws:SourceAccount Schlüssel den Konten, von denen ein Benutzer Protokolldaten in Ihren S3-Bucket exportieren kann. Der Schlüssel aws:SourceArn ist die Ressource, für die die Aktion ausgeführt wird. Sie können dies auf eine bestimmte Protokollgruppe beschränken oder einen Platzhalter verwenden, wie in diesem Beispiel zu sehen.
Wir empfehlen, dass Sie auch die Konto-ID des Kontos angeben, in dem der S3-Bucket erstellt wurde, um den Export innerhalb desselben Kontos zu ermöglichen.
So legen Sie Berechtigungen für einen S3-Bucket fest
-
Erstellen Sie eine Datei mit dem Namen
policy.jsonund fügen Sie dem Endpunkt der Region, in die Sie Protokolldaten exportieren, die folgende ZugriffsrichtliniePrincipalhinzu, wobei der Name Ihres Ziel-S3-Buckets geändertamzn-s3-demo-bucketwird, z.us-west-1B. Verwenden Sie einen Text-Editor, um diese Richtliniendatei zu erstellen. Verwenden Sie nicht die IAM-Konsole. -
Legen Sie mithilfe des Befehls put-bucket-policy die soeben hinzugefügte Richtlinie als Zugriffsrichtlinie für Ihren Bucket fest. Diese Richtlinie ermöglicht es CloudWatch Logs, Protokolldaten in Ihren S3-Bucket zu exportieren. Der Bucket-Eigentümer hat vollen Zugriff auf alle exportierten Objekte.
aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.jsonWarnung
Wenn dem vorhandenen Bucket bereits eine oder mehrere Richtlinien zugeordnet sind, fügen Sie die Anweisungen für den CloudWatch Logs-Zugriff zu dieser oder diesen Richtlinien hinzu. Sie sollten eine Beurteilung der daraus resultierenden Berechtigungen vornehmen, um sicherzustellen, dass sie für die Benutzer, die auf den Bucket zugreifen werden, geeignet sind.
(Optional) Export in einen Amazon S3-Ziel-Bucket, der mit SSE-KMS für den kontoübergreifenden Export (CLI) verschlüsselt ist
Dieses Verfahren ist nur erforderlich, wenn Sie in einen S3-Bucket exportieren, der serverseitige Verschlüsselung mit verwendet. AWS KMS keys Diese Verschlüsselung ist bekannt als SSE-KMS.
Um in einen Bucket zu exportieren, der mit verschlüsselt ist SSE-KMS
-
Verwenden Sie einen Texteditor, um eine Datei mit dem Namen
key_policy.jsonzu erstellen und die folgende Zugriffsrichtlinie hinzuzufügen. Wenn Sie die Richtlinie hinzufügen, nehmen Sie die folgenden Änderungen vor:-
us-east-1Ersetzen Sie durch die Region Ihrer Logs. -
account-ARNErsetzen Sie es durch den ARN des Kontos, dem der KMS-Schlüssel gehört. -
123456789012Ersetzen Sie es durch die Kontonummer, der der KMS-Schlüssel gehört. -
key_idmit der KMS-Schlüssel-ID. -
role_namemit der Rolle, die für die Erstellung der Exportaufgabe verwendet wird.
-
-
Geben Sie den folgenden Befehl ein:
aws kms create-key --policy file://key_policy.jsonDas Folgende ist eine Beispielausgabe aus diesem Befehl:
{ "KeyMetadata": { "AWSAccountId": "account_id", "KeyId": "key_id", "Arn": "arn:aws:kms:us-east-1:123456789012:key/key_id", "CreationDate": "time", "Enabled": true, "Description": "", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "Origin": "AWS_KMS", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "MultiRegion": false } -
Erstellen Sie mithilfe eines Texteditors eine Datei mit dem Namen
bucketencryption.jsonmit folgenden Inhalten.{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "aws:kms", "KMSMasterKeyID": "{KMS Key ARN}" }, "BucketKeyEnabled": true } ] } -
Geben Sie den folgenden Befehl ein und
amzn-s3-demo-bucketersetzen Sie ihn durch den Namen des Buckets, in den Sie Protokolle exportieren.aws s3api put-bucket-encryption --bucketamzn-s3-demo-bucket--server-side-encryption-configuration file://bucketencryption.jsonWenn der Befehl keinen Fehler zurückgibt, ist der Vorgang erfolgreich abgeschlossen.
Erstellen Sie eine Exportaufgabe für den kontoübergreifenden Export (CLI)
Verwenden Sie den folgenden Befehl, um die Exportaufgabe zu erstellen. Nach der Erstellung kann der Exportvorgang von einigen Sekunden bis zu einigen Stunden dauern. Dies ist abhängig von der Größe der zu exportierenden Daten.
Um Daten mit dem zu Amazon S3 zu exportieren AWS CLI
-
Melden Sie sich mit ausreichenden Berechtigungen an, wie unter Richten Sie Zugriffsberechtigungen (CLI) ein dokumentiert.
-
Geben Sie an einer Eingabeaufforderung den folgenden Befehl create-export-task zum Erstellen der Exportaufgabe ein.
aws logs create-export-task --profile CWLExportUser --task-name "my-log-group-09-10-2015" --log-group-name "my-log-group" --from1441490400000--to1441494000000--destination "amzn-s3-demo-bucket" --destination-prefix "export-task-output"Es folgt eine Beispielausgabe.
{ "taskId": "cda45419-90ea-4db5-9833-aade86253e66" }