Replikations-Konfiguration - Amazon Simple Storage Service

Replikations-Konfiguration

Amazon S3 speichert die Replikations-Konfiguration als XML. In der XML-Datei mit der Replikations-Konfiguration legen Sie eine AWS Identity and Access Management (IAM)-Rolle und mindestens eine Regel fest.

<ReplicationConfiguration> <Role>IAM-role-ARN</Role> <Rule> ... </Rule> <Rule> ... </Rule> ... </ReplicationConfiguration>

Amazon S3 kann ohne Berechtigung durch Sie keine Objekte replizieren. Sie gewähren Berechtigungen mit der IAM-Rolle, die Sie in der Replikations-Konfiguration angeben. Amazon S3 übernimmt die IAM-Rolle, um Objekte in Ihrem Namen zu replizieren. Sie müssen der IAM-Rolle zunächst die erforderlichen Berechtigungen erteilen. Weitere Informationen zum Verwalten von Berechtigungen finden Sie unter Einrichten von Berechtigungen.

In den folgenden Szenarien fügen Sie eine Regel zur Replikationskonfiguration hinzu:

  • Sie möchten alle Objekte replizieren.

  • Sie möchten eine Teilmenge der Objekte replizieren. Sie identifizieren die Teilmenge der Objekte, indem Sie einen Filter zur Regel hinzufügen. In dem Filter geben Sie ein Objektschlüsselpräfix, Markierungen oder eine Kombination aus beidem an, um die Objektteilmenge zu identifizieren, für die die Regel gilt.

Sie fügen mehrere Regeln zu einer Replikationskonfiguration hinzu, wenn Sie eine andere Teilmenge von Objekten replizieren möchten. In jeder Regel geben Sie einen Filter an, der eine andere Teilmenge von Objekten auswählt. Beispiel: Sie möchten Objekte mit dem Schlüsselpräfix tax/ oder document/ replizieren. Dazu fügen Sie zwei Regeln hinzu, eine, die den tax/-Schlüsselpräfix-Filter angibt und eine andere, die das document/-Schlüsselpräfix angibt.

In den folgenden Abschnitten finden Sie zusätzliche Informationen.

Basisregelkonfiguration

Jede Regel muss den Status und die Priorität der Regel enthalten. Die Regel muss auch angeben, ob Löschmarkierungen repliziert werden sollen.

  • Status gibt an, ob die Regel mithilfe der Werte Enabled oder Disabled aktiviert oder deaktiviert ist. Wenn eine Regel deaktiviert ist, führt Amazon S3 die in der Regel angegebenen Aktionen nicht durch.

  • Priority gibt an, welche Regel Vorrang hat, wenn zwei oder mehr Replikationsregeln in Konflikt stehen. Amazon S3 versucht, Objekte gemäß allen Replikationsregeln zu replizieren. Wenn es jedoch zwei oder mehr Regeln mit demselben Ziel-Bucket gibt, werden Objekte gemäß der Regel mit der höchsten Priorität repliziert. Je höher die Zahl, desto höher die Priorität.

  • DeleteMarkerReplication gibt an, ob Löschmarkierungen unter Verwendung der Werte Enabled oder Disabled repliziert werden sollen.

In der Zielkonfiguration müssen Sie den Namen des/der Buckets angeben, in den/die Amazon S3 Objekte replizieren soll.

Das folgende Beispiel zeigt die Mindestanforderungen für eine V2-Regel. Aus Gründen der Abwärtskompatibilität unterstützt Amazon S3 weiterhin das Format XML V1. Weitere Informationen finden Sie unter Abwärtskompatibilität.

... <Rule> <ID>Rule-1</ID> <Status>Enabled-or-Disabled</Status> <Filter> <Prefix></Prefix> </Filter> <Priority>integer</Priority> <DeleteMarkerReplication> <Status>Enabled-or-Disabled</Status> </DeleteMarkerReplication> <Destination>       <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET</Bucket> </Destination> </Rule> <Rule> ... </Rule> ... ...

Sie können auch andere Konfigurationsoptionen festlegen. Beispiel: Sie möchten für Objektreplikate eine andere Speicherklasse verwenden als für das Quellobjekt.

Optional: Festlegen eines Filters

Um eine Teilmenge von Objekten auszuwählen, für die die Regel gilt, fügen Sie einen optionalen Filter hinzu. Sie können nach Objekt-Schlüsselpräfix, Objekt-Tags oder einer Kombination aus beidem filtern. Wenn Sie sowohl nach Schlüsselpräfix als auch nach Objekt-Tags filtern, kombiniert Amazon S3 die Filter mit einem logischen AND-Operator. Anders ausgedrückt: Die Regel wird auf eine Teilmenge von Objekten mit einem bestimmten Schlüsselpräfix und bestimmten Markierungen angewendet.

Filter basierend auf Objektschlüsselpräfix

Um eine Regel mit einem Filter nach Objektschlüsselpräfix festzulegen, verwenden Sie den folgenden Code. Sie können nur ein Präfix angeben.

<Rule> ... <Filter> <Prefix>key-prefix</Prefix> </Filter> ... </Rule> ...
Filter basierend auf Objekt-Markierungen

Um eine Regel mit einem Filter nach Objekt-Markierungen festzulegen, verwenden Sie den folgenden Code. Sie können einen oder mehrere Objekt-Markierungen festlegen.

<Rule> ... <Filter> <And> <Tag> <Key>key1</Key> <Value>value1</Value> </Tag> <Tag> <Key>key2</Key> <Value>value2</Value> </Tag> ... </And> </Filter> ... </Rule> ...
Filtern mit einem Schlüsselpräfix und Objekt-Markierungen

Um eine Regel mit einem Filter nach einer Kombination aus Schlüsselpräfix und Objekt-Markierungen festzulegen, verwenden Sie den folgenden Code. Sie wickeln diese Filter in ein übergeordnetes And-Element ein. Amazon S3 führt eine logische AND-Operation aus, um diese Filter zu kombinieren. Anders ausgedrückt: Die Regel wird auf eine Teilmenge von Objekten sowohl mit einem bestimmten Schlüsselpräfix als auch mit bestimmten Tags angewendet.

<Rule> ... <Filter> <And> <Prefix>key-prefix</Prefix> <Tag> <Key>key1</Key> <Value>value1</Value> </Tag> <Tag> <Key>key2</Key> <Value>value2</Value> </Tag> ... </Filter> ... </Rule> ...
Anmerkung

Wenn Sie eine Regel mit einem leeren Filter-Tag angeben, gilt Ihre Regel für alle Objekte in Ihrem Bucket.

Zusätzliche Zielkonfigurationen

In der Zielkonfiguration geben Sie den/die Bucket(s) an, in den/die Amazon S3 Objekte replizieren soll. Sie können Konfigurationen einrichten, um Objekte aus einem Quell-Bucket in einen oder mehrere Ziel-Buckets zu replizieren.

... <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET</Bucket> </Destination> ...

Sie können die folgenden Optionen im Element <Destination> hinzufügen.

Festlegen der Speicherklasse

Sie können die Speicherklasse für die Objektreplikate festlegen. Standardmäßig verwendet Amazon S3 wie im folgenden Beispiel die Speicherklasse des Quellobjekts zum Erstellen von Objektreplikaten.

... <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET</Bucket> <StorageClass>storage-class</StorageClass> </Destination> ...

Hinzufügen mehrerer Ziel-Buckets

Sie können wie folgt mehrere Ziel-Buckets in einer einzigen Replikations-Konfiguration hinzufügen.

... <Rule> <ID>Rule-1</ID> <Status>Enabled-or-Disabled</Status> <Priority>integer</Priority> <DeleteMarkerReplication> <Status>Enabled-or-Disabled</Status> </DeleteMarkerReplication> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET1</Bucket> </Destination> </Rule> <Rule> <ID>Rule-2</ID> <Status>Enabled-or-Disabled</Status> <Priority>integer</Priority> <DeleteMarkerReplication> <Status>Enabled-or-Disabled</Status> </DeleteMarkerReplication> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET2</Bucket> </Destination> </Rule> ...

Angeben verschiedener Parameter für jede Replikationsregel mit mehreren Ziel-Buckets

Wenn Sie mehrere Ziel-Buckets in einer einzigen Replikations-Konfiguration hinzufügen, können Sie wie folgt verschiedene Parameter für jede Replizierungsregel angeben.

... <Rule> <ID>Rule-1</ID> <Status>Enabled-or-Disabled</Status> <Priority>integer</Priority> <DeleteMarkerReplication> <Status>Disabled</Status> </DeleteMarkerReplication> <Metrics> <Status>Enabled</Status> <EventThreshold> <Minutes>15</Minutes> </EventThreshold> </Metrics> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET1</Bucket> </Destination> </Rule> <Rule> <ID>Rule-2</ID> <Status>Enabled-or-Disabled</Status> <Priority>integer</Priority> <DeleteMarkerReplication> <Status>Enabled</Status> </DeleteMarkerReplication> <Metrics> <Status>Enabled</Status> <EventThreshold> <Minutes>15</Minutes> </EventThreshold> </Metrics> <ReplicationTime> <Status>Enabled</Status> <Time> <Minutes>15</Minutes> </Time> </ReplicationTime> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET2</Bucket> </Destination> </Rule> ...

Ändern der Replikat-Eigentümerschaft

Wenn die Quell- und Ziel-Buckets nicht denselben Konten gehören, können Sie die Eigentümerschaft des Replikats auf das AWS-Konto ändern, das den Ziel-Bucket besitzt. Fügen Sie dazu das AccessControlTranslation-Element hinzu. Dieses Element übernimmt den Wert Destination.

... <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET</Bucket> <Account>destination-bucket-owner-account-id</Account> <AccessControlTranslation> <Owner>Destination</Owner> </AccessControlTranslation> </Destination> ...

Wenn Sie das AccessControlTranslation-Element nicht zur Replikationskonfiguration hinzufügen, gehören die Replikate demselben AWS-Konto, dem das Quellobjekt gehört. Weitere Informationen finden Sie unter Ändern des Replikat-Eigentümers.

Aktivieren der S3 Replication Time Control

Sie können die S3-Replikationszeitkontrolle (S3 RTC) in Ihrer Replikations-Konfiguration aktivieren. S3 RTC repliziert die meisten Objekte in Sekunden und 99,99 Prozent der Objekte innerhalb von 15 Minuten (gestützt auf ein Service Level Agreement).

Anmerkung

Nur ein Wert von <Minutes>15</Minutes> wird für EventThreshold und Time akzeptiert.

... <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET</Bucket> <Metrics> <Status>Enabled</Status> <EventThreshold> <Minutes>15</Minutes> </EventThreshold> </Metrics> <ReplicationTime> <Status>Enabled</Status> <Time> <Minutes>15</Minutes> </Time> </ReplicationTime> </Destination> ...

Weitere Informationen finden Sie unter Erfüllen der Compliance-Anforderungen mit S3-Replikationszeitkontrolle (S3 RTC). Beispiele für APIs finden Sie unter PutBucketReplication in der Amazon Simple Storage Service API-Referenz.

Replizieren von mit serverseitiger Verschlüsselung erstellten Objekten mit AWS KMS

Ihr Quell-Bucket enthält möglicherweise Objekte, die mit serverseitiger Verschlüsselung mithilfe der AWS Key Management Service (AWS KMS)-Schlüssel (SSE-KMS) erstellt wurden. Standardmäßig repliziert Amazon S3 diese Objekte nicht. Optional können Sie Amazon S3 zum Replizieren dieser Objekte anweisen. Um dies zu tun, entscheiden Sie sich zunächst explizit für diese Funktion, indem Sie das SourceSelectionCriteria-Element hinzufügen. Geben sie dann den AWS KMS key an (für die AWS-Region des Ziel-Buckets), der zum Verschlüsseln von Objektreplikaten verwendet werden soll. Das folgende Beispiel zeigt, wie diese Elemente angegeben werden.

... <SourceSelectionCriteria> <SseKmsEncryptedObjects> <Status>Enabled</Status> </SseKmsEncryptedObjects> </SourceSelectionCriteria> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET</Bucket> <EncryptionConfiguration> <ReplicaKmsKeyID>AWS KMS key ID to use for encrypting object replicas</ReplicaKmsKeyID> </EncryptionConfiguration> </Destination> ...

Weitere Informationen finden Sie unter Replizieren von mit serverseitiger Verschlüsselung (SSE-C, SSE-S3, SSE-KMS) erstellten Objekten mithilfe von KMS-Schlüsseln.

Beispiele für Replikations-Konfigurationen

Fügen Sie zunächst die folgenden Beispiel-Replikations-Konfigurationen zu Ihrem Bucket hinzu.

Wichtig

Um eine Replikationskonfiguration zu einem Bucket hinzuzufügen, benötigen Sie die iam:PassRole-Berechtigung. Diese Berechtigung erlaubt es Ihnen, die IAM-Rolle weiterzugeben, die Amazon S3 die Replikationsberechtigungen erteilt. Sie legen die IAM-Rolle fest, indem Sie den Amazon-Ressourcennamen (ARN) angeben, der im Role-Element in der XML-Datei der Replikationskonfiguration verwendet wird. Weitere Informationen finden Sie unter Erteilen von Berechtigungen, mit denen ein Benutzer eine Rolle an einen AWS-Service-Service übergeben kann im IAM-Benutzerhandbuch.

Beispiel 1: Replikations-Konfiguration mit einer Regel

Die folgende grundlegende Replikations-Konfiguration legt eine Regel fest. Die Regel legt eine IAM-Rolle, die Amazon S3 annehmen kann, sowie einen einzigen Ziel-Bucket für Objektreplikate fest. Der Status-Wert von Enabled gibt an, dass die Regel aktiviert ist.

<?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Role>arn:aws:iam::account-id:role/role-name</Role> <Rule> <Status>Enabled</Status> <Destination><Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET</Bucket></Destination> </Rule> </ReplicationConfiguration>

Um eine Teilmenge von Objekten für die Replikation auszuwählen, können Sie einen Filter hinzufügen. In der folgenden Konfiguration gibt der Filter ein Objektschlüsselpräfix an. Diese Regel gilt für Objekte mit dem Schlüsselnamenpräfix Tax/.

<?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Role>arn:aws:iam::account-id:role/role-name</Role> <Rule> <Status>Enabled</Status> <Priority>1</Priority> <DeleteMarkerReplication> <Status>string</Status> </DeleteMarkerReplication> <Filter> <Prefix>Tax/</Prefix> </Filter> <Destination><Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET</Bucket></Destination> </Rule> </ReplicationConfiguration>

Wenn Sie das Filter-Element angeben, müssen Sie auch die Elemente Priority und DeleteMarkerReplication einschließen. In diesem Beispiel ist die Priority (Priorität) nicht relevant, da nur eine Regel vorhanden ist.

In der folgenden Konfiguration gibt der Filter ein Präfix und zwei Markierungen an. Die Regel gilt für eine Untermenge der Objekte, die das angegebene Schlüsselpräfix und die angegebenen Markierungen aufweisen. Insbesondere gilt es für ein Objekt, das das Tax/-Präfix in seinen Schlüsselnamen und den beiden angegebenen Objekt-Tags hat. Die Priority (Priorität) trifft nicht zu, weil es nur eine Regel gibt.

<?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Role>arn:aws:iam::account-id:role/role-name</Role> <Rule> <Status>Enabled</Status> <Priority>1</Priority> <DeleteMarkerReplication> <Status>string</Status> </DeleteMarkerReplication> <Filter> <And> <Prefix>Tax/</Prefix> <Tag> <Tag> <Key>tagA</Key> <Value>valueA</Value> </Tag> </Tag> <Tag> <Tag> <Key>tagB</Key> <Value>valueB</Value> </Tag> </Tag> </And> </Filter> <Destination><Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET</Bucket></Destination> </Rule> </ReplicationConfiguration>

Sie können eine Speicherklasse für die Objektreplikate wie folgt festlegen.

<?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Role>arn:aws:iam::account-id:role/role-name</Role> <Rule> <Status>Enabled</Status> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET</Bucket> <StorageClass>storage-class</StorageClass> </Destination> </Rule> </ReplicationConfiguration>

Sie können jede Speicherklasse festlegen, die Amazon S3 unterstützt.

Beispiel 2: Replikations-Konfiguration mit zwei Regeln

In der folgenden Replikations-Konfiguration:

  • Jede Regel filtert nach einem anderen Schlüsselpräfix, sodass jede Regel auf eine bestimmte Teilmenge von Objekten angewendet wird. In diesem Beispiel repliziert Amazon S3 Objekte mit den Schlüsselnamen Tax/doc1.pdf und Project/project1.txt, repliziert jedoch keine Objekte mit dem Schlüsselnamen PersonalDoc/documentA.

  • Die Regelpriorität ist nicht relevant, da die Regeln für zwei unterschiedliche Mengen an Objekten gelten. Das nächste Beispiel zeigt, was geschieht, wenn die Regelpriorität angewendet wird.

  • Die zweite Regel gibt eine Speicherklasse S3 Standard-IA für Objektreplikate an. Amazon S3 verwendet die angegebene Speicherklasse für diese Objektreplikate.

<?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Role>arn:aws:iam::account-id:role/role-name</Role> <Rule> <Status>Enabled</Status> <Priority>1</Priority> <DeleteMarkerReplication> <Status>string</Status> </DeleteMarkerReplication> <Filter> <Prefix>Tax</Prefix> </Filter> <Status>Enabled</Status> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET1</Bucket> </Destination> ... </Rule> <Rule> <Status>Enabled</Status> <Priority>2</Priority> <DeleteMarkerReplication> <Status>string</Status> </DeleteMarkerReplication> <Filter> <Prefix>Project</Prefix> </Filter> <Status>Enabled</Status> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET1</Bucket> <StorageClass>STANDARD_IA</StorageClass> </Destination> ... </Rule> </ReplicationConfiguration>
Beispiel 3: Replikations-Konfiguration mit zwei Regeln mit einander überlappenden Präfixen

In dieser Konfiguration geben die zwei Regeln Filter mit einander überlappenden Schlüsselpräfixen an – star/ und starship. Beide Regeln gelten für Objekte mit dem Schlüsselnamen starship-x. In diesem Fall nutzt Amazon S3 die Regelpriorität, um zu bestimmen, welche Regel angewendet werden soll. Je höher die Zahl, desto höher die Priorität.

<ReplicationConfiguration> <Role>arn:aws:iam::account-id:role/role-name</Role> <Rule> <Status>Enabled</Status> <Priority>1</Priority> <DeleteMarkerReplication> <Status>string</Status> </DeleteMarkerReplication> <Filter> <Prefix>star</Prefix> </Filter> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET1</Bucket> </Destination> </Rule> <Rule> <Status>Enabled</Status> <Priority>2</Priority> <DeleteMarkerReplication> <Status>string</Status> </DeleteMarkerReplication> <Filter> <Prefix>starship</Prefix> </Filter> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET1</Bucket> </Destination> </Rule> </ReplicationConfiguration>
Beispiel 4. Beispielhafte Walkthroughs

Beispielanleitungen finden Sie unter Anleitungen: Beispiele zum Konfigurieren der Replikation.

Weitere Informationen über die XML-Struktur der Replikationskonfiguration finden Sie unter PutBucketReplication in der Amazon Simple Storage Service API-Referenz.

Abwärtskompatibilität

Die aktuelle Version der Replikations-Konfigurations-XML ist V2. XML V2-Replikations-Konfigurationen sind solche, die das Filter-Element für Regeln und Regeln enthalten, die S3-Replikations-Zeitkontrolle (S3 RTC) angeben.

Um die Version Ihrer Replikationskonfiguration anzuzeigen, können Sie den GetBucketReplication-API-Vorgang verwenden. Weitere Informationen finden Sie unter GetBucketReplication in der API-Referenz von Amazon Simple Storage Service.

Aus Gründen der Abwärtskompatibilität unterstützt Amazon S3 weiterhin die XML-V1-Replikations-Konfiguration. Wenn Sie die Replikationskonfiguration XML V1 verwendet haben, berücksichtigen Sie die folgenden Probleme, die die Abwärtskompatibilität beeinträchtigen:

  • Die Replikationskonfigurations-XML V2 enthält das Filter-Element für Regeln. Mit dem Filter-Element können Sie Objektfilter basierend auf dem Objektschlüsselpräfix, Tags oder einer Kombination aus beidem angeben, um die Objekte festzulegen, für die die Regel gilt. Die Replikations-Konfiguration XML V1 unterstützt Filterung, die ausschließlich auf dem Schlüsselpräfix basiert. In diesem Fall fügen Sie Prefix wie im folgenden Beispiel direkt als untergeordnetes Element des Elements Rule hinzu.

    <?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Role>arn:aws:iam::account-id:role/role-name</Role> <Rule> <Status>Enabled</Status> <Prefix>key-prefix</Prefix> <Destination><Bucket>arn:aws:s3:::DOC-EXAMPLE-BUCKET</Bucket></Destination> </Rule> </ReplicationConfiguration>

    Zur Wahrung der Abwärtskompatibilität unterstützt Amazon S3 auch weiterhin die V1-Konfiguration.

  • Wenn Sie ein Objekt aus Ihrem Quell-Bucket löschen, ohne eine Objektversions-ID anzugeben, fügt Amazon S3 eine Löschmarkierung hinzu. Wenn Sie V1 der Replikationskonfigurations-XML verwenden, repliziert Amazon S3 Löschmarkierungen, die von Benutzeraktionen herstammen. Anders ausgedrückt: Amazon S3 repliziert die Löschmarkierung nur, wenn ein Benutzer ein Objekt löscht. Wenn ein abgelaufenes Objekt von Amazon S3 (im Rahmen einer Lebenszyklusaktion) entfernt wird, repliziert Amazon S3 die Löschmarkierung nicht.

    In V2-Replikationskonfigurationen können Sie die Replikation von Löschmarkierungen für Tag-basierte Regeln aktivieren. Weitere Informationen finden Sie unter Replizieren von Löschmarkierungen auf Buckets .