我想要将一个S3存储桶与多个Windows EC2实例上的单个目录同步。当有文件上传或删除时,我希望它能立即在所有实例上推送或删除。新实例会频繁添加/删除(每周多次)。文件也会频繁上传/删除。文件大小可能达到2GB。AWS有哪些服务或功能可以解决这个问题?
我想要将一个S3存储桶与多个Windows EC2实例上的单个目录同步。当有文件上传或删除时,我希望它能立即在所有实例上推送或删除。新实例会频繁添加/删除(每周多次)。文件也会频繁上传/删除。文件大小可能达到2GB。AWS有哪些服务或功能可以解决这个问题?
是的,我已经使用了AWS CLI S3 "sync"命令来保持本地服务器内容与S3更改同步。它允许将本地目标目录的文件与存储桶或前缀同步。
http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html编辑:以下答案是将EC2与S3 Bucket同步,源:EC2&目标:Bucket。
如果只针对一个实例,则只需使用aws cli sync
(带有--delete选项)即可同时将文件放入S3存储桶并删除。
但是这里的情况是针对多个实例,因此如果我们使用aws s3 sync
和--delete
选项,就会出现问题。
简单地解释一下,考虑实例I1,其中包含要与Bucket同步的文件a.jpg和b.jpg。现在,CRON
作业已将文件与S3存储桶同步。
现在我们有实例I2,其中包含文件c.jpg和d.jpg。
因此,当此实例的CRON
作业运行时,它会放置文件c.jpg和d.jpg,并删除文件a.jpg和b.jpg,因为这些文件不存在于实例I2中。
因此,为了纠正问题,我们有两种方法:
aws s3 rm
)。