Многие люди любят хранить архивы своих сайтов на любимом хостинге — и в результате могут мгновенно потерять все данные, в которые вложили месяцы и годы работы.
Например, в вашем любимом дата-центре произойдет пожар и все.
Другой пример - в 2020 году из-за разногласий среди учредителей дата-центра просто отключили серверы (в том числе с архивами? Моя статья о том, как максимально защитить себя от потери данных.
Итак, у нас есть веб-сайт, который мы разместили у провайдера общего хостинга.
Мы вкладываем много труда в разработку и наполнение нашего сайта (время может исчисляться неделями).
Давайте теперь разберемся – где лучше всего хранить архивы сайта? В Интернете есть много отличных руководств, как организовать корпоративное архивное хранение так, чтобы ничего не потерялось? Если упростить их смысл до минимально надежного приложения, то можно четко и точно сказать, что нет необходимости хранить архив сайта у провайдера, где расположен хостинг, по причинам, написанным выше.
Можно купить хостинг у другого провайдера и тянуть оттуда архивы по FTP - но, как по мне, идея так себе.
Обычно виртуальный хостинг предлагает очень мало дискового пространства и за разумные деньги такая схема не подойдет — грубо говоря, за хостинг придется платить дважды.
К счастью, сейчас мы живем в эпоху облачных технологий — и наш выбор — бессерверные системы.
Для нашей задачи бессерверная технология хороша тем, что вы можете платить только за потребляемые вами ресурсы.
Наш выбор — Объектное хранилище в Яндекс.
Облаке.
Такой выбор обусловлен тремя основными причинами:
- Плата за хранение взимается за фактически использованный объем хранилища.
В то же время существуют контейнеры «холодного» хранения со сниженной ценой.
- Яндекс.
Облако имеет несколько географически разнесенных дата-центров.
Даже если один из них полностью выйдет из строя, это никак не повлияет на мои архивы.
- Стоимость хранения, на мой взгляд, вполне разумная.
Обычно на каждом шаред-хостинге уже есть PHP — который мы будем использовать и организовывать передачу архивов с помощью PHP. Перенос архивов в Яндекс.
Облако достаточно прост и состоит из двух шагов:
- С помощью cron (который почти всегда есть на хостинге) начинаем создавать архив по расписанию.
- С помощью композитора мы развертываем AWS S3 PHP SDK и отправляем архивы в облако.
Зарегистрируйтесь на cloud.yandex.ru и создайте платежный аккаунт (вероятнее всего, при первой регистрации Яндекс позволит вам какое-то время пользоваться его услугами бесплатно).
При регистрации будет создано облако и каталог.
Ваши первоначальные ресурсы при переходе по ссылке console.cloud.yandex.ru должно выглядеть примерно так:
В каталоге сервисов выберите Object Storage и нажмите желтую кнопку «Создать корзину».
Дайте публичный доступ на чтение и список объектов, при необходимости введите максимальный размер (это делается для контроля расходования ваших средств) и нажмите кнопку «Создать ведро».
Теперь осталось создать ключи доступа, чтобы мы могли разместить наши данные в Object Storage. Вверху экрана вы увидите кнопку с каталогом:
Я назвал свой каталог по умолчанию Catalog-default, но ваш, вероятно, будет называться просто по умолчанию.
Нажмите на кнопку с названием каталога и вы попадете на его панель управления.
Нажмите кнопку «Учетные записи служб» и создайте учетную запись службы.
Дайте ему имя и назначьте роль Storage.admin.
Нажмите на вновь созданную учетную запись, и вы попадете в меню, где сможете создать новый ключ.
Нажмите кнопку «Создать новый ключ» / «Создать статический ключ доступа», введите описание — и вы получите пару ключей.
Сохраните их в своем блокноте.
Остался последний шаг.
Скопируйте и установите мой проект .
Пожалуйста, используйте прилагаемый файл readme для получения инструкций по установке и настройке.
При запуске лучше выбрать версию PHP 7.3. Храните свои архивы надежно! P.S. Если вам понравился проект/статья, поставьте ему звездочку на github. Теги: #облачные сервисы #Резервное копирование #Serverless #php #backup #backup #yandex api #архив
-
Анатомия Старой Ламповой Электроники
19 Oct, 24 -
Отчет О Седьмой Киевской Хабравстрече
19 Oct, 24