Warum kann ich keine Amazon EMR-Clusterprotokolle in einem S3-Bucket sehen, an den eine Richtlinie angehängt ist, die die SSE-KMS-Verschlüsselung erzwingt?

Lesedauer: 2 Minute
0

Meine Amazon EMR-Cluster-Protokolle werden nicht in dem von mir angegebenen Amazon Simple Storage Service (Amazon S3)-Bucket archiviert. Dem S3-Bucket ist eine Richtlinie angehängt, die die serverseitige Verschlüsselung mit AWS Key Management Service (SSE-KMS) durchsetzt. Das Schreiben des Protokolls schlägt fehl und es wird ein 403-Fehler ähnlich dem folgenden angezeigt: 2020-01-15 04:01:25,247 INFO logspusher-6: 126 Protokolle konnten nicht hochgeladen werden: BENUTZE: /emr/instance-state/instance-state.log-2020-01-14-20-15.gz Grund: Zugriff verweigert (Dienst: Amazon S3; Statuscode: 403; Fehlercode: Zugriff verweigert; Anforderungs-ID: (8B99FE94D1678AAB)

Kurzbeschreibung

Wenn die Protokollierung für einen Amazon EMR-Cluster aktiviert ist, archiviert der LogPusher-Service Clusterprotokolle im angegebenen S3-Bucket. LogPusher verwendet AES-256-Verschlüsselung anstelle von SSE-KMS, um Protokolle zu schreiben. Um Protokolle in einen S3-Bucket zu schreiben, der über eine SSE-KMS-Verschlüsselungsrichtlinie verfügt, verwenden Sie den Befehl sync, um die Dateien manuell hochzuladen.

Hinweis: Wenn Sie beim Ausführen von AWS-CLI-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste Version der AWS-CLI verwenden.

Behebung

Hinweis: Mit Amazon EMR Version 5.30.0 und höher (außer Amazon EMR 6.0.0) können Sie in Amazon S3 gespeicherte Protokolldateien mit einem vom Kunden verwalteten AWS KMS-Schlüssel verschlüsseln.

1.    Stellen Sie über SSH eine Verbindung zum Master-Knoten her.

2.    Suchen Sie die Protokolldateien, die Sie kopieren möchten. Schrittprotokolle werden beispielsweise unter **/mnt/var/log/hadoop/steps **auf dem Master-Knoten gespeichert.

3.    Um die Protokolldateien in den S3-Bucket zu kopieren, führen Sie den Befehl sync mit dem Feld --sse-kms-key-id. Beispiel:

aws s3 sync /mnt/var/log/hadoop/steps/ s3://awsexamplebucket/elasticmapreduce/${cluster_id}/steps/ --sse aws:kms --sse-kms-key-id 17246c74-6ff4-4adb-86e5-76f7f1603f00

Sie können einen Cronjob verwenden, um den Sync-Befehl zu automatisieren. Um den Cronjob zu konfigurieren, führen Sie eine benutzerdefinierte Bootstrap-Aktion auf allen Knoten aus, wenn Sie einen Amazon EMR-Cluster starten.


Ähnliche Informationen

Schutz von Daten mithilfe serverseitiger Verschlüsselung mit CMKs, die im AWS Key Management Service (SSE-KMS) gespeichert sind

Was passiert mit neuen oder vorhandenen Objekten, wenn ich die Standardverschlüsselung mit AWS KMS in meinem Amazon S3-Bucket aktiviere?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Jahren