将文件从 AWS S3 传输到 S3 的最有效方法是什么?

将文件从 AWS S3 传输到 S3 的最有效方法是什么?

我在 AWS S3 存储桶中存储了大量文件。我需要将这些文件移至另一个用户拥有的、位于不同区域的另一个 S3 存储桶中。这些文件存储在我的 S3 存储桶中的不同位置 - 这些密钥(例如location1& location2)也需要转移。这两个 S3 存储桶都与 AWS EC2 Ubuntu 服务器相关联。以下是我的 S3 存储桶结构的示例:

s3://mybucket/location1/some_file
s3://mybucket/location1/some_file2
s3://mybucket/location2/some_file
etc...

考虑到这些限制,将文件从 S3 传输到 S3 的哪种方法最有效?

答案1

https://aws.amazon.com/premiumsupport/knowledge-center/account-transfer-s3/

您可以使用 S3 COPY 操作将 Amazon S3 对象从一个 AWS 账户复制到另一个 AWS 账户。您必须使用 Amazon S3 访问控制列表 (ACL) 或存储桶策略授予目标 AWS 账户对源 AWS 账户资源的访问权限。

设置跨账户 IAM 权限后,一切就和aws s3 sync s3://sourcebucket s3://destinationbucket通过 CLI 一样简单。无需中间服务器 - 一切都直接在 S3 上进行(因此速度会大大加快)。

(如果您不想要整个存储桶,CLI 也可以轻松复制单个对象)

答案2

您可以实现以下场景:

  1. 在源区域或目标区域部署临时 EC2 实例。您选择的实例越大,获得的性能越好。
  2. 在此实例上安装 S3 客户端并传输您的文件。
  3. 操作完成后,终止您的 EC2 实例。

相关内容