Как скопировать Amazon EBS на S3? - PullRequest
5 голосов
/ 10 июня 2011

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

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

Снимки EBS не будут работать, поскольку они копируют весь том, и мы должны иметь возможность реплицировать каталоги отдельных клиентов по требованию.

Ответы [ 4 ]

2 голосов
/ 10 июня 2011

Вы можете написать сценарий оболочки, который будет вызывать s3cmd для синхронизации вашей локальной файловой системы с корзиной S3 всякий раз, когда новый файл загружается (или удаляется). Это будет выглядеть примерно так:

s3cmd sync  ./  s3://your-bucket/
1 голос
/ 10 июня 2011

Два способа:

  • Забудьте EBS, перенесите файлы на S3 и используйте S3 в качестве файлового менеджера, чем EBS, добавьте облачный фронт и везде используйте общую ссылку.
  • Монтируйте S3 bucket на любых компьютерах.

1. Amazon CloudFront - это веб-служба доставки контента.Он доставляет ваш статический и потоковый контент, используя глобальную сеть периферийных местоположений.

http://aws.amazon.com/cloudfront/

2. Вы можете смонтировать S3 Bucket на вашем Linux-компьютере.Смотрите ниже:

s3fs - http://code.google.com/p/s3fs/wiki/InstallationNotes - это сработало для меня.Он использует FUSE file-system + rsync для синхронизации файлов в S3.Он хранит копию всех имен файлов в локальной системе и делает его похожим на ФАЙЛ / ПАПКУ.

Таким образом, вы можете использовать корзину S3 на разных машинах.

0 голосов
/ 10 июня 2011

Лучший способ - использовать сервис Amazon Cloud Front.Вся репликация управляется как часть AWS.Контент подается из нескольких разных зон доступности, но вам не требуется, чтобы в этих зонах были тома EBS.

Amazon CloudFront доставляет статический и потоковый контент с использованием глобальной сети периферийных местоположений.Запросы для ваших объектов автоматически направляются в ближайший край, поэтому контент доставляется с максимально возможной производительностью.

http://aws.amazon.com/cloudfront/

0 голосов
/ 10 июня 2011

Зависит от того, какая ОС работает на ваших экземплярах EC2:

На самом деле нет необходимости добавлять S3 в микс, если вы не хотите хранить их там по какой-либо другой причине (например, резервное копирование).

Если вы работаете * nix, классическим выбором может быть запуск rsync и просто синхронизация между экземплярами.

В Windows вы все еще можете использовать rsync, иначе SyncToy от Microsoft - это простой бесплатный вариант.В противном случае, возможно, в этом пространстве находятся сотни коммерческих приложений ...

Если вы хотите синхронизироваться с S3, я бы предложил одно из клиентских приложений S3, таких как CloudBerry или JungleDisk, которые оба имеют функцию синхронизации..

Если вы работаете в Windows, также стоит рассмотреть DFS (распределенную файловую систему), которая обеспечивает репликацию и является частью Windows Server ...

...