Подтвердить что ты не робот

Самый быстрый/лучший способ скопировать данные между S3 в EC2?

У меня довольно большой объем данных (~ 30G, разбитый на ~ 100 файлов). Я хотел бы переходить между S3 и EC2: когда я запускаю экземпляры EC2, я хотел бы скопировать данные с S3 на EC2, как можно быстрее, и когда я закончил обработку, я хотел бы скопировать результаты на S3.

Я ищу инструмент, который сделает быструю/параллельную копию данных взад и вперед. У меня есть несколько скриптов, взломанных, включая тот, который делает приличную работу, поэтому я не ищу указателей на базовые библиотеки; Я ищу что-то быстрое и надежное.

4b9b3361

Ответ 1

Думаю, вам лучше использовать хранилище Elastic Block Store для хранения ваших файлов вместо S3. EBS похож на "диск" на S3, который может быть установлен в ваш экземпляр EC2 без необходимости копировать данные каждый раз, тем самым позволяя вам сохранять ваши данные между экземплярами EC2 без необходимости писать или считывать с S3 каждый раз.

http://aws.amazon.com/ebs/

Ответ 2

К сожалению, предложение Адама не будет работать, поскольку его понимание EBS неверно (хотя я бы хотел, чтобы он был прав и часто думал, что он должен работать таким образом)... поскольку EBS не имеет ничего общего с S3, но это будет только дает вам "внешний диск" для экземпляров EC2, которые являются отдельными, но подключаются к экземплярам. Вам все равно придется копировать между S3 и EC2, хотя между ними нет затрат на передачу данных.

Вы не указали операционную систему своего экземпляра, поэтому я не могу предоставить конкретную информацию. Популярным инструментом командной строки, который я использую, является http://s3tools.org/s3cmd... он основан на Python и поэтому, согласно информации на его веб-сайте, он должен работать как на Win, так и на Linux, хотя я все время использую его в Linux. Вы можете легко взломать быстрый script, который использует встроенную команду "sync", которая работает аналогично rsync, и запускать ее каждый раз, когда вы закончите обработку ваших данных. Вы также можете использовать команды recursive put и get для получения и размещения данных только при необходимости.

Существуют графические инструменты, такие как Cloudberry Pro, которые также имеют некоторые параметры командной строки для Windows, чтобы вы могли настраивать команды расписания. http://s3tools.org/s3cmd, вероятно, самый простой.

Ответ 3

Установите s3cmd Пакет как

yum install s3cmd

или

sudo apt-get install s3cmd

в зависимости от вашей ОС

затем скопируйте данные с помощью этого

s3cmd get s3://tecadmin/file.txt

Также ls может перечислить файлы.

для более подробной информации см. this

Ответ 4

В настоящее время в инструментах командной строки AWS есть команда синхронизации, которая должна делать трюк: http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html

При запуске: aws s3 sync s3://mybucket/mylocalfolder

перед выключением: aws s3 sync/mylocalfolder s3://mybucket

Конечно, детали всегда интересны для разработки, например. как это может быть параллельно (и вы можете сделать его более параллельным и является тем, что любой более быстрый goven виртуальный характер всей установки)

Btw надеюсь, что вы все еще работаете над этим... или кто-то есть.;)

Ответ 5

Для меня лучшая форма:

wget http://s3.amazonaws.com/my_bucket/my_folder/my_file.ext

из PuTTy