如何使用 Data Pipeline 在我的 Amazon S3 存储桶之间运行一次性复制或自动定时同步?
上次更新时间:2020 年 12 月 23 日
我想通过一次性任务或定时同步的方式在两个 Amazon Simple Storage Service (Amazon S3) 存储桶之间传输数据。如何使用 AWS Data Pipeline 设置存储桶之间的复制或同步操作?
解决方法
注意:使用 Data Pipeline 是在 S3 存储桶之间传输数据的方法之一。其他方法包括使用 S3 批量操作、启用复制或通过 AWS 命令行界面 (AWS CLI) 运行 cp 或 sync 命令。
注意:如果您在运行 AWS CLI 命令时遇到错误,请确保您运行的是最新版本的 AWS CLI。
1. 确认您的 AWS Identity and Access Management (IAM) 用户或角色具有使用 Data Pipeline 的足够权限。
2. 以您的 IAM 用户或角色身份登录 AWS Data Pipeline 控制台。确认控制台设置为某个支持 Data Pipeline 的 AWS 区域。
重要事项:源存储桶和目标存储桶不需要位于同一个区域中。S3 存储桶也不需要与管道位于同一个区域中。但是,由于区域之间的数据传输会产生成本,因此请务必查看 Amazon S3 的数据传输定价。
3. 选择创建管道。
4. 对于名称,输入管道的名称。
5. 对于源,选择使用模板构建。然后选择运行 AWS CLI 命令。
6. 对于 AWS CLI 命令,要设置复制操作,请输入以下命令:
aws s3 cp s3://source-AWSDOC-EXAMPLE-BUCKET1 s3://destination-AWSDOC-EXAMPLE-BUCKET2
注意:复制命令将会覆盖目标存储桶中任何与源存储桶中键名相同的对象。
要设置同步操作,请输入以下命令:
aws s3 sync s3://source-AWSDOC-EXAMPLE-BUCKET1 s3://destination-AWSDOC-EXAMPLE-BUCKET2
注意:同步命令将会对源存储桶和目标存储桶进行比较,然后仅传输有差异的数据。
7. 对于运行,一次性复制或同步作业应选择在管道激活时。定时复制或同步应选择按计划,然后根据您的使用案例填写运行间隔、开始时间和结束时间字段。
8. 对于日志记录,您可以选择已启用,然后输入日志的 S3 位置。如果您不需要日志记录,您可以选择已禁用。
9. 对于 IAM 角色,您可以选择默认角色或自定义角色。默认角色拥有下列 Amazon S3 权限:s3:CreateBucket、s3:DeleteObject、s3:Get*、s3:List* 和 s3:Put*。
注意:如果存储桶使用 AWS Key Management Service (AWS KMS) 进行了默认加密,请确保授予了适当的权限。必须向数据管道角色授予使用 AWS KMS 密钥的适当权限。
10. 选择激活。
注意:您还可以为存储桶中的每个根级前缀创建多个管道,从而优化性能。