Статья взята с http://habrahabr.ru
1. Первым делом, памятуя о том, что сервис платный, подсчитываем расходы
Воспользуемся калькулятором, любезно предоставленным нам Amazon'ом.
В меню слева выбираем Amazon S3, убираем галочку с FREE INBOUND и заполняем необходимые поля (там всё предельно просто). Заполнив, жмём Add to bill и изучаем цену в окне справа. Так, например, при хранении 100 Gb данных, закачивании 20 Gb в месяц и скачивании 2 Gb в месяц мы платим около 17 долларов, что по мне является вполне приемлемой платой за спокойствие. Если необходимые вам объёмы на порядок меньше (что, подозреваю, так и будет), то и плата становится равной нескольким долларам. Рискну предположить, что это будет не сильно напряжно для бюджета. Если вы считаете так же, идём далее.
2. Подписываемся на сервис Amazon Simple Storage Services (S3)
На странице сервиса нажимаем Sign Up For Amazon S3.
Если у вас нет аккаунта в Amazon Web Services, выбираем I am a new user, иначе вводим свой пароль к аккаунту в предлагаемую форму.
Для регистрации в AWS вводим своё имя, почтовый адрес, пароль и создаём аккаунт.
Следующей страницей будет уже регистрация собственно в S3: снова вводим почтовый адрес, принимаем соглашение и попадаем на страницу с информацией о тарифах и выбором метода платежа.
Вбиваем данные своей кредитки и биллинговый адрес. Ещё разок окидываем заполненную анкету взглядом и жмём Complete Sign Up.
Теперь остаётся немного подождать, пока на почту придёт письмо с подтверждением того, что аккаунт активирован и доступен.
3. Получаем ключи доступа к сервису
Заходим в раздел безопасности аккаунта и в пункте Access Credentials -> Access Keys видим необходимый нам для авторизации ключ (пара Access Key ID — Secret Access Key). Он нам понадобится при настройке бекапа на сервере.
4. Устанавливаем утилиту для работы с S3
Для Debian и Ubuntu есть в репозиториях:
5. Выполняем начальную конфигурацию утилиты
Под тем пользователем, из-под которого в дальнейшем будем выполнять резервное копирование:
Выбираем использовать или нет HTTPS и прокси.
После ввода всех настроек конфигуратор предложит протестировать соединение. Соглашаемся, и после успешного прохождения теста соглашаемся сохранить настройки в конфигурационный файл.
Теперь s3cmd готов к работе.
6. Подготавливаем S3
Создаём хранилище, так называемый bucket:
--bucket-location=EU — bucket создаётся в европейском хранилище (от Москвы, где у меня сервер, будет поближе). Если вам ближе США, то вместо EU пишем US.
mybucketname — имя хранилища, должно быть уникальным среди всех (не только ваших) хранилищ.
Проверяем:
7. Собственно, бекапим
s3cmd имеет режим работы а-ля rsync, что в случае простейшего бекапа получается очень удобно:
Первые два параметра описаны выше.
--guess-mime-type — подбирать MIME-тип содержимого исходя из раширения.
--delete-removed — удалять файлы в хранилище, если они были удалены из локальной папки.
Далее указана локальная папка, в которой лежат бекапы на сервере (вы же делаете локальные бекапы, правда?) и папка, в которую бекапить на s3 (если её ещё нет — создастся автоматически).
Подставляем нужные вам параметры, запускаем, проверяем что всё закачивается куда нужно:
Размер файла в S3 не должен превышать 5 Gb. Если ваша система бекапов делает файлы большего размера, то её придётся немного модифицировать, например, пропуская архивы через split.
8. Добавляем запуск команды синхронизации в вашу систему изготовления локальных бекапов или просто в cron.
Как восстановить данные?
Чтобы восстановить все данные из S3, в команде синхронизации меняем местами источник и цель, не забывая убрать удаление отсутсвующих файлов:
Либо, для восстановления одного файла, воспользуемся командой get:
1. Первым делом, памятуя о том, что сервис платный, подсчитываем расходы
Воспользуемся калькулятором, любезно предоставленным нам Amazon'ом.
В меню слева выбираем Amazon S3, убираем галочку с FREE INBOUND и заполняем необходимые поля (там всё предельно просто). Заполнив, жмём Add to bill и изучаем цену в окне справа. Так, например, при хранении 100 Gb данных, закачивании 20 Gb в месяц и скачивании 2 Gb в месяц мы платим около 17 долларов, что по мне является вполне приемлемой платой за спокойствие. Если необходимые вам объёмы на порядок меньше (что, подозреваю, так и будет), то и плата становится равной нескольким долларам. Рискну предположить, что это будет не сильно напряжно для бюджета. Если вы считаете так же, идём далее.
2. Подписываемся на сервис Amazon Simple Storage Services (S3)
На странице сервиса нажимаем Sign Up For Amazon S3.
Если у вас нет аккаунта в Amazon Web Services, выбираем I am a new user, иначе вводим свой пароль к аккаунту в предлагаемую форму.
Для регистрации в AWS вводим своё имя, почтовый адрес, пароль и создаём аккаунт.
Следующей страницей будет уже регистрация собственно в S3: снова вводим почтовый адрес, принимаем соглашение и попадаем на страницу с информацией о тарифах и выбором метода платежа.
Вбиваем данные своей кредитки и биллинговый адрес. Ещё разок окидываем заполненную анкету взглядом и жмём Complete Sign Up.
Теперь остаётся немного подождать, пока на почту придёт письмо с подтверждением того, что аккаунт активирован и доступен.
3. Получаем ключи доступа к сервису
Заходим в раздел безопасности аккаунта и в пункте Access Credentials -> Access Keys видим необходимый нам для авторизации ключ (пара Access Key ID — Secret Access Key). Он нам понадобится при настройке бекапа на сервере.
4. Устанавливаем утилиту для работы с S3
Для Debian и Ubuntu есть в репозиториях:
apt-get install s3cmd
5. Выполняем начальную конфигурацию утилиты
Под тем пользователем, из-под которого в дальнейшем будем выполнять резервное копирование:
s3cmd --configureВводим Access Key, Secret Key, пароль для шифрования, путь к программе GPG.
Выбираем использовать или нет HTTPS и прокси.
После ввода всех настроек конфигуратор предложит протестировать соединение. Соглашаемся, и после успешного прохождения теста соглашаемся сохранить настройки в конфигурационный файл.
Теперь s3cmd готов к работе.
6. Подготавливаем S3
Создаём хранилище, так называемый bucket:
# s3cmd --acl-private --bucket-location=EU mb s3://mybucketname Bucket 'mybucketname' created--acl-private — доступ только для нас
--bucket-location=EU — bucket создаётся в европейском хранилище (от Москвы, где у меня сервер, будет поближе). Если вам ближе США, то вместо EU пишем US.
mybucketname — имя хранилища, должно быть уникальным среди всех (не только ваших) хранилищ.
Проверяем:
# s3cmd la Bucket 'mybucketname':
7. Собственно, бекапим
s3cmd имеет режим работы а-ля rsync, что в случае простейшего бекапа получается очень удобно:
s3cmd --acl-private --bucket-location=EU --guess-mime-type --delete-removed sync /local/backup/dir/ s3://mybucketname/backupfolderЧто есть что:
Первые два параметра описаны выше.
--guess-mime-type — подбирать MIME-тип содержимого исходя из раширения.
--delete-removed — удалять файлы в хранилище, если они были удалены из локальной папки.
Далее указана локальная папка, в которой лежат бекапы на сервере (вы же делаете локальные бекапы, правда?) и папка, в которую бекапить на s3 (если её ещё нет — создастся автоматически).
Подставляем нужные вам параметры, запускаем, проверяем что всё закачивается куда нужно:
s3cmd ls s3://mybucketname
Размер файла в S3 не должен превышать 5 Gb. Если ваша система бекапов делает файлы большего размера, то её придётся немного модифицировать, например, пропуская архивы через split.
8. Добавляем запуск команды синхронизации в вашу систему изготовления локальных бекапов или просто в cron.
Как восстановить данные?
Чтобы восстановить все данные из S3, в команде синхронизации меняем местами источник и цель, не забывая убрать удаление отсутсвующих файлов:
s3cmd sync s3://mybucketname/backupfolder /local/backup/dir/Происходит синхронизация в обратную сторону и voila, все данные снова на локальном диске.
Либо, для восстановления одного файла, воспользуемся командой get:
s3cmd get s3://mybucketname/backupfolder/backup.tar.gz /local/backup/dir/
Комментариев нет:
Отправить комментарий