Global outage event
If you’re experiencing issues with your AWS services, then please refer to the AWS Health Dashboard. You can find the overall status of ongoing outages, the health of AWS services, and the latest updates from AWS engineers.
¿Por qué mis objetos de Amazon S3 no se replican cuando configuro la replicación entre mis buckets?
He configurado la replicación entre mis buckets de uso general de Amazon Simple Storage Service (Amazon S3). Sin embargo, los objetos no se replican en el bucket de destino que se encuentra en la misma región de AWS o en una región diferente.
Descripción corta
Nota: Puedes usar la replicación de Amazon S3 solo para buckets de uso general. No puedes usar la replicación para buckets de directorios y tablas.
Para solucionar problemas con los objetos de Amazon S3 que no se replican para la replicación entre regiones (CRR) o la replicación en la misma región (SRR), comprueba los permisos del bucket de destino. Comprueba también la configuración de acceso público y la de propiedad del bucket.
Tras resolver los problemas que causaban errores en la replicación, es posible que haya objetos en el bucket de origen que sigan sin replicarse. De forma predeterminada, la replicación de Amazon S3 no replica los objetos existentes ni los objetos con un estado de replicación FAILED o REPLICA. Para comprobar los estados de replicación de los objetos, consulta ¿Cómo puedo ver los objetos que no se han podido replicar de un bucket de Amazon S3 a otro? Para estos objetos, utiliza la replicación por lotes de S3.
Resolución
Identificación de los problemas de configuración de la replicación
Carga un objeto en el bucket de origen para probar la replicación después de cada cambio en la configuración. Se recomienda cambiar una configuración cada vez para identificar cualquier problema en la configuración de la replicación.
Activa también la notificación de tipo de evento s3:Replication:OperationFailedReplication para determinar la causa del error.
Concesión de permisos mínimos de Amazon S3
Confirma que el rol de AWS Identity Access Management (IAM) que usaste en la regla de replicación tenga los permisos correctos. Si los buckets de origen y de destino se encuentran en cuentas de AWS diferentes, confirma que la política de bucket de la cuenta de destino también conceda los permisos para el rol de replicación. El siguiente ejemplo de política de IAM tiene los permisos mínimos necesarios para la replicación:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::SourceBucket" ] }, { "Effect": "Allow", "Action": [ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::SourceBucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:ReplicateObject", "s3:ReplicateTags" ], "Resource": "arn:aws:s3:::DestinationBucket/*" } ] }
Nota: Sustituye SourceBucket por tu bucket de origen y DestinationBucket por tu bucket de destino.
Según las opciones de la regla de replicación, es posible que debas conceder permisos adicionales.
El rol de IAM debe tener una política de confianza que permita a Amazon S3 asumir el rol de replicar objetos. Ejemplo de política de confianza:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Concesión de permisos adicionales de Amazon S3
Si configuras la regla de replicación en Cambiar la propiedad del objeto al propietario del bucket de destino, debes configurar permisos adicionales.
Nota: Si la propiedad del objeto del bucket de destino es Aplicada al propietario del bucket, no es necesario Cambiar la propiedad del objeto al propietario del bucket de destino en la regla de replicación. Este cambio se produce de forma predeterminada.
Para conceder al rol de IAM los permisos s3:ObjectOwnerOverrideToBucketOwner, agrega el siguiente permiso a la política de objetos de Amazon S3:
{ "Effect": "Allow", "Action": [ "s3:ObjectOwnerOverrideToBucketOwner" ], "Resource": "arn:aws:s3:::DestinationBucket/*" }
Nota: Sustituye DestinationBucket por tu bucket de destino.
Además, agrega el siguiente permiso s3:ObjectOwnerOverrideToBucketOwner en la política de bucket de la cuenta de destino:
{ "Sid": "1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::SourceBucket-account-ID:role/service-role/source-account-IAM-role" }, "Action": [ "s3:ObjectOwnerOverrideToBucketOwner" ], "Resource": "arn:aws:s3:::DestinationBucket/*" }
Nota: Sustituye SourceBucket-account-ID por la cuenta del bucket de origen, source-account-IAM-role por el rol de IAM de la cuenta de origen y DestinationBucket por el bucket de destino.
Si has activado la replicación de marcadores de eliminación en la regla de replicación, el rol de IAM debe tener los permisos s3:ReplicateDelete:
{ "Effect": "Allow", "Action": [ "s3:ReplicateDelete" ], "Resource": "arn:aws:s3:::DestinationBucket/*" }
Nota: Sustituye DestinationBucket por tu bucket de destino.
Si el bucket de destino está en otra cuenta, el propietario del bucket de destino también debe agregar el siguiente permiso en la política de bucket:
{ "Version": "2012-10-17", "Id": "PolicyForDestinationBucket", "Statement": [ { "Sid": "Permissions on objects", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::SourceBucket-account-ID:role/service-role/source-account-IAM-role" }, "Action": [ "s3:ReplicateObject", "s3:ReplicateTags", "s3:ObjectOwnerOverrideToBucketOwner", "s3:ReplicateDelete" ], "Resource": "arn:aws:s3:::DestinationBucket/*" }, { "Sid": "Permissions on bucket", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::SourceBucket-account-ID:role/service-role/source-account-IAM-role" }, "Action": [ "s3:GetBucketVersioning", "s3:PutBucketVersioning" ], "Resource": "arn:aws:s3:::DestinationBucket" } ] }
Nota: Sustituye arn:aws:iam::SourceBucket-account-ID:role/service-role/source-account-IAM-role por el nombre de recurso de Amazon (ARN) de tu rol de replicación y DestinationBucket por tu bucket de destino.
Concesión de permisos de AWS KMS
Si has cifrado los objetos de origen del bucket con una clave de AWS Key Management Service (AWS KMS), la regla de replicación debe incluir los objetos cifrados de AWS KMS.
Para configurar los permisos necesarios, sigue estos pasos:
- Abre la consola de Amazon S3.
- Elige el bucket de origen.
- Selecciona la pestaña Administración y, a continuación, en Reglas de replicación, elige la regla de replicación.
- Selecciona Editar.
- En Cifrado, selecciona Replicar objetos cifrados con AWS KMS.
- En Clave de AWS KMS para cifrar objetos de destino, selecciona una clave de AWS KMS. La opción predeterminada es utilizar la clave de AWS KMS (aws/S3).
Para ver ejemplos de políticas de replicación, consulta Políticas de ejemplo: uso de SSE-S3 y SSE-KMS con replicación.
Nota: Si el bucket de destino está en una cuenta diferente, especifica una clave de AWS KMS administrada por el cliente que pertenezca a la cuenta de destino. La clave aws/S3 predeterminada cifra los objetos con la clave administrada de AWS que posee la cuenta de origen. Sin embargo, no puedes compartir la clave administrada de AWS con otra cuenta.
Concesión de permisos de AWS KMS adicionales para escenarios entre cuentas
Para utilizar la clave de AWS KMS de la cuenta de destino para cifrar los objetos de destino, la cuenta de destino debe permitir el rol de replicación en la política de claves. Ejemplo de política:
{ "Sid": "AllowS3ReplicationSourceRoleToUseTheKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::SourceBucket-account-ID:role/service-role/source-account-IAM-role" }, "Action": [ "kms:GenerateDataKey", "kms:Encrypt" ], "Resource": "*" }
Nota: Sustituye arn:aws:iam::SourceBucket-account-ID:role/service-role/source-account-IAM-role por el ARN de tu rol de replicación. Si usas un asterisco (*) en Recurso, la política concede permiso solo al rol de replicación. Sin embargo, la política no permite que el rol de replicación amplíe sus permisos.
Además, tienes que agregar los siguientes permisos mínimos a la política de IAM del rol de replicación desde la cuenta de origen:
[ { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "SourceKmsKeyArn" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Encrypt" ], "Resource": [ "DestinationKmsKeyArn" ] } ]
De forma predeterminada, la política de claves de AWS KMS concede al usuario raíz todos los permisos sobre la clave. Puedes delegar estos permisos a otros usuarios de la misma cuenta. También puedes usar una política de IAM para conceder los permisos del rol de replicación a la clave de KMS de origen. Esta configuración permite el acceso requerido a menos que haya instrucciones de denegación en la política de claves de AWS KMS de origen.
Comprobación de si hay instrucciones de denegación explícita y de autorización condicional
Importante: Antes de eliminar las instrucciones de denegación explícitas, confirma el motivo por el que existen y si las declaraciones afectan a la seguridad de los datos.
Si los objetos siguen sin replicarse después de validar los permisos, comprueba si hay instrucciones de denegación explícita que puedan provocar un error en la replicación.
Elimina las instrucciones de denegación de la política de bucket de destino o de la política de claves de AWS KMS que restringen el acceso a los siguientes recursos:
- Rangos CIDR específicos
- Puntos de enlace de nube virtual privada (VPC)
- Puntos de acceso de Amazon S3
Además, elimina las instrucciones de denegación o los límites de permisos de la política de roles de IAM y de las políticas de control de servicios (SCP) de AWS Organizations en las cuentas de origen y destino.
Comprobar si hay claves de bucket de S3
Si las claves de AWS KMS de origen o destino conceden permisos en función del contexto de cifrado, comprueba si utilizas las claves de bucket de S3. Si los buckets usan claves de bucket de S3, el contexto de cifrado debe ser el del recurso a nivel de bucket. Ejemplo de contexto de cifrado:
"kms:EncryptionContext:aws:s3:arn": ["arn:aws:s3:::SOURCE_BUCKET_NAME"] "kms:EncryptionContext:aws:s3:arn": ["arn:aws:s3:::DESTINATION_BUCKET_NAME"]
Nota: Sustituye SOURCE_BUCKET_NAME por el bucket de origen y DESTINATION_BUCKET_NAME por el bucket de destino.
Si no utilizas las claves de bucket de S3 para los buckets de origen o destino, el contexto de cifrado debe ser el recurso a nivel de objeto. Ejemplo de contexto de cifrado:
"kms:EncryptionContext:aws:s3:arn": ["arn:aws:s3:::SOURCE_BUCKET_NAME/*"] "kms:EncryptionContext:aws:s3:arn": ["arn:aws:s3:::DESTINATION_BUCKET_NAME/*"]
Nota: Sustituye SOURCE_BUCKET_NAME por el bucket de origen y DESTINATION_BUCKET_NAME por el bucket de destino.
Comprobación de las ACL de los objetos
Comprueba si los buckets de origen y destino usan listas de control de acceso (ACL) que bloquean el acceso. Si el objeto tiene una ACL que permite el acceso público, pero el bucket de destino usa el bloqueo del acceso público de S3, se produce un error en la replicación.
Confirmación de la propiedad del objeto de origen
Si otra cuenta de AWS ha cargado los objetos en el bucket de origen, es posible que la cuenta de origen no tenga acceso a esos objetos. Comprueba que el bucket de origen tenga las ACL activadas.
Si el bucket de origen tiene las ACL desactivadas, la cuenta de origen es la propietaria de todos los objetos del bucket. Si el bucket de origen no tiene las ACL activadas, comprueba si la propiedad del objeto está configurada como Propietario del objeto preferido o Propietario del bucket preferido. Si la propiedad se establece como Propietario del bucket preferido, los objetos del bucket de origen deben tener el permiso de la ACL bucket-owner-full-control.
La cuenta de origen puede desactivar las ACL para convertirse en propietaria de todos los objetos de su bucket. La mayoría de los casos de uso no requieren ACL para administrar el acceso. En su lugar, se recomienda usar políticas de IAM y de bucket para administrar el acceso a los recursos de Amazon S3. Antes de desactivar las ACL, asegúrate de que tus políticas de IAM y bucket concedan los permisos necesarios para mantener el acceso actual a Amazon S3.
Especificación del filtro de reglas de replicación correcto
Asegúrate de haber especificado correctamente el filtro de reglas de replicación.
Si especificas un filtro de reglas con una combinación de un prefijo de clave y etiquetas de objeto, Amazon S3 realiza una operación AND lógica. La regla se aplica a un subconjunto de objetos con un prefijo de clave y etiquetas específicas.
Información relacionada
- Temas
- Storage
- Etiquetas
- Amazon Simple Storage Service
- Idioma
- Español
Vídeos relacionados


Contenido relevante
- preguntada hace 2 meses
- preguntada hace 2 meses
- preguntada hace 7 meses
- preguntada hace 2 meses