Configuración de replicación de buckets en cuentas diferentes
La replicación en directo consiste en la copia automática y asíncrona de los objetos de los buckets en las mismas o en diferentes Regiones de AWS. La replicación en directo copia los objetos creados recientemente y las actualizaciones de objetos de un bucket de origen a un bucket o buckets de destino. Para obtener más información, consulte Replicación de objetos dentro de regiones y entre regiones.
Al configurar la replicación, se agregan reglas de replicación al bucket de origen. Las reglas de replicación definen qué objetos del bucket de origen se deben replicar y el bucket o buckets de destino donde se almacenan los objetos replicados. Puede crear una regla para replicar todos los objetos en un bucket o un subconjunto de objetos con un prefijo de nombre de clave específico, una o varias etiquetas de objeto, o ambos métodos. El bucket de destino puede estar en la misma Cuenta de AWS que el bucket de origen o puede estar en una cuenta diferente.
Si especifica el ID de versión de objeto que desea eliminar, Amazon S3 elimina esa versión del objeto en el bucket de origen. Pero no replica la eliminación en el bucket de destino. En otras palabras, no elimina la misma versión del objeto del bucket de destino. Esto protege los datos de eliminaciones malintencionadas.
Cuando se añade una regla de replicación a un bucket, la regla está activada de forma predeterminada, por lo que comienza a funcionar tan pronto como se guarda.
La configuración de replicación en directo cuando los buckets de origen y destino son propiedad de diferentes Cuentas de AWS es similar a la configuración de replicación cuando ambos buckets son propiedad de la misma cuenta. Sin embargo, existen varias diferencias a la hora de configurar la replicación en un escenario en el que las cuentas son diferentes:
-
El propietario del bucket de destino debe conceder al propietario del bucket de origen permiso para replicar objetos en la política de bucket de destino.
-
Si está replicando objetos cifrados en el servidor con claves de AWS Key Management Service (AWS KMS) (SSE-KMS) en un caso con diferentes cuentas, el propietario de la clave de KMS debe conceder al propietario del bucket de origen permiso para usar la clave de KMS. Para obtener más información, consulte Conceder permisos adicionales para escenarios que afectan a varias cuentas.
-
De forma predeterminada, los objetos replicados son propiedad del propietario del bucket de origen. En un caso de diferentes cuentas, podría configurar la replicación para que cambie la propiedad de los objetos replicados al propietario del bucket de destino. Para obtener más información, consulte Cambiar el propietario de la réplica.
Para configurar la replicación cuando los buckets de origen y destino son propiedad de diferentes Cuentas de AWS
-
En este ejemplo, crea los buckets de origen y destino en dos Cuentas de AWS diferentes. Debe tener dos perfiles de credenciales configurados para la AWS CLI. En este ejemplo se utiliza
acctA
yacctB
para esos nombres de perfil. Para obtener más información sobre los perfiles de credenciales y usar perfiles con nombre, consulte Opciones de los archivos de configuración y credenciales en la Guía del usuario de AWS Command Line Interface. -
Siga las instrucciones paso a paso en Configuración de replicación para buckets en la misma cuenta con los siguientes cambios:
-
Para todos los comandos de la AWS CLI relacionados con actividades del bucket de origen (como crear el bucket de origen, habilitar el control de versiones y crear el rol de IAM), utilice el perfil
acctA
. Utilice el perfilacctB
para crear el bucket de destino. -
Asegúrese de que la política de permisos del rol de IAM especifica los bucket de origen y de destino creados para este ejemplo.
-
-
En la consola, añada la siguiente política de bucket al bucket de destino para permitir al propietario del bucket de origen replicar objetos: Para obtener instrucciones, consulte Agregar una política de bucket mediante la consola de Amazon S3. Asegúrese de editar la política proporcionando el ID de la Cuenta de AWS del propietario del bucket de origen, el nombre del rol de IAM y el nombre del bucket de destino.
nota
Para utilizar el ejemplo siguiente, sustituya
con su propia información. Sustituyauser input placeholders
con el nombre del bucket de destino. Sustituyaamzn-s3-demo-destination-bucket
en el Nombre de recurso de Amazon (ARN) de IAM con el rol de IAM que utiliza para esta configuración de replicación.source-bucket-account-ID
:role/service-role/source-account-IAM-role
Si creó el rol de servicio de IAM de forma manual, establezca la ruta del rol en el ARM de IAM como
role/service-role/
, tal y como se muestra en el siguiente ejemplo de política. Para obtener más información, consulte ARN de IAM en la guía del usuario de IAM.{ "Version":"2012-10-17", "Id":"", "Statement":[ { "Sid":"Set-permissions-for-objects", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::
source-bucket-account-ID
:role/service-role/source-account-IAM-role
" }, "Action":["s3:ReplicateObject", "s3:ReplicateDelete"], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket
/*" }, { "Sid":"Set permissions on bucket", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source-bucket-account-ID
:role/service-role/source-account-IAM-role
" }, "Action":["s3:GetBucketVersioning", "s3:PutBucketVersioning"], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket
" } ] } -
(Opcional) Si va a replicar objetos cifrados en el servidor con SSE-KMS, el propietario de la clave de KMS debe conceder al propietario del bucket de origen permiso para usar la clave de KMS. Para obtener más información, consulte Conceder permisos adicionales para escenarios que afectan a varias cuentas.
-
(Opcional) En la replicación, el propietario del objeto de origen es propietario de la réplica de manera predeterminada. Cuando los buckets de origen y destino son propiedad de diferentes Cuentas de AWS, puede agregar ajustes de configuración opcionales para cambiar la propiedad de la réplica a la Cuenta de AWS propietaria de los buckets de destino. Esto incluye la concesión del permiso
ObjectOwnerOverrideToBucketOwner
. Para obtener más información, consulte Cambiar el propietario de la réplica.