Erfüllung von Compliance-Anforderungen mit S3 Replication Time Control - 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.

Erfüllung von Compliance-Anforderungen mit S3 Replication Time Control

S3 Replication Time Control (S3RTC) unterstützt Sie bei der Erfüllung von Compliance- oder Geschäftsanforderungen für die Datenreplikation und bietet Einblick in die Amazon S3 S3-Replikationszeiten. S3 RTC repliziert die meisten Objekte, die Sie auf Amazon S3 hochladen, innerhalb von Sekunden und 99,99 Prozent dieser Objekte innerhalb von 15 Minuten.

Standardmäßig RTC bietet S3 zwei Möglichkeiten, den Fortschritt der Replikation zu verfolgen:

  • S3-Replikationsmetriken — Sie können S3-Replikationsmetriken verwenden, um die Gesamtzahl der API S3-Operationen, deren Replikation aussteht, die Gesamtgröße der zu replizierenden Objekte, die maximale Replikationszeit in die Zielregion und die Gesamtzahl der Operationen, bei denen die Replikation fehlgeschlagen ist, zu überwachen. Anschließend können Sie jedes Dataset, das Sie separat replizieren, überwachen. Sie können S3-Replikationsmetriken auch unabhängig von S3 aktivierenRTC. Weitere Informationen finden Sie unter Verwendung von S3-Replikationsmetriken.

    Replikationsregeln, bei denen S3 Replication Time Control (S3RTC) aktiviert ist, veröffentlichen S3-Replikationsmetriken. Replikationsmetriken sind innerhalb von 15 Minuten nach Aktivierung von S3 verfügbarRTC. Replikationsmetriken sind über die Amazon S3-Konsole, Amazon S3API, the AWS SDKs, the AWS Command Line Interface (AWS CLI) und Amazon verfügbar CloudWatch. Weitere Informationen zu CloudWatch Metriken finden Sie unterMetriken mit Amazon überwachen CloudWatch. Weitere Informationen zum Anzeigen von Replikationsmetriken über die Amazon S3 S3-Konsole finden Sie unterAnzeigen von Replikationsmetriken.

    S3-Replikationsmetriken werden zum gleichen Tarif wie CloudWatch benutzerdefinierte Amazon-Metriken abgerechnet. Weitere Informationen finden Sie unter CloudWatchAmazon-Preise.

  • Amazon S3 S3-Ereignisbenachrichtigungen — S3 RTC stellt OperationMissedThreshold OperationReplicatedAfterThreshold Ereignisse bereit, die den Bucket-Besitzer benachrichtigen, wenn die Objektreplikation den Schwellenwert von 15 Minuten überschreitet oder überschreitet. Mit S3 können Sie Amazon S3 Event Notifications in seltenen Fällen benachrichtigenRTC, wenn Objekte nicht innerhalb von 15 Minuten repliziert werden und wenn diese Objekte nach dem 15-minütigen Schwellenwert repliziert werden.

    Replikationsereignisse sind innerhalb von 15 Minuten nach der Aktivierung von S3 verfügbar. RTC Amazon S3 S3-Ereignisbenachrichtigungen sind über Amazon SQSSNS, Amazon oder erhältlich AWS Lambda. Weitere Informationen finden Sie unter Erhalten von Amazon-S3-Ereignisbenachrichtigungen über Replikations-Fehlerereignisse.

Bewährte Methoden und Richtlinien für S3 RTC

Wenn Sie Daten in Amazon S3 mit aktiviertem S3 Replication Time Control (S3RTC) replizieren, befolgen Sie diese Best-Practice-Richtlinien, um die Replikationsleistung für Ihre Workloads zu optimieren.

Leistungsrichtlinien für Amazon-S3-Replikation and -Anforderungsraten

Wenn Speicherinhalte zu Amazon S3 hochgeladen oder von dort abgerufen werden, können Ihre Anwendungen Tausende von Transaktionen pro Sekunde bei der Anforderungsleistung erhalten. Beispielsweise kann eine Anwendung mindestens 3.500PUT//DELETEoder 5.500 COPY POSTGET//HEADAnfragen pro Sekunde pro Präfix in einem S3-Bucket erreichen, einschließlich der Anfragen, die S3 Replication in Ihrem Namen stellt. Es gibt keine Einschränkungen für die Anzahl der Präfixe in einem Bucket. Sie können Ihre Lese- und Schreibleistung steigern, indem Sie Lesevorgänge parallelisieren. Wenn Sie beispielsweise 10 Präfixe in einem S3-Bucket erstellen, um Lesevorgänge zu parallelisieren, können Sie Ihre Leseleistung auf 55.000 Leseanfragen pro Sekunde skalieren.

Amazon S3 skaliert automatisch als Reaktion auf anhaltende Anforderungsraten, die über diesen Richtlinien liegen, oder auf anhaltende Anforderungsraten, die gleichzeitig mit LIST Anfragen einhergehen. Während Amazon S3 intern für die neue Anforderungsrate optimiert, erhalten Sie möglicherweise vorübergehend HTTP 503 Antworten auf Anfragen, bis die Optimierung abgeschlossen ist. Dieses Verhalten kann auftreten, wenn die Anzahl der Anfragen pro Sekunde steigt oder wenn Sie S3 zum ersten Mal aktivierenRTC. Während dieser Zeiträume kann sich die Replikationslatenz erhöhen. Das RTC S3-Service Level Agreement (SLA) gilt nicht für Zeiträume, in denen die Amazon S3 S3-Leistungsrichtlinien für Anfragen pro Sekunde überschritten werden.

S3 gilt RTC SLA auch nicht in Zeiträumen, in denen Ihre Replikationsdatenübertragungsrate das Standardkontingent von 1 Gigabit pro Sekunde (Gbit/s) überschreitet. Wenn Sie davon ausgehen, dass Ihre Replikationsübertragungsrate 1 Gbit/s überschreiten wird, können Sie sich an das AWS Support Center wenden oder mithilfe von Service Quotas eine Erhöhung Ihres Kontingents für die Replikationsübertragungsrate beantragen.

Schätzen der Replikationsanforderungsraten

Ihre gesamte Anforderungsrate, einschließlich der Anfragen, die Amazon S3 S3-Replikation in Ihrem Namen stellt, muss den Amazon S3 S3-Anforderungsratenrichtlinien sowohl für die Replikationsquelle als auch für die Ziel-Buckets entsprechen. Für jedes replizierte Objekt stellt die Amazon S3 S3-Replikation bis zu fünf GET HEAD /-Anfragen und eine PUT Anfrage an den Quell-Bucket und eine PUT Anfrage an jeden Ziel-Bucket.

Wenn Sie beispielsweise erwarten, 100 Objekte pro Sekunde zu replizieren, kann die Amazon S3 S3-Replikation weitere 100 PUT Anfragen in Ihrem Namen ausführen, was insgesamt 200 PUT Anfragen pro Sekunde an den S3-Quell-Bucket ergibt. Die Amazon S3 S3-Replikation kann auch bis zu 500GET//HEADAnfragen ausführen (5GET//HEADAnfragen für jedes Objekt, das repliziert wird).

Anmerkung

Es fallen Kosten für nur eine PUT Anfrage pro repliziertem Objekt an. Weitere Informationen finden Sie in den Preisinformationen zur Replikation in Amazon S3 FAQs.

Überschreitung der RTC S3-Datenübertragungsraten

Wenn Sie davon ausgehen, dass Ihre RTC S3-Datenübertragungsrate das Standardkontingent von 1 Gbit/s überschreitet, wenden Sie sich an das AWS Support Center oder verwenden Sie Service Quotas, um eine Erhöhung Ihres Kontingents für die Replikationsübertragungsrate zu beantragen.

AWS KMS Anforderungsraten für die Replikation verschlüsselter Objekte

Wenn Sie Objekte replizieren, die mit serverseitiger Verschlüsselung mit AWS Key Management Service (AWS KMS) -Schlüsseln (SSE-KMS) verschlüsselt sind, gelten Kontingente für AWS KMS Anfragen pro Sekunde. AWS KMS lehnt möglicherweise eine ansonsten gültige Anfrage ab, weil Ihre Anforderungsrate das Kontingent für die Anzahl der Anfragen pro Sekunde überschreitet. Wenn eine Anfrage gedrosselt wird, wird ein AWS KMS ThrottlingException Fehler zurückgegeben. Das AWS KMS Anforderungsratenkontingent gilt für Anfragen, die Sie direkt stellen, und für Anfragen, die von der Amazon S3 S3-Replikation in Ihrem Namen gestellt werden.

Wenn Sie beispielsweise damit rechnen, 1.000 Objekte pro Sekunde zu replizieren, können Sie 2.000 Anfragen von Ihrer AWS KMS Quote für Anfragen abziehen. Die daraus resultierende Anforderungsrate pro Sekunde ist für Ihre AWS KMS Workloads ohne Replikation verfügbar. Sie können die AWS KMS Anforderungsmetriken in Amazon verwenden CloudWatch, um die gesamte AWS KMS Anforderungsrate auf Ihrem zu überwachen AWS-Konto.

Um eine Erhöhung Ihres Kontingents für AWS KMS Anfragen pro Sekunde zu beantragen, wenden Sie sich an das AWS Support Center oder nutzen Sie Service Quotas.

Aktivieren der S3 Replication Time Control

Sie können beginnen, S3 Replication Time Control (S3RTC) mit einer neuen oder vorhandenen Replikationsregel zu verwenden. Sie können wählen, ob Sie Ihre Replikationsregel auf einen ganzen Bucket oder auf Objekte mit einem bestimmten Präfix oder Tag anwenden möchten. Wenn Sie S3 aktivierenRTC, werden S3-Replikationsmetriken auch für Ihre Replikationsregel aktiviert.

Sie können S3 RTC mithilfe der Amazon S3-Konsole, Amazon S3 API AWS SDKs, der und der AWS Command Line Interface (AWS CLI) konfigurieren.

Themen

    step-by-stepAnweisungen finden Sie unterKonfiguration der Replikation für Buckets im selben Konto. Dieses Thema enthält Anweisungen zur Aktivierung von S3 RTC in Ihrer Replikationskonfiguration, wenn die Quell- und Ziel-Buckets denselben und unterschiedlichen AWS-Konten Besitzern gehören.

    Um Objekte mit RTC aktiviertem S3 AWS CLI zu replizieren, erstellen Sie Buckets, aktivieren die Versionierung für die Buckets, erstellen eine IAM Rolle, die Amazon S3 die Berechtigung erteilt, Objekte zu replizieren, und fügen die Replikationskonfiguration zum Quell-Bucket hinzu. Für die Replikationskonfiguration muss S3 RTC aktiviert sein, wie im folgenden Beispiel gezeigt.

    step-by-stepAnweisungen zum Einrichten Ihrer Replikationskonfiguration mithilfe von finden Sie unterKonfiguration der Replikation für Buckets im selben Konto. AWS CLI

    Das folgende Beispiel für eine Replikationskonfiguration aktiviert und legt die EventThreshold Werte ReplicationTime und für eine Replikationsregel fest. Wenn Sie diese Werte aktivieren und festlegen, wird S3 RTC für die Regel aktiviert.

    { "Rules": [ { "Status": "Enabled", "Filter": { "Prefix": "Tax" }, "DeleteMarkerReplication": { "Status": "Disabled" }, "Destination": { "Bucket": "arn:aws:s3:::amzn-s3-demo-destination-bucket", "Metrics": { "Status": "Enabled", "EventThreshold": { "Minutes": 15 } }, "ReplicationTime": { "Status": "Enabled", "Time": { "Minutes": 15 } } }, "Priority": 1 } ], "Role": "IAM-Role-ARN" }
    Wichtig

    Metrics:EventThreshold:Minutesund ReplicationTime:Time:Minutes kann nur einen gültigen Wert haben15.

    Das folgende Java-Beispiel fügt eine Replikationskonfiguration hinzu, bei der S3 Replication Time Control (S3RTC) aktiviert ist.

    import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.model.DeleteMarkerReplication; import software.amazon.awssdk.services.s3.model.Destination; import software.amazon.awssdk.services.s3.model.Metrics; import software.amazon.awssdk.services.s3.model.MetricsStatus; import software.amazon.awssdk.services.s3.model.PutBucketReplicationRequest; import software.amazon.awssdk.services.s3.model.ReplicationConfiguration; import software.amazon.awssdk.services.s3.model.ReplicationRule; import software.amazon.awssdk.services.s3.model.ReplicationRuleFilter; import software.amazon.awssdk.services.s3.model.ReplicationTime; import software.amazon.awssdk.services.s3.model.ReplicationTimeStatus; import software.amazon.awssdk.services.s3.model.ReplicationTimeValue; public class Main { public static void main(String[] args) { S3Client s3 = S3Client.builder() .region(Region.US_EAST_1) .credentialsProvider(() -> AwsBasicCredentials.create( "AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY") ) .build(); ReplicationConfiguration replicationConfig = ReplicationConfiguration .builder() .rules( ReplicationRule .builder() .status("Enabled") .priority(1) .deleteMarkerReplication( DeleteMarkerReplication .builder() .status("Disabled") .build() ) .destination( Destination .builder() .bucket("destination_bucket_arn") .replicationTime( ReplicationTime.builder().time( ReplicationTimeValue.builder().minutes(15).build() ).status( ReplicationTimeStatus.ENABLED ).build() ) .metrics( Metrics.builder().eventThreshold( ReplicationTimeValue.builder().minutes(15).build() ).status( MetricsStatus.ENABLED ).build() ) .build() ) .filter( ReplicationRuleFilter .builder() .prefix("testtest") .build() ) .build()) .role("role_arn") .build(); // Put replication configuration PutBucketReplicationRequest putBucketReplicationRequest = PutBucketReplicationRequest .builder() .bucket("source_bucket") .replicationConfiguration(replicationConfig) .build(); s3.putBucketReplication(putBucketReplicationRequest); } }