Replica di oggetti con S3 Replication Time Control (S3 RTC) - Amazon Simple Storage Service

Replica di oggetti con S3 Replication Time Control (S3 RTC)

Amazon S3 Replication Time Control (S3 RTC) permette di soddisfare i requisiti aziendali o di conformità per la replica dei dati fornendo visibilità sui tempi di replica di Amazon S3. S3 RTC replica la maggior parte degli oggetti caricati in Amazon S3 in pochi secondi e il 99,99% di tali oggetti entro 15 minuti.

Con S3 RTC, puoi monitorare il numero totale e la dimensione totale degli oggetti in attesa di replica e il tempo massimo di replica nella regione di destinazione. I parametri di replica sono disponibili tramite la AWS Management Console e la Guida per l'utente di Amazon CloudWatch. Per ulteriori informazioni, consultare Metriche delle repliche Amazon S3 in CloudWatch .

Argomenti

    Per istruzioni dettagliate, consulta Configurazione della replica per i bucket di origine e di destinazione di proprietà dello stesso account. In questo argomento vengono fornite istruzioni per abilitare S3 RTC nella configurazione della replica quando i bucket sono di proprietà dello stesso Account AWS o di account diversi.

    Per replicare gli oggetti con S3 RTC abilitato mediante la AWS CLI, è necessario creare i bucket, abilitare la funzione Controllo delle versioni sui bucket, creare un ruolo IAM che autorizza Amazon S3 a replicare gli oggetti e aggiungere la configurazione di replica al bucket di origine. È necessario che S3 Replication Time Control (S3 RTC) sia abilitato nella configurazione di replica.

    Come replicare con S3 RTC abilitato (AWS CLI)
    • Nell'esempio seguente sono impostati ReplicationTime e Metric e viene aggiunta la configurazione di replica al bucket di origine.

      { "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" }
      Importante

      Metrics:EventThreshold:Minutes e ReplicationTime:Time:Minutes possono avere solo 15 come un valore valido.

    Di seguito è riportato un esempio Java per aggiungere la configurazione di replica con S3 Replication Time Control (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); } }

    Per ulteriori informazioni, consultare Rispetto dei requisiti di conformità utilizzando S3 Replication Time Control (S3 RTC).