我想在多个Windows EC2实例上将S3存储桶与单个目录同步。从存储桶上传或删除文件时,我希望它可以立即从所有实例中推送或删除。将频繁添加/删除新实例(每周多次)。文件也会经常上传/删除。文件大小最大可达2GB。 AWS服务或功能可以解决这个问题?
答案 0 :(得分:1)
根据您所描述的内容,我将针对此问题提出以下解决方案。
您需要为SNS
更改通知创建S3
主题。然后你需要一个脚本,它将从你的机器订阅这个主题。此脚本将根据S3
的更改更新计算机上的文件。它应该支持基本的CRUD操作。
运行此脚本,然后在使用上述S3
开始时将aws-cli
的内容同步到您的计算机。
答案 1 :(得分:0)
是的,我使用了aws cli s3" sync"命令通过S3更改保持本地服务器的内容更新。它允许本地目标目录的文件与存储桶或前缀同步。 http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html
答案 2 :(得分:-1)
编辑:以下答案是将EC2与S3 Bucket同步,来源:EC2&目的地:Bucket。
如果只有一个实例,则只有aws cli sync
(带 - 删除选项)才能同时使用:将文件放入S3存储桶并删除。
但这里的情况是多个实例,因此如果我们使用aws s3 sync
选项--delete
,则会出现问题。
要简单解释一下,请考虑实例 I1 ,文件 a.jpg & b.jpg 将同步到Bucket。
现在,CRON
作业已将文件与S3存储桶同步。
现在我们有实例 I2 ,其中包含文件 c.jpg & D.JPG 。
因此,当此实例的CRON
作业运行时,它会放置文件 c.jpg & d.jpg 并删除文件 a.jpg & b.jpg ,因为这些文件在实例 I2 中不存在。
因此,为了纠正这个问题,我们有两种方法:
aws s3 rm
)。