7

What is the easiest way to duplicate an entire Amazon S3 bucket to a bucket in a different account? Ideally, we'd like to duplicate the bucket nightly to a different account in Amazon's European data center for backup purposes.

4

6 回答 6

3

要考虑的一件事是,您可能希望在 Amazon EC2 虚拟机中运行任何执行此操作的程序。如果您的备份在 Amazon 的云之外运行,那么您需要为双向数据传输付费。如果您在 EC2 虚拟机中运行,则无需支付带宽费用(尽管我不确定在北美和欧洲商店之间移动时这是否属实) - 仅适用于 EC2 实例运行的时间(以及任何它存储 EC2 虚拟机的成本,我认为应该是最低的)。

于 2009-05-03T20:57:17.810 回答
1

I suspect there is no "automatic" way to do this. You'll just have to write a simple app that moves the files over. Depending on how you track the files in S3 you could move just the "changes" as well.

On a related note, I'm pretty sure Amazon does a darn good job backup up the data so I don't think you necessarily need to worry about data loss, unless your back up for archival purposes, or you want to safeguard against accidentally deleting files.

于 2009-05-03T20:11:38.530 回答
1

您可以创建一个应用程序或服务,负责为AmazonS3Client源创建两个实例,另一个为目标创建另一个实例,然后源AmazonS3Client开始在源存储桶中循环并流式传输对象,而目标AmazonS3Client将它们流式传输到目标存储桶。

于 2014-01-21T10:14:44.227 回答
1

酷,我可能会考虑编写一个脚本来托管在 Ec2 上。备份的主要目的是防止我们这边的人为错误——如果用户不小心删除了存储桶或类似的东西。

于 2009-05-06T00:27:37.307 回答
1

如果您担心删除,您可能应该查看 S3 的新版本控制功能。

于 2010-02-19T14:59:46.893 回答
1

注意:这不适用于跨帐户同步,但适用于同一帐户的跨区域。

为了简单地将所有内容从一个存储桶复制到另一个存储桶,您可以使用 AWS CLI ( https://aws.amazon.com/premiumsupport/knowledge-center/move-objects-s3-bucket/ ):aws s3 sync s3://SOURCE_BUCKET_NAME s3://NEW_BUCKET_NAME

在您的情况下,您需要以下--source-region标志:https ://docs.aws.amazon.com/cli/latest/reference/s3/sync.html

如果您要移动大量数据,您可以通过寻找将传输分成不同组的方法来优化传输速度:https ://aws.amazon.com/premiumsupport/knowledge-center/s3-large-transfer-桶间/

有多种方法可以每晚运行。一个例子是 AWS 实例调度(个人未经验证)https://docs.aws.amazon.com/solutions/latest/instance-scheduler/appendix-a.html

于 2020-09-08T19:40:57.583 回答