Резервное копирование и восстановление контейнера BLOB-объектов Azure

Я подумываю об использовании хранилища BLOB-объектов Azure для разрабатываемой мной системы управления документами. Все BLOB-объекты (изображения, видео, word / excel / pdf и т. Д.) Будут храниться в хранилище BLOB-объектов Azure. Насколько я понимаю, мне нужно создать контейнер, и эти файлы можно будет хранить внутри контейнера.

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

Предоставляет ли Microsoft Azure какой-либо способ для такого резервного копирования и восстановления или мне нужно явно писать код таким образом, чтобы файлы хранились в двух отдельных учетных записях хранилища BLOB-объектов.


person Venky    schedule 19.12.2017    source источник


Ответы (4)


Резервное копирование Предлагается несколько решений для резервного копирования хранилища BLOB-объектов на случай, если контейнеры будут удалены. дополнительную информацию о продукте можно найти здесь: https://azure.microsoft.com/en-us/services/backup/

Избыточность

Если вас беспокоит доступность: «Данные в вашей учетной записи хранения Microsoft Azure всегда реплицируются для обеспечения надежности и высокой доступности. Репликация копирует ваши данные либо в том же центре обработки данных, либо во второй центр обработки данных, в зависимости от того, какой вариант репликации. твой выбор." , есть несколько вариантов репликации:

Локально избыточное хранилище (LRS)

Зонально-избыточное хранилище (ZRS)

Гео-избыточное хранилище (GRS)

Гео-избыточное хранилище с доступом для чтения (RA-GRS)

Более подробную информацию можно найти здесь:

https://docs.microsoft.com/en-us/azure/storage/common/storage-redundancy

Управление доступом

Наконец, управление доступом к вашей учетной записи хранения было бы лучшим способом защитить и гарантировать, что вы не потеряете свои данные. Вы можете предоставить доступ для чтения только в том случае, если не хотите, чтобы кто-либо удалял файлы, папки и т. Д., Используя SAS: подписи общего доступа, позволяющие создавать политики и предоставлять доступ на основе чтения, Запись, список, удаление и т. Д. Здесь можно увидеть быструю демонстрацию в формате GIF: https://azure.microsoft.com/en-us/updates/manage-stored-access-policies-for-storage-accounts-from-within-the-azure-portal/

person Adam Smith - Microsoft Azure    schedule 19.12.2017
comment
Избыточность не следует смешивать с резервными копиями: если вы удаляете большой двоичный объект, он мгновенно удаляется репликой (ну, по крайней мере, ставится в очередь, а после удаления основного вы теряете доступ к репликам, поставленным в очередь на удаление). И SAS не поможет предотвратить удаление, если у кого-то есть ключ доступа, как я уже отмечал. Это только для общего доступа к частным BLOB-объектам. И наконец: служба резервного копирования Azure не предназначена для резервного копирования больших двоичных объектов. - person David Makogon; 20.12.2017
comment
Да, полностью согласен, Дэвид, я упомянул 3 области, которые охватывают все углы, резервные копии по-прежнему являются лучшим способом убедиться, что ничто не будет удалено навсегда :) - person Adam Smith - Microsoft Azure; 20.12.2017
comment
Если бы служба резервного копирования работала с большими двоичными объектами, это было бы фантастически (хм - я должен опубликовать сообщение в UserVoice). Насколько мне известно, он по-прежнему не предлагает режим резервного копирования BLOB-объектов. - person David Makogon; 20.12.2017
comment
в этом потоке обсуждаются параметры резервного копирования больших двоичных объектов: stackoverflow.com/questions/11561844/ - person Adam Smith - Microsoft Azure; 20.12.2017
comment
Верно - я в курсе. Это просто показывает использование стороннего инструмента вместе с настройкой API, позволяющей выполнять асинхронное копирование большого двоичного объекта (по сравнению с синхронным копированием большого двоичного объекта, которое раньше было основным ограничением копирования хранилища). - person David Makogon; 20.12.2017

Любой, у кого есть доступ к ключу вашей учетной записи хранения (первичный или вторичный; для учетной записи хранения есть два ключа), может манипулировать учетной записью хранения любым удобным для него способом. Единственный способ убедиться, что ничего не происходит? Не давайте никому доступ к ключу (ам). Если вы поместите учетную запись хранения в группу ресурсов, для которой только у вас есть разрешения, вы, по крайней мере, не позволите другим, имеющим доступ к подписке, обнаружить учетную запись хранения и получить к ней доступ.

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

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

person David Makogon    schedule 19.12.2017
comment
Еще один дополнительный шаг для предотвращения случайного удаления контейнера - это арендовать контейнер на бесконечный период времени. Это предотвращает удаление контейнера в арендованном состоянии. Конечно, разорвать договор аренды можно одним нажатием кнопки, но все же неплохо было бы перевести контейнер в арендованное состояние. (Добавление / обновление / удаление большого двоичного объекта работает как обычно, когда контейнер находится в арендованном состоянии) - person Venky; 21.12.2017
comment
Azure также представила функцию, позволяющую сделать контейнер и его содержимое неизменяемыми в течение определенного количества дней. Это может быть удобно для соблюдения определенных правил и предотвращения случайного изменения или удаления данных. Настройка этой политики также делает контейнер защищенным от удаления. docs.microsoft.com/en-us/ лазурный / хранилище / капли / - person Venky; 03.09.2018

Мы используем blob для хранения документов и для управления документами. Чтобы предотвратить удаление большого двоичного объекта, теперь вы можете включить мягкое удаление, как описано здесь: https://azure.microsoft.com/en-us/blog/soft-delete-for-azure-storage-blobs-ga/

Вы также можете создать свою собственную автоматизацию на основе PowerShell, azcopy для инкрементного и полного резервного копирования. Последним элементом будет использование BLOB-объектов RA-GRS, где вы можете читать из вторичного BLOB-объекта в режиме чтения в другом регионе на случай, если центр обработки данных выйдет из строя.

Разработка приложений с высокой доступностью с помощью RA-GRS

https://docs.microsoft.com/en-us/azure/storage/common/storage-designing-ha-apps-with-ragrs?toc=%2fazure%2fstorage%2fqueues%2ftoc.json

person Anass Kartit    schedule 12.11.2018
comment
Спасибо, Анасс. с тех пор, как я разместил этот вопрос, было много улучшений. Мы также можем установить политику доступа для контейнера и сделать его неизменяемым хранилищем больших двоичных объектов. После установки политики капли не могут быть удалены случайно или даже принудительно. Мы должны деактивировать политику, чтобы удаление снова работало. - person Venky; 13.11.2018

Используйте Microsoft Azure Storage Explorer. Это позволит вам загружать все содержимое контейнеров больших двоичных объектов, включая папки и подпапки с большими двоичными объектами. И наоборот, вы можете загружать в контейнеры таким же образом. Просто и бесплатно!

person Bob Quinn    schedule 30.04.2018
comment
Да, я согласен. Однако во многих случаях необходим автоматический процесс. - person LuisEduardox; 17.08.2018
comment
Как восстановить контейнер в обозревателе хранилища az? - person MeowRude; 25.06.2021