Русский
Русский
English
Статистика
Реклама

Object storage

Как использовать объектное S3-хранилище Mail.ru Cloud Solutions для хранения бэкапов Veeam

07.12.2020 18:15:24 | Автор: admin
LogiMap ASRS Unit by Vidom

Veeam Backup & Replication коммерческая платформа для резервного копирования и управления данными облачной, виртуальной и физической среды. Она поддерживает разные сценарии хранения данных, в том числе использование S3-совместимых объектных хранилищ для хранения бэкапов, об одном из которых они сами недавно писали: про подключение к хранилищу MinIo.

Между тем, есть смысл использовать S3 в виде готового облачного сервиса, когда вы не хотите сами заниматься вопросами обслуживания и масштабирования хранилища. Сервис-провайдер даёт дополнительные функциональности (надёжность, безопасность и так далее) по стоимости ниже, чем большинство собственных инсталляций, за счёт массовости предоставления услуги.

Я покажу подключение Veeam к облачному объектному S3-хранилищу на примере Mail.ru Cloud Storage. Потому что я из этой команды :) Так что буду рад обратной связи по этому сценарию и самому сервису в комментариях.

Выбор в сторону объектного хранилища S3 в качестве хранилища бэкапов был вполне очевидным, так как:

  1. Стандарт де-факто.
  2. Многие производители уже реализовали в своих системах резервного копирования поддержку S3.
  3. Надежность.
  4. Низкая стоимость.

Тестовый стенд


Тестовый стенд:

  1. Виртуальная машина с Windows (установлена Windows-Server-2019Std-ru.202006) для установки Veeam.
  2. Виртуальная машина с Ubuntu 20.04 в качестве инстанса для бэкапа.
  3. Настроенный доступ и бакет в хранилище MCS S3.

Установку Veeam опустим, она хорошо описана в официальной документации. Я использовал для установки версию Veeam Backup & Replication Community Edition, с выписанной пробной лицензией на месяц. Community Edition не поддерживает создание Scale-Out Backup Repository.

Далее перейдем к настройке.

Подключение Object Storage


  1. Нажмите на Backup Repositories, далее правой кнопкой мыши вызовите Add Backup Repository:


  2. Выберите Object Storage:


  3. Выберите S3 Compatible:


  4. Введите имя хранилища и нажмите Next:


  5. В качестве Service point введите hb.bizmrg.com, регион default. Напротив Credentials нажмите Add:


  6. Введите свой Access Key ID и Secret Access Key для доступа к S3 MCS, нажмите OK:


  7. Выберите бакет и нажмите Browse напротив Folder для выбора папки, где в бакете будут храниться бэкапы:


  8. Выберите существующую папку или создайте новую и нажмите ОК:


  9. Если необходимо установить лимит места, которое могут занимать бэкапы, поставьте галочку Limit object storage consumption и установите лимит. Галочку immutable не ставьте, MCS S3 пока не поддерживает эту функцию. Нажмите Next:


  10. Создание объектного стораджа завершено:



Подключение Scale Out Backup Repository (SOBR)


Логика работы Veeam такова, что использовать напрямую объектное хранилище S3 нельзя, необходимо собрать расширяемое хранилище, состоящее из локального репозитория бэкапов и хранилища S3, куда будут переноситься бэкапы из локального хранилища, в соответствии с настроенной политикой переноса. Обратите внимание, что SOBR-хранилище недоступно в Community-версии приложения, необходима лицензия.

  1. Выберите в левой колонке Scale-Out Repositories и нажмите в поле справа правую кнопку мыши. Выберите Add scale-out backup repository:


  2. Введите имя репозитория и нажмите Next:


  3. Нажмите Add и добавьте локальное хранилище:


  4. Выберите политику размещения бэкапов либо хранение полных и инкрементальных бэкапов вместе, либо разнесение их по хранилищам. Нажмите Next:


  5. Поставьте галочку Extend scale-out backup repository capacity with object storage и добавьте созданное ранее объектное хранилище. Ниже настраивается политика работы как видно на скриншоте, у нас настроено сразу же переносить вновь созданные бэкапы в S3, а также переносить уже существующие бэкапы старше 7 дней. Нажмите Apply:


  6. SOBR-хранилище успешно создано:



Настройка бэкапа Linux-сервера


Настроим бэкап тестового сервера Linux. Для бэкапа Veeam должен установить свой агент на Linux-сервер.

  1. Добавим данные сервера Linux, который мы хотим бекапить. Нажмите в нижнем левом углу экрана на Home, в верхнем левом углу на Backup Job и выберите Linux computer:


  2. Выберите Server и Managed by backup server. Настраивать задания можно как централизованно, так и на серверах, которые мы хотим бэкапить, в настройках Veeam-агента. В данном случае настроим управление со стороны сервера Veeam:


  3. Выберите название нового задания и нажмите Next:


  4. Нажмите на Add и выберите Individual computer:


  5. Введите имя или IP-адрес Linux-сервера, который будем бэкапить, напротив Credentials нажмите Add. В выпадающем меню выберите тип авторизации по паролю или по ключу. В нашем случае по ключу:


  6. Введите имя пользователя, выберите на диске предварительно сохраненный файл с приватным ключом к серверу. Приватный ключ формируется при заказе инстанса в панели управления MCS. Установите галочку Elevate account privileges automatically, нажмите OK:


  7. Выберите, что бэкапить в данном случае весь сервер. Нажмите Next:


  8. Выберите хранилище, куда будут помещены бэкапы. В нашем случае настроенное ранее Scale-Out Backup Repository. Нажмите Next:


  9. Настройте расписание запуска и нажмите Apply:


  10. Если необходим немедленный запуск задания, установите галочку Run the job when I click Finish. Нажмите Finish:



После окончания настройки Veeam сразу запустит проверку наличия агента на сервере, который мы добавили и установит его при необходимости. После этого начнется первый бэкап.

Прогресс бэкапа можно увидеть, если нажать на Last 24 Hours/Running и выбрать созданное нами бэкап-задание Ubuntu1:



После окончания бэкапа в web-интерфейсе S3 MCS можно увидеть, что Veeam создал папку с бэкапом сервера:



На этом настройка закончена, удачи!

В нашем телеграм-канале новости об этом и других сервисах на облачной платформе Mail.ru Cloud Solutions.

Еще про использование S3-хранилища:

Подробнее..

Из песочницы Как разместить статический сайт с помощью Yandex.Cloud Object Storage

20.07.2020 12:12:02 | Автор: admin
Привет, Хабр!

В этой статье, я расскажу как легко и просто разместить статический сайт с помощью технологий Яндекса, а именно Object Storage.


В конце у вас будет размещенный в сети сайт, который будет доступен по внешней ссылке.


Эта статья будет полезна, если вы


  • Начинающий разработчик, который только обучается программированию;
  • Разработчик, который сделал портфолио и хочет разместить его в открытом доступе, чтобы показать друзьям и работодателям.

О себе


Недавно, я разрабатывал SaaS сервис, подобие маркетплейса, где люди находят спортивных тренеров для персональных тренировок. Использовал стек Amazon Web Services (далее AWS). Но чем глубже погружался в проект тем больше нюансов узнавал о разных процессах организации стартапа.


Я столкнулся с следующими проблемами:


  • AWS потреблял много денег. Поработав 3 года в Enterprise компаниях, я привык к таким радостям, как Docker, Kubernetes, CI/CD, blue green deployment, и, как начинающий программист-стартапер, захотел реализовать тоже самое. В итоге пришел к тому, что ежемесячно AWS потреблял по 300-400 баксов. Самым дорогим оказался Kubernetes, около 100 баксов, при минималке с одним кластером и одной нодой.
    P.S. На старте не нужно так делать.
  • Далее, задумавшись о юридической стороне, я узнал про закон 152-ФЗ, в котором говорилось примерно следующее: "Персональные данные граждан РФ должны храниться на территории РФ", иначе штрафы, чего мне не хотелось. Я решил заняться этими вопросами, пока "сверху" мне не прилетело :).

Вдохновленный статьей о мигрировании инфраструктуры из Amazon Web Services в Яндекс.Облако, я решил изучить стек Яндекса подробнее.


Для меня ключевыми особенностями Яндекс.Облака было следующее:



Я изучал других конкурентов этого сервиса, но на тот момент Яндекс выигрывал.


О себе рассказал, можно и перейти к делу.


Шаг 0. Подготовим сайт


Для начала нам понадобится сайт, который мы хотим разместить в интернете. Так как я Angular разработчик, я сделаю простой шаблон SPA приложения, который далее размещу в интернете.


P.S. Кто разбирается в Angular или знает про его документацию https://angular.io/guide/setup-local, переходите к Шагу 1.


Установим Angular-CLI чтобы создавать SPA-сайты на Ангуляре:


npm install -g @angular/cli

Создадим Angular приложение с помощью следующей команды:


ng new angular-habr-object-storage

Далее переходим в папку приложения и запускаем его, чтобы проверить работоспособность:


cd angular-habr-object-storageng serve --open

Статическое SPA-приложение на Angular


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


ng build --prod

В результате этой команды в корне приложения появилась папочка dist с нашим сайтом.


Работает. Теперь переходим к хостингу.



Шаг 1.


Переходим на сайт https://console.cloud.yandex.ru/ и жмем на кнопку "Подключиться".


Примечание:


  • Для пользования сервисом Яндекса может понадобится почта Яндекса (но это не точно)
  • Для некоторых функций придется положить деньги на счет в личном кабинете (минимум 500 рублей).

После успешной регистрации и авторизации, мы в личном кабинете.


Интерфейс личного кабинета Yandex.Cloud


Далее слева в меню нужно найти сервис "Object Storage", который мы как раз будем использовать для хостинга сайта.


Коротко по терминам:


  • Object Storage это хранилище файлов, совместимое с аналогичной технологией Амазона AWS S3, у которого также есть свой API для управления хранилищем из кода и его также как и AWS S3 можно использовать для размещения статического сайта.
  • В Object Storage мы создаем "бакеты" (bucket / Корзина), которые являются отдельными хранилищами наших файлов.

Интерфейс сервиса Yandex.Cloud Object Storage


Создадим один из них. Для этого в консоли сервиса жмем на кнопку "Создать бакет".


Интрфейс создания бакета в Yandex.Cloud


В форме создания бакета есть следующие поля, пробежимся по ним:


  • Имя бакета. Для простоты, назовем так же как и ангуляр проект angular-habr-object-storage
  • Макс. размер. Ставим столько, сколько у нас весит сайт, так как сайт хранится не бесплатно и за каждый выделенный гигабайт, мы будем платить Яндексу копеечку.
  • Доступ для чтения объектов. Ставим "Публичный", так как пользователь должен получать каждый файл нашего статического сайта, чтобы на нем правильно отрисовывалась верстка, отрабатывали скрипты и тд.
  • Доступ к списку объектов и Доступ на чтение настроек. Оставляем "Ограниченный". Это нужно для того, чтобы использовать бакет как внутреннее хранилище файлов для приложений.
  • Класс хранилища. Оставляем "Стандартный". Это означает, что наш сайт часто будут посещать, а значит и часто скачивать файлы, составляющие сайт. Плюс пункт влияет на производительность и оплату (вставить ссылку).

Жмем "Создать бакет" и бакет создан.


Yandex.Cloud Бакет создан


Теперь нужно загрузить наш сайт в бакет. Самый простой способ открыть рядом папочку dist нашего сайта и ручками перетащить прямо на страницу. Это удобнее, чем жать на кнопку "Загрузить объекты", потому что в таком случае папки не переносятся и их придется создавать ручками в правильной последовательности.


Загрузили в бакет наш сайт


Итак, сайт загружен в хранилище, тем можем предоставить пользователям возможность обращаться к хранилищу, как к сайту.
Для этого слева в меню жмем на вкладку "Веб-сайт".


Настройка бакета под сайт


На странице настройки бакета как сайта, выбираем таб "Хостинг". Здесь указываем главную страницу сайта, обычно это index.html. Если у вас SPA приложение, то вероятно все ошибки обрабатываются также на главной странице, поэтому укажем на странице ошибки также index.html.


Мы сразу видим, по какой ссылке будет доступен наш сайт. Жмем сохранить.


Через минут 5, перейдя по ссылке мы видим что теперь наш сайт доступен всем желающим.


Хостинг Angular приложения с помощью Yandex.Cloud Object Storage


Спасибо всем кто дочитал до конца! Это моя первая статья, планирую дальше описать другие сервисы Яндекса и их интеграцию с frontend и backend технологиями.


Напишите в комментариях насколько интересно вам узнать про другие сервисы Яндекса или про использование Angular в современной разработке.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru