Quiero transferir datos entre dos buckets de Amazon Simple Storage Service (Amazon S3) como una tarea única o como una sincronización programada. ¿Cómo puedo configurar una operación de copia o sincronización entre buckets mediante AWS Data Pipeline?
Solución
Nota: El uso de Data Pipeline es una opción para transferir datos entre buckets de S3. Otras opciones incluyen usar Operaciones por lotes de S3, habilitar la replicación o ejecutar los comandos cp o sync en la interfaz de la línea de comandos de AWS (AWS CLI).
Nota: Si se muestran errores al ejecutar los comandos de la AWS CLI, asegúrese de utilizar la versión más reciente de la AWS CLI.
1. Confirme que su usuario o rol de AWS Identity and Access Management (IAM) tiene los permisos necesarios para usar Data Pipeline.
2. Inicie sesión en la consola de AWS Data Pipeline con su usuario o rol de IAM. Confirme que la consola esté configurada en una región de AWS que admita Data Pipeline.
Importante: No es necesario que los buckets de origen y destino estén en la misma región. Los buckets de S3 tampoco tienen que estar en la misma región que la canalización. Sin embargo, dado que las transferencias de datos entre regiones tienen costes, asegúrese de revisar los precios de transferencia de datos de Amazon S3.
3. Elija Crear canalización.
4. En Nombre, introduzca un nombre para la canalización.
5. En Origen, seleccione Crear con una plantilla. A continuación, seleccione Ejecutar el comando de AWS CLI.
6. En el comando de AWS CLI, para configurar una operación de copia, introduzca el siguiente comando:
aws s3 cp s3://source-AWSDOC-EXAMPLE-BUCKET1 s3://destination-AWSDOC-EXAMPLE-BUCKET2
Nota: El comando “copy” sobrescribe todos los objetos del bucket de destino que tengan el mismo nombre de clave que los objetos del bucket de origen.
Para configurar una operación de sincronización, introduzca el siguiente comando:
aws s3 sync s3://source-AWSDOC-EXAMPLE-BUCKET1 s3://destination-AWSDOC-EXAMPLE-BUCKET2
Nota: El comando “sync” compara los buckets de origen y destino y, a continuación, transfiere solo la diferencia.
7. En Ejecutar, seleccione **durante la activación de la canalización ** para realizar un trabajo único de copia o sincronización. O bien, seleccione durante una programación para realizar una copia o sincronización programada y, a continuación, complete los campos Ejecutar todos, Inicio y Finalización según su caso práctico.
8. En Crear registro, puede seleccionar Habilitado y, a continuación, introducir una ubicación de S3 para los registros. O bien, si no quiere crear registros, puede seleccionar Deshabilitado.
9. En los roles de IAM, puede seleccionar el rol predeterminado o el rol personalizado. El rol predeterminado tiene permisos de Amazon S3 para s3:CreateBucket, s3:DeleteObject, s3:Get*, s3:List* y s3:Put*.
Nota: Si los buckets tienen un cifrado predeterminado con AWS Key Management Service (AWS KMS), asegúrese de que se concedan los permisos adecuados. Debe conceder los permisos adecuados para usar la clave de AWS KMS para el rol de Data Pipeline.
10. Seleccione Activar.
Nota: Si lo desea, puede optimizar el rendimiento creando varias canalizaciones para cada prefijo a nivel de raíz de su bucket.
Información relacionada
Roles de IAM para AWS Data Pipeline
¿Cómo puedo mejorar el rendimiento de la transferencia del comando sync en Amazon S3?
¿Cómo puedo copiar objetos S3 de otra cuenta de AWS?
¿Cómo puedo proporcionar acceso entre cuentas a los objetos que se encuentran en los buckets de Amazon S3?