Статьи

Архивирование данных в AWS Glacier

Для архивирования ваших данных в AWS вы можете использовать AWS Glacier . Этот сервис предлагает более дешевое хранилище, чем сервис S3, но недостатком является то, что ваши данные не будут доступны сразу же, как в S3. Восстановление данных может занять несколько часов, но если вы используете этот сервис для реальных целей архивирования, это не должно быть реальной проблемой. Позволяет настроить Glacier Vault с помощью консоли управления . Выберите сервис Glacier в консоли управления:

Нажмите «Создать хранилище» и дайте ему имя:

Установите новую тему SNS, чтобы мы могли получать сообщения, когда действия по архивированию завершены.

Если все прошло хорошо, Хранилище создано:

Вместе с хранилищем также создается новый SNS. Чтобы получать сообщения, размещенные на SNS, давайте подпишемся на него. Выберите сервис SNS в консоли:

Выберите тему SNS, которая только что была создана:

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

Служба Glacier в Консоли управления не поддерживает функцию архивирования / восстановления файлов в Glacier и из него (как это происходит в S3). Но, конечно, есть API для использования и несколько SDK для передачи файлов. И, конечно, есть сообщество, которое вмешалось в это и создало множество инструментов на основе GUI и CLI. Я просто выбрал один из них и установил его.
После установки и настройки Glacier-cli я могу проверить, найдено ли созданное хранилище:

1
2
pascal$ ./glacier.py --region eu-west-1 vault list
PascalBackuPVault

Позволяет положить некоторые данные в хранилище. Я использую пример инструмента CLI в качестве вдохновения. Создайте локальный файл:

1
pascal$ echo 42 > example.txt

Загрузите файл в хранилище, созданное ранее:

1
pascal$ ./glacier.py --region eu-west-1 archive upload PascalBackuPVault example.txt

Давайте проверим, находится ли файл в хранилище:

1
2
pascal$ ./glacier.py --region eu-west-1 archive list PascalBackuPVault
example.txt

Теперь удалите локальный файл и восстановите архив:

1
2
3
4
5
6
7
8
pascal$ rm example.txt
pascal$ ./glacier.py --region eu-west-1 archive retrieve PascalBackuPVault example.txt
glacier: queued retrieval job for archive 'example.txt'
pascal$ ./glacier.py --region eu-west-1 archive retrieve PascalBackuPVault example.txt
glacier: job still pending for archive 'example.txt'
pascal$ ./glacier.py --region eu-west-1 job list
a/p 2013-05-20T18:40:25.107Z PascalBackuPVault example.txt
pascal$ ./glacier.py --region eu-west-1 archive retrieve --wait PascalBackuPVault example.txt

Через несколько часов работа завершена, и мы снова можем получить доступ к локальному файлу «example.txt».

1
2
pascal$ cat example.txt
42

И в письме я нахожу следующее уведомление о том, что архивный файл готов к поиску:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
{"Action":"ArchiveRetrieval"
,"ArchiveId":"CggVcXvaWKfRn5tDR_UKna0GsYyXyZzlALPvjEFkcLdRq4NRBXra36m7hBOJSNCbOmEkQ04VoyTQyMt_
pXdrNggms13e3vjUqwW3tZwps8BiA1gprQQZyUQPDwwWkuKAFZoqahzA-g"
,"ArchiveSHA256TreeHash":
"084c799cd551dd332d5c5f9a5d593b2e931f5e36122ee5c793c1d08a19839cc0"
,"ArchiveSizeInBytes":3
,"Completed":true
,"CompletionDate":"2013-05-20T22:40:31.040Z"
,"CreationDate":"2013-05-20T18:40:25.107Z"
,"InventorySizeInBytes":null
,"JobDescription":null
,"JobId":"rxRUKT0QVWyOEMu4VYW_zrhXXYZC0ZrVo63sCtQJDBpFyhO-pPRJ7Z_Af02Hvn-bge-yGrKzRw78xG9d-Nvxjv2LcQho"
,"RetrievalByteRange":"0-2"
,"SHA256TreeHash":
"084c799cd551dd1d6e535f9a5d593b2e931f5e36122ee5c793c1d08a19839cc0"
,"SNSTopic":null
,"StatusCode":"Succeeded"
,"StatusMessage":"Succeeded"
,"VaultARN":"arn:aws:glacier:eu-west-1:678658091597:vaults/PascalBackuPVault"}
--
...

Конечно, о AWS Glacier можно рассказать гораздо больше. Эта страница станет хорошим следующим шагом для знакомства с Glacier.

Ссылка: архивирование данных в AWS Glacier от нашего партнера по JCG Паскаля Альмы в блоге Pragmatic Integrator .