簡體   English   中英

如何將 AWS S3 存儲桶與遠程非 AWS 服務器上的文件同步?

[英]How do I sync an AWS S3 bucket with files on a remote non-AWS server?

我想將 AWS S3 存儲桶與遠程非 AWS 服務器上的文件同步。 我有權訪問遠程服務器和有權訪問 S3 存儲桶的 EC2 實例。 做這個的最好方式是什么?

我查看了aws s3 sync命令的文檔,看起來您只能將 S3 存儲桶與有權訪問 S3 存儲桶的服務器上的本地文件同步。

問題是,我在遠程服務器上有文件,我想將其與 S3 存儲桶同步,但該服務器不是 AWS EC2 實例。

我可以使用rsync命令將文件從遠程服務器獲取到有權訪問 S3 存儲桶的 AWS 服務器上,但是如果我執行rsync命令,然后執行aws s3 sync命令,那么它就變成了兩步移動文件的過程,大約需要兩倍的時間,而且因為有很多文件,我還必須增加 EC2 實例卷的大小才能一次處理所有文件。 都不太理想。

因此,有沒有辦法通過使用可以訪問 S3 存儲桶的 EC2 實例作為中介,將 S3 存儲桶與不是 AWS 服務器且無權訪問 S3 存儲桶的遠程服務器同步? 謝謝你。

最簡單的方法是使用sshfs 這個鏈接有詳細的說明,不過基本流程如下:

  1. 創建一個本地目錄,您將在其中掛載遠程系統,例如/tmp/syncmount
  2. 運行sshfs USER@REMOTE:DIRECTORY /tmp/syncmount
  3. 運行s3sync /tmp/syncmount s3://YOUR_BUCKET

我假設如果您具有rsync訪問權限,您將具有一般的 SSH 訪問權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM