Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
¿Cómo utilizo DataSync para transferir datos hacia o desde una ubicación de Amazon S3 entre cuentas?
Quiero usar AWS DataSync para transferir datos hacia o desde un bucket entre cuentas de Amazon Simple Storage Service (Amazon S3).
Descripción corta
AWS DataSync es totalmente compatible con las transferencias de S3 entre cuentas. Puedes supervisar la ejecución de las tareas en la consola de DataSync.
Nota: Si tu bucket está cifrado y utiliza el cifrado del lado del servidor con claves de AWS Key Management Service (AWS KMS) (SSE-KMS) con claves administradas por el cliente, se requiere una configuración adicional.
Resolución
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulte Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.
Creación de un rol de IAM en la cuenta de origen
La cuenta de origen necesita dos conjuntos de permisos para poder realizar una transferencia entre cuentas:
- Permisos de usuario que permiten a un usuario trabajar con DataSync y crear ubicaciones, roles y tareas de DataSync.
- Permisos de DataSync que permiten a DataSync transferir datos al bucket de tu cuenta de destino.
Para conceder permisos de usuario a la cuenta de origen que crea el rol de IAM, adjunta la siguiente política al rol de IAM:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SourceUserRolePermissions", "Effect": "Allow", "Action": [ "datasync:CreateLocationS3", "datasync:CreateTask", "datasync:DescribeLocation*", "datasync:DescribeTaskExecution", "datasync:ListLocations", "datasync:ListTaskExecutions", "datasync:DescribeTask", "datasync:CancelTaskExecution", "datasync:ListTasks", "datasync:StartTaskExecution", "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy", "iam:ListRoles", "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": [ "datasync.amazonaws.com" ] } } } ] }
Para crear un rol de IAM de Datasync en tu cuenta de origen con los permisos necesarios, adjunta la siguiente política al rol de IAM:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Effect": "Allow", "Resource": "arn:aws:s3:::destination-bucket" "Condition": { "StringEquals": { "aws:ResourceAccount": "123456789012" } } }, { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:GetObjectTagging", "s3:GetObjectVersion", "s3:GetObjectVersionTagging", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:PutObjectTagging" ], "Effect": "Allow", "Resource": "arn:aws:s3:::destination-bucket/*" "Condition": { "StringEquals": { "aws:ResourceAccount": "123456789012" } } } ] }
Nota: Sustituye ResourceAccount por el ID de cuenta de la cuenta propietaria del bucket de Amazon S3 que especifiques en la política.
Agrega la siguiente relación de confianza al rol de IAM de DataSync:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "datasync.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Actualización de la política de bucket de destino
Para conceder acceso al rol de IAM desde la cuenta de origen, modifica la política de bucket de S3 de tu cuenta de destino:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DataSyncCreateS3LocationAndTaskAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:role/datasync-role-name" }, "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:PutObjectTagging" ], "Resource": [ "arn:aws:s3:::destination-bucket", "arn:aws:s3:::destination-bucket/*" ] } ] }
Desactivación de las ACL en el bucket de destino
En tu cuenta de destino, sigue estos pasos:
- Abre la consola de Amazon S3.
- Selecciona tu bucket de destino.
- En la pestaña Permisos, en Propiedad del objeto, elige Editar.
- Selecciona las ACL desactivadas (recomendado).
- Selecciona Guardar cambios.
Creación de ubicaciones de DataSync
En la cuenta de origen, sigue estos pasos:
- Abre la consola de DataSync.
- En el panel de navegación, expande Transferencia de datos.
- Elige Ubicaciones y, a continuación, elige Crear ubicación.
- En Tipo de ubicación, elige Amazon S3 y, a continuación, selecciona Bucket de uso general.
- En URI de S3, introduce o elige el bucket y el prefijo que quieres usar para tu ubicación.
- En Clase de almacenamiento de S3 cuando se usa como destino, elige la clase de almacenamiento que desees que usen tus objetos cuando Amazon S3 sea un destino de transferencia.
- Elige un rol de IAM personalizado que hayas creado.
- (Opcional) Elige Agregar nueva etiqueta para etiquetar tu ubicación de Amazon S3.
Nota: Se recomienda crear una etiqueta con el nombre de tu ubicación. - Selecciona Crear ubicación.
- Ejecuta el siguiente comando en AWS CloudShell o en la AWS CLI para crear una ubicación para el bucket de destino:
aws datasync create-location-s3 \ --s3-bucket-arn arn:aws:s3:::destination-bucket \ --s3-config BucketAccessRoleArn=arn:aws:iam::source-account-id:role/datasync-role-name \ --region destination-bucket-region
Nota: No puedes crear ubicaciones entre cuentas en la consola de AWS DataSync.
Creación y ejecución de una tarea de DataSync
Nota: Para las transferencias entre regiones, crea la tarea en la cuenta de origen en la misma región de AWS que el bucket de destino.
Sigue estos pasos:
- Abre la consola de DataSync en tu cuenta de origen.
- En el panel de navegación, expande Transferencia de datos.
- Selecciona Tareas y, a continuación, elige Crear tarea.
- Si el bucket de tu cuenta de destino está en una región diferente al bucket de tu cuenta de origen, elige la región del bucket de destino.
- En la página Configurar la ubicación de origen, realiza las siguientes acciones.
Selecciona Elegir una ubicación existente.
(Para transferencias entre regiones) En el menú desplegable Región, elige la región en la que reside el bucket de origen.
En Ubicaciones existentes, elige la ubicación de origen del bucket de S3 desde el que estás transfiriendo los datos y, a continuación, elige Siguiente. - En la página Configurar ubicación de destino, realiza las siguientes acciones.
Selecciona Elegir una ubicación existente.
En Ubicaciones existentes, elige la ubicación de destino del bucket de S3 al que estás transfiriendo los datos y, a continuación, selecciona ** Siguiente**. - En la página Configurar ajustes, elige un modo de tarea.
Nota: Se recomienda usar el modo Mejorado. Para obtener más información, consulta Elección de un modo de tarea para la transferencia de datos. - Introduce un nombre para la tarea y configura los ajustes adicionales, como el grupo de registro de Amazon CloudWatch.
- Selecciona Siguiente.
- En la página Revisar, revisa la configuración y, a continuación, selecciona Crear tarea.
- En la página de detalles de la tarea, elige Iniciar y, a continuación, elige una de las siguientes opciones:
Para ejecutar la tarea sin modificaciones, elige Comenzar con los valores predeterminados.
Para modificar la tarea antes de ejecutarla, elige Empezar con opciones de anulación.
Información relacionada
Tutorial: transferencia de datos entre buckets de Amazon S3 entre cuentas de AWS
Cómo usar AWS DataSync para migrar datos entre buckets de Amazon S3
- Etiquetas
- AWS DataSync
- Idioma
- Español

Contenido relevante
- preguntada hace 5 meses
- preguntada hace 3 meses