Répliquer des objets avec le contrôle du délai de réplication S3 (S3 RTC) - Amazon Simple Storage Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Répliquer des objets avec le contrôle du délai de réplication S3 (S3 RTC)

Le contrôle du délai de réplication Amazon S3 vous aide à respecter les règles de conformité et les besoins métier en matière de réplication des données, et améliore la visibilité des délais de réplication Amazon S3. Le contrôle du délai de réplication S3 permet de répliquer la plupart des objets que vous chargez dans Amazon S3 en quelques secondes, et 99,99 % de ces objets en 15 minutes.

Avec S3 RTC, vous pouvez surveiller le nombre total et la taille des objets en attente de réplication, ainsi que le temps de réplication maximal vers la Région de destination. Les métriques de réplication sont disponibles via le guide de CloudWatch l'utilisateur Amazon AWS Management Consoleet Amazon. Pour plus d’informations, consultez Métriques de réplication S3 dans CloudWatch .

Rubriques

    Pour step-by-step obtenir des instructions, voirConfiguration d'une réplication pour des compartiments source et destination appartenant au même compte. Cette rubrique fournit des instructions pour activer S3 RTC dans votre configuration de réplication lorsque les buckets appartiennent à des entités identiques ou différentes. Comptes AWS

    AWS CLI Pour répliquer des objets lorsque S3 RTC est activé, vous devez créer des compartiments, activer le contrôle de version sur les compartiments, créer un rôle IAM qui autorise Amazon S3 à répliquer des objets et ajouter la configuration de réplication au compartiment source. La configuration de réplication nécessite l'activation du contrôle du délai de réplication S3.

    Pour répliquer avec S3 RTC activé (AWS CLI)
    • L'exemple suivant définit ReplicationTime et Metric, et ajoute la configuration de réplication au compartiment source.

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

      La seule valeur valide pour Metrics:EventThreshold:Minutes et ReplicationTime:Time:Minutes est 15.

    Voici un exemple Java permettant d'ajouter une configuration de réplication avec le contrôle du délai de réplication S3 (S3 RTC).

    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); } }

    Pour plus d’informations, consultez Satisfaire aux exigences de conformité à l'aide du contrôle du délai de réplication S3 (S3 RTC).