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

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 la AWS Management Console et dans le Guide de l'utilisateur Amazon CloudWatch. Pour de plus amples informations, veuillez consulter Métriques de réplication Amazon S3 dans CloudWatch .

Rubriques

    Pour obtenir des instructions détaillées, consultez Configuration 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 compartiments sont détenus par des Comptes AWS identiques et différents.

    Pour utiliser AWS CLI afin de répliquer des objets avec S3 RTC activé, vous devez créer des compartiments, activer la gestion des versions sur les compartiments, créer un rôle IAM qui donne à Amazon S3 l'autorisation de 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 de plus amples informations, veuillez consulter Satisfaire aux exigences de conformité à l'aide du contrôle du délai de réplication S3 (S3 RTC).