Внешнее S3-хранилище

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

Чтобы создать обработчик услуг, перейдите в раздел Интеграция → Обработчики услуг → кнопка Создать:

  1. Тип продукта — выберите Внешнее S3 хранилище. Подробнее о типах продукта см. в статье Параметры типа продукта.
  2. Модуль обработки — выберите Ceph S3 → кнопка Добавить.
  3. Настройка интеграции. Заполните обязательные поля:
    • URL-адрес доступа к API S3-сервиса. Например, https://s3.example.com;
    • Пользователь — имя пользователя или идентификатор аккаунта;
    • Ключ доступа — идентификатор ключа хранилища;
    • Секретный ключ — секретный ключ хранилища.
  4. При необходимости укажите:
    • Регион (локация) — локация хранилища;
    • Ссылки — укажите, если планируете подключение сайтов к бакетам:
      • Ссылка на бакет (path-style) — например,  https://s3.example.com/%s, где %s — имя бакета;
      • Ссылка на бакет (domain-style) — например, https://s3.example.com/%s где %s — имя бакета;
      • Ссылка на бакет (website) — например, https://s3site.example.com/%s,  где %s — имя бакета.
  5. Нажмите Далее.
  6. Настройте Параметры обработчика услуг:
    1. Дата-центр — название дата-центра в BILLmanager, к которому будет подключён обработчик.
    2. Наименование — наименование обработчика для отображения в интерфейсе BILLmanager.
    3. Ответственный — отдел, которому будут назначаться задачи от обработчика.
    4. Сортировка — приоритет обработчика. Если к тарифному плану будет подключено несколько обработчиков, то при создании услуги первым выбирается обработчик с наименьшим приоритетом.

Настройка тарифа

Чтобы настроить тариф, перейдите в раздел ПродуктыТарифные планы → кнопка Создать:

  1. Тип продукта — выберите Внешнее S3 хранилище.
  2. Параметры тарифного плана:
    1. Обработчик услуг — выберите созданный обработчик для Ceph S3.
    2. Настройки обработчика:
      1. Выберите опцию Создать все доступные дополнения.

Подробнее о создании тарифных планов см. в статье Создание, настройка, архивация тарифа.

Настройка содержания тарифа

После создания тарифа настройте содержание тарифа. Для этого перейдите в раздел ПродуктыТарифные планы → выберите созданный тариф → кнопка Конфиг.  Подробнее о том, как настроить см. статью Настройка содержания тарифа.

Пример настройки тарифа

Настройка типа продукта

Для управления параметрами по умолчанию перейдите в раздел Продукты  Типы продуктов Внешнее S3 хранилище → кнопка Параметры → выберите параметр для изменения → нажмите кнопку Изменить. Подробнее см. Типы продуктов.

Если клиент изменит основные параметры, то услуга работать не будет. Поэтому необходимо запретить клиенту возможность их изменять. Чтобы запретить клиенту изменение, в настройках параметра в поле Доступ для изменения выберите Сотрудник или Супер пользователь.

Основные параметры типа продукта:

Внутреннее имя параметраОписание
secret_keyсекретный ключ
access_keyидентификация ключа
s3userимя пользователя

В содержание продукта могут быть включены параметры: 

Внутреннее имя параметраОписание
bandwidthтрафик
flatширина канала
object_opsоперации с объектами
object_read_opsоперации чтения
object_write_opsоперации записи
disk_maxдисковое пространство
bucketsколичество бакетов
objectsколичество объектов
bucket_objectsколичество объектов в бакете
bucket_diskразмер бакета

Работа с бакетами

Для управления бакетами перейдите в меню Товары/УслугиВнешнее S3 хранилище →  выберите заказанный тариф → кнопка Бакеты. Вы можете:

  • Создать бакет;
  • изменить Настройки бакета:
    • выбрать тип Доступа:
      • Закрытый (private) — доступ к содержимому возможен только с использованием ключей доступа;
      • Публичное чтение (public-read) содержимое бакета доступно по прямой ссылке; 
    • Ограничить размер бакета — укажите Ограничение на размер бакета, ГиБ. Превышение лимита заблокирует загрузку новых файлов;
    • Ограничить количество объектов — укажите Ограничение на количество объектов, Шт. При достижении лимита добавление новых объектов будет невозможно;
  • Удалить бакет;
  • посмотреть Доступы — в разделе отображаются:
    • Информация о бакете — ID бакета и ссылки на бакет;
    • Авторизационные данные владельца бакета — URL-адрес, порт подключения, идентификатор ключа и секретный ключ доступа к S3-хранилищу, имя пользователя и регион;
  • настроить статический  Веб-сайт. Вы можете:
    • включить для бакета опцию статического Веб-сайта . После включения заполните поля Стартовая страница и Страница ошибок;
    • Перенаправлять все запросы на указанный домен. Необходимо указать домен, на который будет происходить Перенаправление, и выбрать протокол HTTP  или HTTPS;

Для корректной работы сайта разрешите доступ к файлам бакета, которые используются для сайта и задействованы на HTML-странице. Для этого:

    1. Подключитесь к хранилищу с помощью клиента. Подробнее см. раздел этой статьи Подключение к хранилищу.
    2. Выделите нужные файлы.
    3. Выберите опцию Разрешить доступ.

Настройки статического веб-сайта могут отличаться в зависимости от версии Ceph и способов его установки. Например, если вы используете IBM Storage Ceph v.8.0.0, чтобы включить Ceph Object Gateway для статического веб-хостинга, установите параметры, описанные в документации.

Дополнительные действия с услугой

Чтобы произвести дополнительные действия с услугой, перейдите в меню Товары/УслугиВнешнее S3 хранилище →  выберите заказанную услугу. Вы можете:

  • сменить ключи доступа — кнопка Доступы → кнопка Сменить ключи. Обновлённые Идентификатор ключа и Секретный ключ будут доступны в подразделе Данные доступа для подключения к серверу;
  • настроить продление — кнопка Доступы → выберите стоимость продления или отключите его;
  • сменить тариф услуги — кнопка Смена тарифа → выберите Новый тарифный план. Чтобы выбрать из тарифов всех провайдеров, выберите опцию Показывать все тарифыПоказывать тарифы других провайдеров;
  • удалить тариф — хранилище станет недоступным для клиента;
  • активировать или деактивировать тариф с помощью кнопок Вкл. и Выкл.

Подключение к хранилищу

Для управления файлами и бакетами используйте S3-клиент. Ниже приведены инструкции для разных ОС.

macOS и Windows (на примере Cyberduck)

Cyberduck — графический клиент для работы с S3-хранилищем. Управление осуществляется через интерфейс, как в файловом менеджере.

  1. Скачайте клиент с официального сайта: https://cyberduck.io/download/
  2. Установите приложение.
  3. Запустите Cyberduck.
  4. В меню Открыть соединение выберите тип соединения Amazon S3.
  5. Заполните поля:
    • Server / Endpoint: URL-адрес S3-совместимого хранилища;
    • Port: 443;
    • Access Key ID: Идентификатор ключа хранилища;
    • Secret Access Key: Секретный ключ хранилища;
    • Отключите опцию Анонимный вход.
  6. Нажмите Подключиться.

Linux: AWS CLI

Для работы с S3-хранилищем на Linux используйте командную строку (AWS CLI):

  1. Скачайте и установите AWS CLI v2:

    Команды установки
    curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
    unzip awscliv2.zip
    sudo ./aws/install
  2. Настройте доступ:

    1. Введите команду:

      aws configure
    2.  В интерактивной оболочке укажите:

      • 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-совместимого хранилища.


Дата последнего обновления статьи: 16.09.2025. Статья подготовлена техническими писателями ISPsystem