Какой практичный способ отразить ведро Amazon S3?

Я хочу отразить свои ведра Amazon S3. Я хочу сделать это, потому что 1) я не хочу, чтобы все мои данные существовали только у одного поставщика; и 2) в случае ошибки программного обеспечения или нарушения безопасности я хочу сделать резервную копию данных.

Я могу зеркалировать на локальный диск с помощью функции синхронизации s3cmd, но она не масштабируется для очень больших сегментов и не используется для быстрого восстановления из резервной копии. Я бы предпочел, чтобы мои данные были отражены для конкурента, такого как Rackspace Cloud Files.

У кого-нибудь есть предложения по простому и надежному способу автоматизировать такое зеркалирование на Linux-боксе?

7 ответов

Вы можете использовать утилиту " s3cmd " с опцией "sync", хотя я наткнулся на ваш вопрос, потому что я пытаюсь выяснить, не испортил ли этот механизм синхронизации мои резервные копии двойственности.

У Amazon теперь есть поддерживаемый инструмент для этого, aws cli.

Он может отражать либо в направлении между локальным и удаленным, либо между двумя местоположениями s3.

К сожалению, он не имеет прямой поддержки для не-S3 локаций, таких как стоечное пространство, но я подумал, что это будет полезным ответом для некоторых, кто найдет этот вопрос. Как я, прежде чем я нашел это.

Особенно,

aws s3 sync s3://some/s3/path /some/local/path

У меня возникла та же проблема, поэтому я разработал небольшую программу, специально разработанную для зеркалирования одного сегмента S3 в другой; Я называю это s3s3mirror.

Сначала я попробовал подход "s3cmd sync", но у меня было ведро с сотнями тысяч объектов, и "s3cmd sync" просто сидел там, ничего не делая, но занимая все больше и больше памяти, пока моя система не умерла. Я разработал s3s3mirror, чтобы сразу приступить к работе, использовать 100 одновременных потоков (настраиваемых) и скромно использовать процессор и память. Если я сам так скажу, это чертовски быстро.

Я сделал это доступным на github под лицензией Apache. Если вы решите повернуть его, пожалуйста, дайте мне знать, что вы думаете, и если есть что-то, что можно улучшить.

Вот ссылка: https://github.com/cobbzilla/s3s3mirror

Спасибо!

  • Джонатан.

Вы можете настроить сервер Minio, открытый исходный код и S3-совместимый API. Вы можете настроить его на EC2 или на любом облачном провайдере в качестве альтернативного сервера и с помощью клиентов Minio.mc mirror Команда периодически бери зеркало S3. Вы можете автоматизировать то же самое, написав простой скрипт cron.

Надеюсь, поможет. Отказ от ответственности: я работаю на Minio

Вы можете попробовать установить ведра с предохранителем, используя s3fs. После этого вы можете rsync из точки монтирования на локальный диск.

Проверьте сервер джунглей. Он работает с Amazon S3 и Rackspace Cloud Files. Вы можете смонтировать S3 и CF в разных местах вашей файловой системы, а затем использовать rsync между ними.

Для онлайн-синхронизации сегментов вы можете использовать межрегиональную репликацию. Таким образом, все обновления оригинальной корзины будут автоматически синхронизированы с корзиной S3 в другом регионе: https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html

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

Другие вопросы по тегам