Fehlerbehebung bei einer Replikation - Amazon Simple Storage Service

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.

Fehlerbehebung bei einer Replikation

In diesem Abschnitt finden Sie Tipps zur Problembehandlung in Amazon S3 Replication und Informationen zu Fehlern in S3 Batch Replication.

Tipps zur Fehlerbehebung in S3 Replication

Wenn Objektreplikate nicht im Ziel-Bucket erscheinen, nachdem Sie die Replikation konfiguriert haben, können Sie mit diesen Tipps zur Fehlerbehebung Probleme identifizieren und beheben.

  • Die meisten Objekte werden innerhalb von 15 Minuten repliziert. Die von Amazon S3 für die Replikation eines Objekts benötigte Zeit hängt von verschiedenen Faktoren ab, einschließlich des Quell- und Ziel-Regionspaars sowie der Größe des Objekts. Bei großen Objekten kann die Replikation mehrere Stunden dauern. Sie können Begrenzung der S3-Replikationszeit (S3 RTC) verwenden, um einen Überblick über die Replikationszeiten zu erhalten.

    Wenn das replizierte Objekt groß ist, warten Sie eine Weile, bevor Sie überprüfen, ob es im Ziel erscheint. Sie können auch den Replikationsstatus des Quellobjekts überprüfen. Wenn der Replikationsstatus des Objekts PENDING lautet, hat Amazon S3 die Replikation noch nicht abgeschlossen. Wenn der Replikationsstatus des Objekts FAILED lautet, überprüfen Sie die Replikationskonfiguration des Quell-Buckets.

    Wenn Sie Informationen zu Fehlern während der Replikation erhalten möchten, können Sie einrichten, dass Sie über Fehlerereignisse bei der Replikation mit Amazon-S3-Ereignisbenachrichtigungen benachrichtigt werden. Weitere Informationen finden Sie unter Erhalten von Amazon-S3-Ereignisbenachrichtigungen über Replikations-Fehlerereignisse.

  • Sie können die API-Operation HeadObject aufrufen, um den Replikationsstatus eines Objekts zu überprüfen. Die API-Operation HeadObject gibt den Replikationsstatus PENDING, COMPLETED oder FAILED eines Objekts zurück. Als Antwort auf den API-Aufruf HeadObject wird der Replikationsstatus im Header x-amz-replication-status zurückgegeben.

    Anmerkung

    Zum Ausführen von HeadObject müssen Sie über Lesezugriff auf das angeforderte Objekt verfügen. Eine HEAD-Anforderung bietet die gleichen Optionen wie eine GET-Anforderung, ohne eine GET-Operation auszuführen. Um beispielsweise eine HeadObject Anfrage mithilfe von AWS Command Line Interface (AWS CLI) auszuführen, können Sie den folgenden Befehl ausführen. Ersetzen Sie user input placeholders durch Ihre Informationen.

    aws s3api head-object --bucket amzn-s3-demo-source-bucket --key index.html
  • Wenn HeadObject die Objekte mit dem Replikationsstatus FAILED zurückgegeben hat, können Sie S3 Batch Replication verwenden, um diese fehlgeschlagenen Objekte zu replizieren. Weitere Informationen finden Sie unter Replizieren vorhandener Objekte mit der Batch-Replikation. Alternativ können Sie die fehlgeschlagenen Objekte erneut in den Quell-Bucket hochladen, wodurch die Replikation für die neuen Objekte initiiert wird.

  • Überprüfen Sie in der Replikations-Konfiguration des Quell-Buckets Folgendes:

    • ob der Amazon-Ressourcennamen (ARN) des Ziel-Buckets korrekt ist.

    • ob das Schlüsselnamenpräfix korrekt ist. Wenn Sie beispielsweise die Konfiguration so einrichten, dass nur Objekte mit dem Präfix Tax repliziert werden, werden nur Objekte mit Schlüsselnamen wie beispielsweise Tax/document1 oder Tax/document2 repliziert. Ein Objekt mit dem Schlüsselnamen document3 wird nicht repliziert.

    • Der Status der Replikationsregel lautet Enabled.

  • Stellen Sie sicher, dass die Versionsverwaltung in der Replikationskonfiguration der Buckets nicht ausgesetzt wurde. Sowohl für die Quell- als auch für die Ziel-Buckets muss die Versionsverwaltung aktiviert sein.

  • Wenn für eine Replikationsregel die Option Objekteigentümer zum Besitzer des Ziel-Buckets ändern festgelegt ist, muss die AWS Identity and Access Management (IAM-) Rolle, die für die Replikation verwendet wird, über die s3:ObjectOwnerOverrideToBucketOwner entsprechende Berechtigung verfügen. Diese Berechtigung wird für die Ressource (in diesem Fall den Ziel-Bucket) erteilt. Die folgende Resource-Anweisung zeigt beispielsweise, wie diese Berechtigung für den Ziel-Bucket erteilt wird:

    { "Effect":"Allow", "Action":[ "s3:ObjectOwnerOverrideToBucketOwner" ], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }
  • Wenn sich der Ziel-Bucket im Besitz eines anderen Kontos befindet, muss der Eigentümer des Ziel-Buckets die Berechtigung s3:ObjectOwnerOverrideToBucketOwner über die Ziel-Bucket-Richtlinie auch dem Eigentümer des Quell-Buckets erteilen. Wenn Sie die folgende Bucket-Beispielrichtlinie verwenden möchten, ersetzen Sie die user input placeholders durch Ihre eigenen Informationen:

    { "Version": "2012-10-17", "Id": "Policy1644945280205", "Statement": [ { "Sid": "Stmt1644945277847", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789101:role/s3-replication-role" }, "Action": [ "s3:ReplicateObject", "s3:ReplicateTags", "s3:ObjectOwnerOverrideToBucketOwner" ], "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" } ] }
    Anmerkung

    Wenn die Einstellungen des Ziel-Buckets zur Objekteigentümerschaft Bucket-Eigentümer erzwungen beinhalten, müssen Sie die Einstellung in der Replikationsregel nicht in Objekteigentümerschaft in Eigentümer des Ziel-Buckets ändern ändern. Die Änderung der Objekteigentümerschaft erfolgt standardmäßig. Weitere Informationen zum Ändern der Replikateigentümerschaft finden Sie unter Ändern des Replikat-Eigentümers.

  • Wenn Sie die Replikationskonfiguration in einem kontoübergreifenden Szenario festlegen, in dem die Quell- und Ziel-Buckets unterschiedlichen Besitzern gehören AWS-Konten, können die Ziel-Buckets nicht als Bucket konfiguriert werden, der vom Antragsteller bezahlt wird. Weitere Informationen finden Sie unter Verwendung von Requester Pays-Buckets für allgemeine Zwecke für Speicherübertragungen und -nutzung.

  • Wenn die Quellobjekte eines Buckets serverseitig mit AWS Key Management Service (AWS KMS)-Schlüsseln (SSE-KMS) verschlüsselt sind, muss die Replikationsregel so konfiguriert werden, dass sie mit AWS KMS verschlüsselte Objekte umfasst. Wählen Sie Mit AWS KMS verschlüsselte Objekte replizieren unter den Einstellungen zu Verschlüsselung in der Amazon-S3-Konsole aus. Wählen Sie dann einen AWS KMS Schlüssel für die Verschlüsselung der Zielobjekte aus.

    Anmerkung

    Wenn sich der Ziel-Bucket in einem anderen Konto befindet, geben Sie einen vom AWS KMS Kunden verwalteten Schlüssel an, der dem Zielkonto gehört. Verwenden Sie nicht den von Amazon S3 verwalteten Standardschlüssel (aws/s3). Bei Verwendung des Standardschlüssels werden die Objekte mit dem von Amazon S3 verwalteten Schlüssel verschlüsselt, der dem Quellkonto gehört. Dadurch wird verhindert, dass das Objekt für ein anderes Konto freigegeben wird. Infolgedessen kann das Zielkonto nicht auf die Objekte im Ziel-Bucket zugreifen.

    Um einen AWS KMS Schlüssel, der zum Zielkonto gehört, zum Verschlüsseln der Zielobjekte zu verwenden, muss das Zielkonto der Replikationsrolle in der KMS-Schlüsselrichtlinie die kms:Encrypt Berechtigungen kms:GenerateDataKey und gewähren. Wenn Sie die folgende Beispielanweisung in Ihrer KMS-Schlüsselrichtlinie verwenden möchten, ersetzen Sie die user input placeholders durch Ihre eigenen Informationen:

    { "Sid": "AllowS3ReplicationSourceRoleToUseTheKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789101:role/s3-replication-role" }, "Action": ["kms:GenerateDataKey", "kms:Encrypt"], "Resource": "*" }

    Wenn Sie ein Sternchen (*) für die Resource-Anweisung in der AWS KMS -Schlüsselrichtlinie verwenden, erteilt die Richtlinie nur der Replikationsrolle die Berechtigung, den KMS-Schlüssel zu verwenden. Die Richtlinie erlaubt der Replikationsrolle nicht, ihre Berechtigungen zu erweitern.

    Standardmäßig gewährt die KMS-Schlüsselrichtlinie dem Root-Benutzer volle Berechtigungen für den Schlüssel. Diese Berechtigungen können an andere Benutzer in demselben Konto delegiert werden. Sofern die Quell-KMS-Schlüsselrichtlinie keine Deny-Anweisungen enthält, reicht es aus, eine IAM-Richtlinie zu verwenden, um der Replikationsrolle Berechtigungen für den Quell-KMS-Schlüssel zu erteilen.

    Anmerkung

    KMS-Schlüsselrichtlinien, die den Zugriff auf bestimmte CIDR-Bereiche, VPC-Endpunkte (Virtual Private Cloud) oder S3-Zugriffspunkte einschränken, können dazu führen, dass die Replikation fehlschlägt.

    Wenn je nach Verschlüsselungskontext entweder der Quell- oder der Ziel-KMS-Schlüssel Berechtigungen erteilt, vergewissern Sie sich, dass Amazon-S3-Bucket-Schlüssel für die Buckets aktiviert sind. Wenn die S3-Bucket-Schlüssel für die Buckets aktiviert sind, muss der Verschlüsselungskontext die Ressource auf Bucket-Ebene sein, wie im Folgenden veranschaulicht:

    "kms:EncryptionContext:arn:aws:arn": [ "arn:aws:s3:::amzn-s3-demo-source-bucket" ] "kms:EncryptionContext:arn:aws:arn": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket" ]

    Zusätzlich zu den durch die KMS-Schlüsselrichtlinie gewährten Berechtigungen muss das Quellkonto der IAM-Richtlinie der Replikationsrolle die folgenden Mindestberechtigungen hinzufügen:

    { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "Source-KMS-Key-ARN" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Encrypt" ], "Resource": [ "Destination-KMS-Key-ARN" ] }

    Weitere Informationen zum Replizieren von Objekten, die mit verschlüsselt sind AWS KMS, finden Sie unter Verschlüsselte Objekte replizieren.

  • Wenn der Ziel-Bucket einem anderen gehört AWS-Konto, stellen Sie sicher, dass der Bucket-Besitzer eine Bucket-Richtlinie für den Ziel-Bucket hat, die es dem Besitzer des Quell-Buckets ermöglicht, Objekte zu replizieren. Ein Beispiel finden Sie unter Konfigurieren einer Replikation bei Buckets in verschiedenen Konten.

  • Um Object Lock mit der Replikation zu verwenden, müssen Sie zwei zusätzliche Berechtigungen für den Quell-S3-Bucket in der AWS Identity and Access Management (IAM) -Rolle gewähren, mit der Sie die Replikation einrichten. Die zwei neuen Berechtigungen sind s3:GetObjectRetention und s3:GetObjectLegalHold. Wenn die Rolle über eine s3:Get*-Berechtigungsanweisung verfügt, ist die Anforderung dadurch erfüllt. Weitere Informationen finden Sie unter Verwenden von Object Lock mit der S3-Replikation.

  • Wenn Ihre Objekte auch nach der Bestätigung der Berechtigungen nicht repliziert werden, suchen Sie an den folgenden Stellen nach expliziten Deny-Anweisungen:

    • Deny-Anweisungen in den Richtlinien des Quell- oder Ziel-Buckets. Die Replikation schlägt fehl, wenn die Bucket-Richtlinie den Zugriff auf die Replikationsrolle für eine der folgenden Aktionen verweigert:

      Quell-Bucket

      "s3:GetReplicationConfiguration", "s3:ListBucket", "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging"

      Ziel-Buckets:

      "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags"
    • Deny-Anweisungen oder Berechtigungsgrenzen, die der IAM-Rolle zugeordnet sind, können dazu führen, dass die Replikation fehlschlägt.

    • DenyAnweisungen in AWS Organizations Dienststeuerungsrichtlinien (SCPs), die entweder an das Quell- oder das Zielkonto angehängt sind, können dazu führen, dass die Replikation fehlschlägt.

    • DenyAnweisungen in AWS Organizations Ressourcensteuerungsrichtlinien (RCPs), die entweder dem Quell- oder dem Ziel-Bucket zugeordnet sind, können dazu führen, dass die Replikation fehlschlägt.

  • Wenn ein Objektreplikat nicht im Ziel-Bucket angezeigt wird, könnten folgende Probleme die Replikation verhindert haben:

    • Amazon S3 repliziert keine Objekte in einem Quell-Bucket, der ein Replikat ist, das mit einer anderen Replikations-Konfiguration erstellt wurde. Wenn Sie beispielsweise die Replikationskonfiguration von Bucket A zu Bucket B zu Bucket C festlegen, repliziert Amazon S3 keine Objektreplikate von Bucket B zu Bucket C.

    • Ein Besitzer des Quell-Buckets kann anderen AWS-Konten Berechtigungen zum Hochladen von Objekten gewähren. Standardmäßig besitzt der Quell-Bucket-Eigentümer keine Berechtigungen für die Objekte, die von anderen Konten erstellt wurden. Die Replikations-Konfiguration repliziert nur die Objekte, für die der Quell-Bucket-Eigentümer über Zugriffsberechtigungen verfügt. Um dieses Problem zu vermeiden, kann der Besitzer des Quell-Buckets andere AWS-Konten Berechtigungen zum Erstellen von Objekten unter bestimmten Bedingungen gewähren. Dazu sind explizite Zugriffsberechtigungen für diese Objekte erforderlich. Eine Beispielrichtlinie finden Sie unter Erteilung von kontoübergreifenden Berechtigungen für das Hochladen von Objekten, wobei sichergestellt wird, dass der Bucket-Eigentümer volle Kontrolle besitzt.

  • Angenommen, Sie fügen einer Replikationskonfiguration eine Regel hinzu, um eine Teilmenge von Objekten mit einem spezifischen Tag zu replizieren. In diesem Fall müssen Sie den spezifischen Tag-Schlüssel und -Wert zum Zeitpunkt der Objekterstellung zuweisen, damit Amazon S3 das Objekt replizieren kann. Wenn Sie zuerst ein Objekt erstellen und dann dem vorhandenen Objekt das Tag hinzufügen, repliziert Amazon S3 das Objekt nicht.

  • Verwenden Sie Amazon-S3-Ereignisbenachrichtigungen, um sich informieren zu lassen, wenn Objekte nicht in ihre Ziel- AWS-Region repliziert wurden. Amazon S3 S3-Ereignisbenachrichtigungen sind über Amazon Simple Queue Service (Amazon SQS), Amazon Simple Notification Service (Amazon SNS) oder verfügbar. AWS Lambda Weitere Informationen finden Sie unter Erhalten von Amazon-S3-Ereignisbenachrichtigungen über Replikations-Fehlerereignisse.

    Sie können Amazon-S3-Ereignisbenachrichtigungen auch verwenden, um die Ursachen für fehlgeschlagene Replikationen anzuzeigen. Eine Liste der Ursachen für fehlgeschlagene Replikationen finden Sie unter Gründe für das Fehlschlagen der Replikation in Amazon S3.

Fehler bei der Batchreplikation

Um Fehler bei Objekten zu beheben, die nicht in den Ziel-Bucket repliziert werden, überprüfen Sie die verschiedenen Arten von Berechtigungen für Ihre Buckets, die Replikationsrolle und die IAM-Rolle, die zum Erstellen des Batchreplikationsauftrags verwendet werden. Überprüfen Sie außerdem die Einstellungen für das Blockieren des öffentlichen Zugriffs (Block Public Access) und die Einstellungen für die S3-Objekt-Eigentümerschaft für Ihre Buckets.

Weitere Tipps zur Problembehandlung bei der Arbeit mit Batch-Operationen finden Sie unter Fehlerbehebung bei Batch Operations.

Wenn Sie die Replikation eingerichtet haben und Objekte nicht repliziert werden, finden Sie weitere Informationen unter Warum replizieren sich meine Amazon S3 S3-Objekte nicht, wenn ich die Replikation zwischen meinen Buckets einrichte? im Knowledge Center AWS re:Post .

Während der Batchreplikation können die folgenden Fehler auftreten:

  • Manifest generation found no keys matching the filter criteria. (Bei der Manifestgenerierung wurden keine Schlüssel gefunden, die den Filterkriterien entsprechen.)

    Dieser Fehler tritt aus einem der folgenden Gründen auf:

    • Wenn Objekte im Quell-Bucket in der Speicherklasse S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive gespeichert sind.

      Um die Batchreplikation für diese Objekte zu verwenden, stellen Sie sie zunächst in der Speicherklasse S3 Standard wieder her, indem Sie die Operation Restore (S3InitiateRestoreObjectOperation) in einem Batch-Operations-Auftrag verwenden. Weitere Informationen finden Sie unter Wiederherstellen eines archivierten Objekts und Wiederherstellen von Objekten (Batch Operations). Nachdem Sie die Objekte wiederhergestellt haben, können Sie sie mithilfe eines Batchreplikationsauftrags replizieren.

    • Wenn die angegebenen Filterkriterien mit keinen gültigen Objekten im Quell-Bucket übereinstimmen.

      Überprüfen und korrigieren Sie die Filterkriterien. In der Regel für die Batch-Replikation suchen die Filterkriterien beispielsweise nach allen Objekten im Quell-Bucket mit dem Präfix Tax/. Wenn der Präfixname falsch eingegeben wurde, also mit einem Schrägstrich am Anfang und am Ende (/Tax/) statt nur am Ende, wurden keine S3-Objekte gefunden. Um den Fehler zu beheben, korrigieren Sie das Präfix in der Replikationsregel in diesem Fall von /Tax/ in Tax/.

  • Die Batchoperation ist aus folgendem Grund fehlgeschlagen: Der Auftragsbericht konnte nicht in Ihren Berichts-Bucket geschrieben werden.

    Dieser Fehler tritt auf, wenn die für den Batch-Operations-Auftrag verwendete IAM-Rolle den Abschlussbericht nicht an dem Speicherort speichern kann, der während der Auftragserstellung angegeben wurde. Überprüfen Sie zum Beheben dieses Fehlers, ob die IAM-Rolle über s3:PutObject-Berechtigung für den Bucket verfügt, in dem der Batch-Operations-Abschlussbericht gespeichert werden soll. Wir empfehlen, den Bericht in einem anderen Bucket als dem Quell-Bucket bereitzustellen.

    Weitere Tipps zur Behebung dieses Fehlers finden Sie unter Der Auftragsbericht wird nicht bereitgestellt, wenn ein Problem mit Berechtigungen besteht oder ein Aufbewahrungsmodus der S3-Objektsperre aktiviert ist..

  • Die Batchoperation wurde mit Fehlern abgeschlossen und die Gesamtzahl der Fehlschläge ist nicht 0.

    Dieser Fehler tritt auf, wenn bei dem ausgeführten Batchreplikationsauftrag unzureichende Objektberechtigungen vorhanden sind. Wenn Sie eine Replikationsregel für Ihren Batchreplikationsauftrag verwenden, stellen Sie sicher, dass die für die Replikation verwendete IAM-Rolle über die richtigen Berechtigungen für den Zugriff auf Objekte aus dem Quell- oder Ziel-Bucket verfügt. Sie können auch den Abschlussbericht zur Batchreplikation anzeigen, um den spezifischen Grund für das Fehlschlagen der Replikation in Amazon S3 zu überprüfen.

  • Der Batchauftrag wurde erfolgreich ausgeführt, die Anzahl der im Ziel-Bucket erwarteten Objekte stimmt nicht überein.

    Dieser Fehler tritt auf, wenn die im Manifest des Batchreplikationsauftrags aufgeführten Objekte nicht mit den Filtern übereinstimmen, die Sie während der Auftragserstellung ausgewählt haben. Möglicherweise erhalten Sie diese Meldung auch, wenn die Objekte in Ihrem Quell-Bucket keinen Replikationsregeln entsprechen und nicht im generierten Manifest enthalten sind.

Fehler bei Batch Operations nach dem Hinzufügen einer neuen Replikationsregel zu einer vorhandenen Replikationskonfiguration

Batch Operations versucht, eine vorhandene Objektreplikation für jede Regel in der Replikationskonfiguration des Quell-Buckets auszuführen. Wenn es Probleme mit einer der vorhandenen Replikationsregeln gibt, können Fehler auftreten.

Im Abschlussbericht des Batch-Operations-Auftrags werden die Ursachen für das Fehlschlagen des Auftrags erläutert. Eine Liste mit häufig auftretenden Fehlern finden Sie unter Gründe für das Fehlschlagen der Replikation in Amazon S3.