Как подключиться к Amazon s3? - PullRequest
       5

Как подключиться к Amazon s3?

21 голосов
/ 07 сентября 2011

Мне нужно отправить резервные файлы размером ~ 2 ТБ на S3. Я полагаю, что наиболее беспроблемным вариантом была бы команда Linux scp (имейте сложность с s3cmd и не хотите, чтобы это делали java / RoR с избыточным количеством ресурсов).

Однако я не уверен, возможно ли это: как использовать закрытые и открытые ключи S3 с scp, и не знаю, каким будет мой IP-адрес / URL / путь назначения?

Я ценю ваши намеки.

Ответы [ 7 ]

34 голосов
/ 02 июня 2015

С 2015 года SCP / SSH не поддерживается (и, вероятно, никогда не будет по причинам, указанным в других ответах).

Официальные инструменты AWS для копирования файлов в / из S3

  1. инструмент командной строки (pip3 install awscli) - необходимо указывать учетные данные, я предпочитаю использовать переменные среды, а не файл: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY.

    aws s3 cp /tmp/foo/ s3://bucket/ --recursive --exclude "*" --include "*.jpg"
    

    и команда типа rsync:

    aws s3 sync . s3://mybucket
    
  2. Веб-интерфейс:

Не-AWS методы

Любые другиеРешения зависят от сторонних исполняемых файлов (например, botosync, jungledisk ...), которые могут быть хорошими, если они поддерживаются.Но инструменты сторонних производителей приходят и уходят с годами, и ваши сценарии будут иметь более короткий срок годности.CLI основан на botocore:

https://github.com/boto/botocore

Так что botosync заслуживает немного большего уважения как старший государственный деятель, чем я, возможно, дал ему.

11 голосов
/ 23 апреля 2014

Вот только что для этого, boto-rsync . Из любой системы Linux установите boto-rsync, а затем используйте его для передачи / local / path / в your_bucket / remote / path / :

boto-rsync -a your_access_key -s your_secret_key /local/path/ s3://your_bucket/remote/path/

Пути также могут быть файлами.

Для S3-совместимого провайдера, отличного от AWS, используйте --endpoint:

boto-rsync -a your_access_key -s your_secret_key --endpoint some.provider.com /local/path/ s3://your_bucket/remote/path/
8 голосов
/ 07 сентября 2011

Вы не можете SCP.

Самый быстрый способ, если вы не возражаете потратить деньги, это, вероятно, просто отправить их им на диск, и они разместят их там для вас.Смотрите их Импорт / Экспорт Сервис.

4 голосов
/ 08 сентября 2011

Почему бы вам не скопировать его на том EBS, а затем не использовать s3cmd? Пока ваш том EBS и корзина s3 находятся в одном регионе, плата за входящие данные будет взиматься только один раз (из вашей сети на том EBS)

Я обнаружил, что когда-то в сети s3, s3cmd намного надежнее и скорость передачи данных намного выше, чем напрямую к s3.

1 голос
/ 17 октября 2018

Вот, пожалуйста,

scp USER@REMOTE_IP:/FILE_PATH >(aws s3 cp - s3://BUCKET/SAVE_FILE_AS_THIS_NAME)
1 голос
/ 26 декабря 2016

Существует удивительный инструмент под названием Dragon Disk. Он работает как инструмент синхронизации даже не просто как scp.

http://www.s3 -client.com /

Руководство по настройке amazon s3 предоставляется здесь , и после его настройки вы можете скопировать, вставить файлы с локального компьютера в s3 или настроить автоматическую синхронизацию. Пользовательский интерфейс очень похож на WinSCP или Filezilla.

0 голосов
/ 07 сентября 2011

для наших резервных копий AWS мы используем комбинацию двойственности и двойственной двойственности для rsync и шифрования и мелкой струйки для ограничения скорости загрузки

...