Ответ 1
Вы не можете SCP.
Самый быстрый способ, если вы не против тратить деньги, вероятно, просто отправить их им на диск, и они выложит его для вас. См. Их Импорт/Экспорт.
Мне нужно отправить файлы резервных копий ~ 2 ТБ на S3. Я думаю, что самым простым вариантом было бы командование Linux scp (трудность с s3cmd и не хочу, чтобы это переваривало java/RoR).
Однако я не уверен, что это возможно: как использовать закрытые и открытые ключи S3 с scp и не знать, какой будет мой IP-адрес/URL-адрес назначения?
Я ценю ваши намеки.
Вы не можете SCP.
Самый быстрый способ, если вы не против тратить деньги, вероятно, просто отправить их им на диск, и они выложит его для вас. См. Их Импорт/Экспорт.
По состоянию на 2015 год SCP/SSH не поддерживается (и, вероятно, никогда не будет по причинам, упомянутым в других ответах).
Официальные инструменты AWS для копирования файлов в/из S3:
инструмент командной строки (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
Веб-интерфейс:
Методы без AWS
Любые другие решения зависят от сторонних исполняемых файлов (например, botosync, jungledisk...), которые могут быть большими, пока они поддерживаются. Но сторонние инструменты приходят и уходят с годами, и ваши сценарии будут иметь более короткий срок хранения.
EDIT: На самом деле, AWS CLI основан на ботокоре:
https://github.com/boto/botocore
Так что ботосинск заслуживает большего уважения как старший государственный деятель, чем я, возможно, дал его.
Вот только для этого, 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/
Почему бы вам не отсканировать его до тома EBS, а затем использовать s3cmd? Пока ваш объем EBS и ведро s3 находятся в одном регионе, вы будете платить только за входящие данные за один раз (от вашей сети до объема EBS).
Я обнаружил, что один раз в сети s3 s3cmd намного надежнее, а скорость передачи данных намного выше, чем прямо на s3.
Я думаю, вы можете установить S3 в EC2 (http://michaelaldridge.info/post/12086788604/mounting-s3-within-an-ec2-instance) и сделать SCP!
Существует удивительный инструмент под названием Dragon Disk. Он работает как инструмент синхронизации даже и не просто как обычный scp.
Руководство по настройке amazon s3 предоставляется здесь, и после его настройки вы можете либо скопировать вставку файлов с вашего локального компьютера, либо s3 или настроить автоматическую синхронизацию. Пользовательский интерфейс очень похож на WinSCP или Filezilla.
для наших резервных копий AWS мы используем комбинацию двуличности и рутинной двуличимости для rsync и шифрования и trickle для ограничения скорости загрузки