如何将 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
。 This link有详细说明,但基本流程如下:
- 创建一个本地目录,您将在其中安装远程系统,例如
/tmp/syncmount
- 运行
sshfs USER@REMOTE:DIRECTORY /tmp/syncmount
- 运行
s3sync /tmp/syncmount s3://YOUR_BUCKET
我假设如果您有 rsync
访问权限,您将有一般的 SSH 访问权限。
我想将 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
。 This link有详细说明,但基本流程如下:
- 创建一个本地目录,您将在其中安装远程系统,例如
/tmp/syncmount
- 运行
sshfs USER@REMOTE:DIRECTORY /tmp/syncmount
- 运行
s3sync /tmp/syncmount s3://YOUR_BUCKET
我假设如果您有 rsync
访问权限,您将有一般的 SSH 访问权限。