Как синхронизировать корзину AWS S3 с файлами на удаленном сервере, отличном от AWS? - PullRequest
0 голосов
/ 11 апреля 2019

Я хочу синхронизировать корзину AWS S3 с файлами на удаленном сервере, не поддерживающем AWS. У меня есть правильный доступ как к удаленному серверу, так и к экземпляру EC2, который имеет доступ к корзине S3. Каков наилучший способ сделать это?

Я посмотрел документы для команды aws s3 sync, и похоже, что вы можете синхронизировать корзину S3 только с файлами локально на сервере, который имеет доступ к корзине S3.

Проблема в том, что у меня есть файлы на удаленном сервере, которые я хочу синхронизировать с корзиной S3, но этот сервер не является экземпляром AWS EC2.

Я могу использовать команду rsync для передачи файлов с удаленного сервера на сервер AWS, который имеет доступ к корзине S3, но если я выполню команду rsync, а затем команду aws s3 sync, затем это становится двухэтапным процессом перемещения файлов, занимает примерно вдвое больше времени, и поскольку файлов много, мне также придется увеличить размер тома экземпляра EC2, чтобы выполнять все файлы одновременно. Все не идеально.

Таким образом, существует ли способ синхронизации корзины S3 с удаленным сервером, который не является сервером AWS и который не имеет доступа к корзине S3, с помощью экземпляра EC2, который имеет доступ к корзине S3 как посредник? Спасибо.

1 Ответ

1 голос
/ 11 апреля 2019

Самый простой подход - использовать sshfs. Эта ссылка содержит подробные инструкции, но основной процесс выглядит следующим образом:

  1. Создайте локальный каталог, в который вы будете монтировать удаленную систему, например /tmp/syncmount
  2. Выполнить sshfs USER@REMOTE:DIRECTORY /tmp/syncmount
  3. Выполнить s3sync /tmp/syncmount s3://YOUR_BUCKET

Я предполагаю, что если у вас есть доступ rsync, у вас будет общий доступ по SSH.

...