Статьи

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

Для архивирования ваших данных в  AWS  вы можете использовать  AWS Glacier . Этот сервис предлагает более дешевое хранилище, чем  сервис S3,  но недостатком является то, что ваши данные не будут доступны сразу же, как в S3. Восстановление данных может занять несколько часов, но если вы используете этот сервис для реальных целей архивирования, это не должно быть реальной проблемой. Позволяет настроить Glacier Vault с помощью  консоли управления . Выберите сервис Glacier в консоли управления: нажмите «Создать хранилище» и дайте ему имя: установите новую тему SNS, чтобы мы могли получать сообщения, когда действия по архивированию завершены. Если все прошло хорошо, Хранилище создано:
Снимок экрана 2013-05-14 в 14.11.08

Снимок экрана 2013-05-14 в 14.11.40

Снимок экрана 2013-05-14 в 14.12.44

Снимок экрана 2013-05-14 в 14.12.58
Вместе с хранилищем также создается новый SNS. Чтобы получать сообщения, размещенные на SNS, давайте подпишемся на него. Выберите службу SNS в консоли. Выберите только что созданную тему SNS. Теперь нажмите кнопку, чтобы создать подписку на эту тему. Я просто создаю подписку по электронной почте, чтобы каждое сообщение, опубликованное в теме, отправлялось на указанный адрес электронной почты:
Снимок экрана 2013-05-14 в 14.25.22

Снимок экрана 2013-05-14 в 14.26.25

Снимок экрана 2013-05-14 в 14.58.47

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

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

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

pascal$ echo 42 > example.txt

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

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

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

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

Now remove the local file and restore the archived one:

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

After a few hours the job is finished and we can access the local file ‘example.txt’ again.

pascal$ cat example.txt
42

And in the mail I find the following notification telling me the archive file is ready for retrieval:

{"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"}
--
...

There is of course a lot more to tell about AWS Glacier. This page will be a good next step to get familiair with Glacier.