如何将AWS S3存储桶与远程非AWS服务器上的文件同步?

时间:2019-04-11 14:32:38

标签: amazon-web-services amazon-s3 amazon-ec2 rsync aws-s3-sync

我想将AWS S3存储桶与远程非AWS服务器上的文件同步。我可以同时访问远程服务器和可以访问S3存储桶的EC2实例。最好的方法是什么?

我查看了aws s3 sync命令的文档,看来您只能将S3存储桶与可以访问S3存储桶的服务器上的本地文件进行同步。

问题是,我要与S3存储桶同步的远程服务器上有文件,但是该服务器不是AWS EC2实例。

我能够使用rsync命令将文件从远程服务器获取到可以访问S3存储桶的AWS服务器上,但是如果执行rsync命令,然后执行{ {1}}命令,然后它就变成了两步移动文件的过程,大约需要两倍的时间,并且由于文件很多,我还必须增加EC2实例卷的大小一次所有文件。一切都不理想。

这样,有一种方法可以通过使用可以访问S3存储桶的EC2实例,将S3存储桶与不是AWS服务器且无法访问S3存储桶的远程服务器同步,中介?谢谢。

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用sshfsThis link有详细的说明,但是基本过程如下:

  1. 创建一个用于挂载远程系统的本地目录,例如/tmp/syncmount
  2. 运行sshfs USER@REMOTE:DIRECTORY /tmp/syncmount
  3. 运行s3sync /tmp/syncmount s3://YOUR_BUCKET

我假设,如果您具有rsync访问权限,那么您将具有常规的SSH访问权限。