BILLmanager поддерживает интеграцию с внешними S3-совместимыми объектными хранилищами на базе Ceph RADOS. Это позволяет предоставлять клиентам услугу облачного хранилища. Особенности продажи услуги:
- при использовании услуги учитывается объём и количество бакетов;
- услуга предоставляет доступ по API;
- оплата за услугу взимается по факту использования.
Основные понятия
S3 (Simple Storage Service) — стандарт для хранения и доступа к данным в формате объектов. Вместо файловой системы с папками и дисками используется объектное хранилище, где данные хранятся в виде:
- объектов — данных (файлы), метаданных и уникальных id;
- бакетов (bucket) — контейнеров, в которых размещаются объекты. Аналог директорий верхнего уровня. Бакеты помогают группировать данные по проектам, приложениям или типам данных. Каждый бакет имеет уникальное имя в рамках хранилища. Например my-backups, client-asset . При настройке можно задать ему индивидуальные параметры доступа, политики и правила управления данными. Бакет может быть:
- публичным — доступен по ссылке;
- приватным — доступен по ключам;
Бакет можно настроить как хостинг для статического веб-сайта — например, для отображения лендинга, документации или SPA-приложения.
Для аутентификации и доступа к приватным данным используются ключи доступа — пара Access Key ID
и Secret Key
.
Управление S3 в BILLmanager
Подключение обработчика Ceph S3
Чтобы создать обработчик услуг, перейдите в раздел Интеграция → Обработчики услуг → кнопка Создать:
- Тип продукта — выберите Внешнее S3 хранилище. Подробнее о типах продукта см. в статье Параметры типа продукта.
- Модуль обработки — выберите Ceph S3 → кнопка Добавить.
- Настройка интеграции. Заполните обязательные поля:
- URL-адрес доступа к API S3-сервиса. Например, https://s3.example.com;
- Пользователь — имя пользователя или идентификатор аккаунта;
- Ключ доступа — идентификатор ключа хранилища;
- Секретный ключ — секретный ключ хранилища.
- При необходимости укажите:
- Регион (локация) — локация хранилища;
- Ссылки — укажите, если планируете подключение сайтов к бакетам:
- Ссылка на бакет (path-style) — например,
https://s3.example.com/%s
, где %s — имя бакета; - Ссылка на бакет (domain-style) — например,
https://s3.example.com/%s
, где %s — имя бакета; - Ссылка на бакет (website) — например,
https://s3site.example.com/%s
, где %s — имя бакета.
- Ссылка на бакет (path-style) — например,
- Нажмите Далее.
- Настройте Параметры обработчика услуг:
- Дата-центр — название дата-центра в BILLmanager, к которому будет подключён обработчик.
- Наименование — наименование обработчика для отображения в интерфейсе BILLmanager.
- Ответственный — отдел, которому будут назначаться задачи от обработчика.
- Сортировка — приоритет обработчика. Если к тарифному плану будет подключено несколько обработчиков, то при создании услуги первым выбирается обработчик с наименьшим приоритетом.
Настройка тарифа
Чтобы настроить тариф, перейдите в раздел Продукты → Тарифные планы → кнопка Создать:
- Тип продукта — выберите Внешнее S3 хранилище.
- Параметры тарифного плана:
- Обработчик услуг — выберите созданный обработчик для Ceph S3.
- Настройки обработчика:
- Выберите опцию Создать все доступные дополнения.
Подробнее о создании тарифных планов см. в статье Создание, настройка, архивация тарифа.
Настройка содержания тарифа
После создания тарифа настройте содержание тарифа. Для этого перейдите в раздел Продукты → Тарифные планы → выберите созданный тариф → кнопка Конфиг. Подробнее о том, как настроить см. статью Настройка содержания тарифа.
Настройка типа продукта
Для управления параметрами по умолчанию перейдите в раздел Продукты → Типы продуктов → Внешнее S3 хранилище → кнопка Параметры → выберите параметр для изменения → нажмите кнопку Изменить. Подробнее см. Типы продуктов.
Основные параметры типа продукта:
В содержание продукта могут быть включены параметры:
Работа с бакетами
Для управления бакетами перейдите в меню Товары/Услуги → Внешнее S3 хранилище → выберите заказанный тариф → кнопка Бакеты. Вы можете:
- Создать бакет;
- изменить Настройки бакета:
- выбрать тип Доступа:
- Закрытый (private) — доступ к содержимому возможен только с использованием ключей доступа;
- Публичное чтение (public-read) — содержимое бакета доступно по прямой ссылке;
- Ограничить размер бакета — укажите Ограничение на размер бакета, ГиБ. Превышение лимита заблокирует загрузку новых файлов;
- Ограничить количество объектов — укажите Ограничение на количество объектов, Шт. При достижении лимита добавление новых объектов будет невозможно;
- выбрать тип Доступа:
- Удалить бакет;
- посмотреть Доступы — в разделе отображаются:
- Информация о бакете — ID бакета и ссылки на бакет;
- Авторизационные данные владельца бакета — URL-адрес, порт подключения, идентификатор ключа и секретный ключ доступа к S3-хранилищу, имя пользователя и регион;
- настроить статический Веб-сайт. Вы можете:
- включить для бакета опцию статического Веб-сайта . После включения заполните поля Стартовая страница и Страница ошибок;
- Перенаправлять все запросы на указанный домен. Необходимо указать домен, на который будет происходить Перенаправление, и выбрать протокол HTTP или HTTPS;
Для корректной работы сайта разрешите доступ к файлам бакета, которые используются для сайта и задействованы на HTML-странице. Для этого:
-
- Подключитесь к хранилищу с помощью клиента. Подробнее см. раздел этой статьи Подключение к хранилищу.
- Выделите нужные файлы.
- Выберите опцию Разрешить доступ.
Настройки статического веб-сайта могут отличаться в зависимости от версии Ceph и способов его установки. Например, если вы используете IBM Storage Ceph v.8.0.0, чтобы включить Ceph Object Gateway для статического веб-хостинга, установите параметры, описанные в документации.
Дополнительные действия с услугой
Чтобы произвести дополнительные действия с услугой, перейдите в меню Товары/Услуги → Внешнее S3 хранилище → выберите заказанную услугу. Вы можете:
- сменить ключи доступа — кнопка Доступы → кнопка Сменить ключи. Обновлённые Идентификатор ключа и Секретный ключ будут доступны в подразделе Данные доступа для подключения к серверу;
- настроить продление — кнопка Доступы → выберите стоимость продления или отключите его;
- сменить тариф услуги — кнопка Смена тарифа → выберите Новый тарифный план. Чтобы выбрать из тарифов всех провайдеров, выберите опцию Показывать все тарифы → Показывать тарифы других провайдеров;
- удалить тариф — хранилище станет недоступным для клиента;
- активировать или деактивировать тариф с помощью кнопок Вкл. и Выкл.
Подключение к хранилищу
Для управления файлами и бакетами используйте S3-клиент. Ниже приведены инструкции для разных ОС.
macOS и Windows (на примере Cyberduck)
Cyberduck — графический клиент для работы с S3-хранилищем. Управление осуществляется через интерфейс, как в файловом менеджере.
- Скачайте клиент с официального сайта: https://cyberduck.io/download/
- Установите приложение.
- Запустите Cyberduck.
- В меню Открыть соединение выберите тип соединения Amazon S3.
- Заполните поля:
- Server / Endpoint: URL-адрес S3-совместимого хранилища;
- Port: 443;
- Access Key ID: Идентификатор ключа хранилища;
- Secret Access Key: Секретный ключ хранилища;
- Отключите опцию Анонимный вход.
- Нажмите Подключиться.
Linux: AWS CLI
Для работы с S3-хранилищем на Linux используйте командную строку (AWS CLI):
-
Скачайте и установите AWS CLI v2:
Команды установкиcurl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install
-
Настройте доступ:
-
Введите команду:
aws configure
-
В интерактивной оболочке укажите:
- Access Key: Идентификатор ключа хранилища;
- Secret Key: Секретный ключ хранилища;
- Default region name [None]: нажмите Enter, чтобы пропустить;
- Default output format [None]: нажмите Enter, чтобы пропустить.
-
Команды для работы с хранилищем:
aws s3 ls --endpoint-url https://<URL_обработчика> --no-verify-ssl
Где:
- <
URL_обработчика
> — URL-адрес S3-совместимого хранилища.
aws s3 cp ./localfile.txt s3://mybucket/ --endpoint-url https://<URL_обработчика> --no-verify-ssl
Где:
./localfile.txt
— путь к файлу в локальной файловой системе.mybucket
— имя бакета;- <
URL_обработчика
> — URL-адрес S3-совместимого хранилища.
aws s3 rm s3://mybucket/bucketfile.txt --endpoint-url https://<URL_обработчика> --no-verify-ssl
Где:
s3://mybucket/bucketfile.txt
— ключ объекта в хранилище, который нужно удалить;- <
URL_обработчика
> — URL-адрес S3-совместимого хранилища.
aws s3 ls s3://mybucket/ --endpoint-url https://<URL_обработчика> --no-verify-ssl
Где:
s3://mybucket/
— префикс в бакетеmybucket
;- <
URL_обработчика
> — URL-адрес S3-совместимого хранилища.