Cumplimiento de los requisitos de conformidad mediante Control del tiempo de replicación de S3
S3 RTC (Control del tiempo de replicación de S3) le ayuda a cumplir requisitos de conformidad o requisitos empresariales para la replicación de datos y proporciona visibilidad de los tiempos de replicación de Amazon S3. S3 RTC replica la mayoría de los objetos que se cargan en Amazon S3 en unos segundos y el 99,99 % de esos objetos en un plazo de 15 minutos.
De forma predeterminada, S3 RTC incluye dos formas de realizar un seguimiento del progreso de la replicación:
-
Métricas de Replicación de S3: puede utilizar las métricas de Replicación de S3 para monitorizar el número total de operaciones de la API de S3 que están pendientes de replicación, el tamaño total de los objetos pendientes de replicación, el tiempo máximo de replicación en la región de destino y el número total de operaciones que no se ha podido replicar. A continuación, puede monitorizar cada conjunto de datos que se replica por separado. También puede habilitar las métricas de Replicación de S3 independientemente de S3 RTC. Para obtener más información, consulte Uso de métricas de replicación de S3.
Las reglas de replicación con Control del tiempo de replicación de S3 (S3 RTC) habilitado pueden publicar métricas de replicación de S3. Las métricas de replicación están disponibles dentro de los 15 minutos siguientes a la habilitación de S3 RTC. Las métricas de replicación están disponibles a través de la consola de Amazon S3, la API de Amazon S3, los AWS SDK, la AWS Command Line Interface (AWS CLI) y Amazon CloudWatch. Para obtener más información acerca de las métricas de CloudWatch, consulte Monitorización de métricas con Amazon CloudWatch. Para obtener más información sobre cómo visualizar métricas de replicación a través de la consola de Amazon S3, consulte Consultar métricas de replicación.
Las métricas de replicación de S3 se facturan al mismo precio que las métricas personalizadas de Amazon CloudWatch. Para obtener más información, consulte los precios de Amazon CloudWatch
. -
Notificaciones de eventos de Amazon S3: S3 RTC proporciona eventos
OperationMissedThreshold
yOperationReplicatedAfterThreshold
que notifican al propietario del bucket si la replicación de objetos supera o se produce después del umbral de 15 minutos. Con S3 RTC, las notificaciones de eventos de Amazon S3 le pueden notificar los casos poco habituales en que los objetos no se replican en 15 minutos y cuando esos objetos se replican después del umbral de 15 minutos.Las métricas de replicación están disponibles dentro de los 15 minutos siguientes a la habilitación de S3 RTC. Las notificaciones de eventos de Amazon S3 están disponibles a través de Amazon SQS, Amazon SNS o AWS Lambda. Para obtener más información, consulte Recepción de eventos de error de replicación con notificaciones de eventos de Amazon S3.
Prácticas recomendadas y directrices para S3 RTC
Al replicar datos en Amazon S3 con el Control del tiempo de replicación de S3 (S3 RTC) habilitado, siga estas prácticas recomendadas para optimizar el rendimiento de replicación de sus cargas de trabajo.
Temas
Directrices para optimizar la tasa de solicitudes y el rendimiento de replicación de Amazon S3
Al cargar y recuperar almacenamiento de Amazon S3, sus aplicaciones pueden lograr fácilmente miles de transacciones por segundo en el rendimiento de la solicitud. Por ejemplo, una aplicación puede lograr al menos 3500 solicitudes PUT
/COPY
/POST
/DELETE
o 5500 GET
/HEAD
por segundo y prefijo en un bucket de S3, incluidas las solicitudes que realiza Replicación de S3 en su nombre. No existe ningún límite en cuanto al número de prefijos dentro de un bucket. Puede aumentar el rendimiento de lectura o escritura ejecutando en paralelo las operaciones de lectura. Por ejemplo, si crea 10 prefijos en un bucket de S3 para ejecutar en paralelo las operaciones de lectura, puede escalar el rendimiento de lectura a 55 000 solicitudes de lectura por segundo.
Amazon S3 se reduce horizontalmente de forma automática en respuesta a las tasas de solicitudes sostenidas por encima de estas directrices, o de tasas de solicitudes sostenidas simultáneas con solicitudes LIST
. Aunque Amazon S3 se está optimizando internamente para una nueva velocidad de solicitudes, podría recibir respuestas a las solicitudes HTTP 503 de forma temporal hasta que se complete la optimización. Este comportamiento puede tener lugar cuando se producen aumentos en las tasas de solicitudes por segundo o cuando se habilita S3 RTC por primera vez. Durante estos periodos, la latencia de replicación puede aumentar. El acuerdo de nivel de servicio (SLA) de S3 RTC no se aplica a los periodos en los que se exceden las directrices de rendimiento de Amazon S3 sobre solicitudes por segundo.
El SLA de S3 RTC tampoco se aplica durante los periodos de tiempo en los que la velocidad de transferencia de datos de replicación supera la cuota predeterminada de 1 gigabit por segundo. Si prevé que la tasa de transferencia de replicación superará 1 Gbps, puede contactar con el Centro de AWS Support
Cálculo de las tasas de solicitudes de replicación
Su tasa total de solicitudes, incluidas las solicitudes que realiza Replicación de Amazon S3 en su nombre, debe estar comprendida en las directrices de tasa de solicitudes de Amazon S3 para los buckets de origen y destino de la replicación. Para cada objeto replicado, Replicación de Amazon S3 realiza hasta cinco solicitudes GET
/HEAD
y una solicitud PUT
al bucket de origen, además de una solicitud PUT
destinada al bucket de destino.
Por ejemplo, si prevé replicar 100 objetos por segundo, Replicación de Amazon S3 podría realizar 100 solicitudes PUT
adicionales en su nombre para un total de 200 solicitudes PUT
por segundo al bucket de S3 de origen. Además, Replicación de Amazon S3 podría realizar hasta 500 solicitudes GET
/HEAD
(5 solicitudes GET
/HEAD
por cada objeto replicado).
nota
Usted incurre en costos solamente por una solicitud PUT
por cada objeto replicado. Para obtener más información, consulte la información de precios en las preguntas frecuentes sobre replicación de Amazon S3
Superación de las cuotas de la tasa de transferencia de datos de S3 RTC
Si prevé que la tasa de transferencia de datos de S3 RTC superará la cuota predeterminada de 1 Gbps, contacte con el Centro de AWS Support
Tasas de solicitudes de replicación de objetos cifrados con AWS KMS
Al replicar objetos cifrados con cifrado del servidor con claves AWS Key Management Service (AWS KMS) (SSE-KMS), se aplican las cuotas de solicitudes por segundo de AWS KMS. AWS KMS podría rechazar una solicitud por lo demás válida porque su tasa de solicitudes excede la cuota del número de solicitudes por segundo. Cuando se limita una solicitud de forma controlada, AWS KMS devuelve un error ThrottlingException
. La cuota de la tasa de solicitudes de AWS KMS se aplica a las solicitudes que realiza directamente y a aquellas que Replicación de Amazon S3 efectúa en su nombre.
Por ejemplo, si prevé replicar 1000 objetos por segundo, puede restar 2000 solicitudes de la cuota de tasa de solicitudes de AWS KMS. La tasa de solicitudes por segundo resultante estará disponible para las cargas de trabajo de AWS KMS, excluida la replicación. Puede utilizar las métricas de solicitudes de AWS KMS en Amazon CloudWatch para monitorear la tasa total de solicitudes de AWS KMS en la Cuenta de AWS.
Para solicitar un aumento de su cuota de solicitudes de AWS KMS por segundo, contacte con el Centro de AWS Support
Habilitación del control del tiempo de replicación de S3
Puede comenzar a utilizar S3 Replication Time Control (S3, RTC, Control del tiempo de replicación de S3) con una regla de replicación nueva o existente. Puede optar por aplicar la regla de replicación a un bucket completo o a objetos con un prefijo o etiqueta específicos. Cuando habilita S3 RTC, las métricas de Replicación de S3 también se habilitan en la regla de replicación.
Puede configurar S3 RTC mediante la consola de Amazon S3, la API de Amazon S3, los AWS SDK y la AWS Command Line Interface (AWS CLI).
Temas
Para obtener instrucciones paso a paso, consulte Configuración de replicación para buckets en la misma cuenta. Este tema proporciona instrucciones para habilitar S3 RTC en la configuración de replicación cuando los buckets de origen y destino pertenecen a la misma o a otras Cuentas de AWS.
Para utilizar la AWS CLI con el propósito de replicar objetos con S3 RTC habilitado, es necesario crear buckets, habilitar el control de versiones en los buckets, crear un rol de IAM que conceda permiso a Amazon S3 para replicar objetos y agregar la configuración de replicación al bucket de origen. La configuración de replicación debe tener habilitada S3 RTC, como se muestra en el siguiente ejemplo.
Para obtener instrucciones paso a paso para realizar la configuración de replicación mediante la AWS CLI, consulte Configuración de replicación para buckets en la misma cuenta.
El siguiente ejemplo de configuración de replicación habilita y establece los valores ReplicationTime
y EventThreshold
de una regla de replicación. Al habilitar y establecer estos valores, se habilita S3 RTC en la regla.
{ "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
" }
importante
Metrics:EventThreshold:Minutes
y ReplicationTime:Time:Minutes
solo aceptan 15
como valor válido.
En el siguiente ejemplo de Java, se agrega la configuración de replicación con Control del tiempo de replicación de S3 (S3 RTC) habilitado.
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); } }