[英]AWS Synchronize S3 bucket with EC2 instance
我想在多個Windows EC2實例上將S3存儲桶與單個目錄同步。 從存儲桶上傳或刪除文件時,我希望它可以立即從所有實例中推送或刪除。 將頻繁添加/刪除新實例(每周多次)。 文件也會經常上傳/刪除。 文件大小最大可達2GB。 AWS服務或功能可以解決這個問題?
根據您所描述的內容,我將針對此問題提出以下解決方案。
您需要為S3
更改通知創建SNS
主題。 然后你需要一個腳本,它將從你的機器訂閱這個主題。 此腳本將根據來自S3
更改更新計算機上的文件。 它應該支持基本的CRUD操作。
運行此腳本,然后在使用上面提到的aws-cli
開始時將S3
內容同步到您的計算機。
是的,我使用了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存儲桶並刪除。
但這里的情況是針對多個實例的 ,所以如果我們使用帶有--delete
選項的aws s3 sync
,那就會出現問題。
要簡單解釋一下,請考慮將文件a.jpg和b.jpg同步到Bucket的Instance I1 。 現在, CRON
作業已將文件與S3存儲桶同步。
現在我們有Instance I2 ,它有文件c.jpg和d.jpg 。 因此,當此實例的CRON
作業運行時,它會將文件放在c.jpg和d.jpg中 ,並刪除文件a.jpg和b.jpg ,因為這些文件在實例I2中不存在。
因此,為了糾正這個問題,我們有兩種方法:
aws s3 rm
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.