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. Um Einblick in die Replikationszeiten zu erhalten, können Sie S3 Replication Time Control (S3RTC) verwenden.

    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 Status der Objektreplikation lautetPENDING, hat Amazon S3 die Replikation 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.

  • Um den Replikationsstatus eines Objekts zu überprüfen, können Sie den HeadObject API Vorgang aufrufen. Die HeadObject API Operation gibt den PENDINGCOMPLETED, oder FAILED Replikationsstatus eines Objekts zurück. In einer Antwort auf einen HeadObject API Aufruf wird der Replikationsstatus im x-amz-replication-status Header 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 Anforderung 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 Objekte mit einem FAILED Replikationsstatus HeadObject zurückgegeben werden, können Sie S3 Batch Replication verwenden, um diese fehlgeschlagenen Objekte zu replizieren. Weitere Informationen finden Sie unter Replizieren vorhandener Objekte mit Batch Replication. 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:

    • Der Amazon-Ressourcenname (ARN) des Ziel-Buckets ist korrekt.

    • 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 Versionierung für keinen Bucket in der Replikationskonfiguration ausgesetzt wurde. Sowohl für die Quell- als auch für die Ziel-Buckets muss die Versionsverwaltung aktiviert sein.

  • Wenn eine Replikationsregel auf Objekteigentümer zum Besitzer des Ziel-Buckets ändern gesetzt ist, muss die Rolle AWS Identity and Access Management (IAM), 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 Nutzen von Buckets mit Zahlung durch den Anforderer für Speicherübertragungen und Nutzung.

  • Wenn die Quellobjekte eines Buckets mithilfe einer serverseitigen Verschlüsselung mit AWS Key Management Service (AWS KMS) -Schlüsseln (SSE-KMS) verschlüsselt werden, muss die Replikationsregel so konfiguriert werden, dass sie -verschlüsselte Objekte einschließt. AWS KMS 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). Durch die Verwendung des Standardschlüssels werden die Objekte mit dem verwalteten Amazon S3 S3-Schlüssel verschlüsselt, der dem Quellkonto gehört, wodurch verhindert wird, dass das Objekt mit einem anderen Konto geteilt wird. Infolgedessen kann das Zielkonto nicht auf die Objekte im Ziel-Bucket zugreifen.

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

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

    Wenn Sie für die Resource Anweisung in der AWS KMS Schlüsselrichtlinie ein Sternchen (*) verwenden, erteilt die Richtlinie nur der Replikationsrolle die Erlaubnis, 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 Rechte für den Schlüssel. Diese Berechtigungen können an andere Benutzer in demselben Konto delegiert werden. Sofern die KMS Quellschlüsselrichtlinie keine Deny Anweisungen enthält, ist es ausreichend, der Replikationsrolle mithilfe einer IAM Richtlinie Berechtigungen für den KMS Quellschlüssel zu erteilen.

    Anmerkung

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

    Wenn entweder der Quell- oder der KMS Zielschlüssel Berechtigungen basierend auf dem Verschlüsselungskontext gewähren, stellen Sie sicher, dass Amazon S3 S3-Bucket Keys 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 Konfiguration der Replikation für Buckets in verschiedenen Konten.

  • 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"
    • DenyMit der IAM Rolle verknüpfte Anweisungen oder Berechtigungsgrenzen können dazu führen, dass die Replikation fehlschlägt.

    • DenyAnweisungen in AWS Organizations Dienststeuerungsrichtlinien (SCPs), die entweder dem Quell- oder dem Zielkonto 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 eines Quell-Buckets kann andere 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 S3-Ereignisbenachrichtigungen, um Sie über Fälle zu informieren, in denen Objekte nicht an ihr Ziel AWS-Region repliziert werden. Amazon S3 S3-Ereignisbenachrichtigungen sind über Amazon Simple Queue Service (AmazonSQS), Amazon Simple Notification Service (AmazonSNS) oder erhältlich 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 Berechtigungstypen für Ihre Buckets, die Replikationsrolle und die IAM Rolle, die zur Erstellung des Batch-Replikationsjobs verwendet wurde. Stellen Sie außerdem sicher, dass Sie die Einstellungen „Öffentlichen Zugriff blockieren“ und „S3-Objektbesitz“ für Ihre Buckets überprüfen.

Weitere Tipps zur Problembehandlung bei der Arbeit mit Batch Operations finden Sie unterProblembehandlung bei Batch-Vorgängen.

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

  • Bei der Manifestgenerierung wurden keine Schlüssel gefunden, die den Filterkriterien entsprechen.

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

    • Wenn Objekte im Quell-Bucket in den Speicherklassen S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive gespeichert werden.

      Um die Batch-Replikation für diese Objekte zu verwenden, stellen Sie sie zunächst mithilfe eines Restore (S3InitiateRestoreObjectOperation) -Vorgangs in einem Batch Operations-Job in der Speicherklasse S3 Standard wieder her. 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äfixTax/. 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 diesem Fall von /Tax/ bis, Tax/ in der Replikationsregel.

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

    Dieser Fehler tritt auf, wenn die IAM Rolle, die für den Batch Operations-Job verwendet wird, den Abschlussbericht nicht an dem Speicherort ablegen kann, der bei der Erstellung des Jobs angegeben wurde. Um diesen Fehler zu beheben, überprüfen Sie, ob die IAM Rolle über die s3:PutObject Berechtigung für den Bucket verfügt, in dem Sie den Abschlussbericht für Batch-Operationen speichern möchten. Wir empfehlen, den Bericht in einem anderen Bucket als dem Quell-Bucket bereitzustellen.

    Weitere Tipps zur Behebung dieses Fehlers finden Sie unterDer Jobbericht wird nicht zugestellt, wenn ein Berechtigungsproblem vorliegt oder ein S3 Object Lock-Aufbewahrungsmodus 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 Batch-Replikationsauftrag verwenden, stellen Sie sicher, dass die IAM Rolle, die für die Replikation verwendet wird, ü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.