S3-совместимость в PC-Storage: полный гид по интеграции и миграции

Разберем S3-совместимость – ключевую особенность объектного хранилища S3, которая позволяет использовать привычные инструменты AWS S3 в российской инфраструктуре без изменений в коде и конфигурациях.

Что такое S3-совместимость

S3-совместимость – ключевая особенность объектного хранилища PC-Storage, которая позволяет использовать привычные инструменты AWS S3 в российской инфраструктуре без изменений в коде и конфигурациях.

Платформа поддерживает до 80 % стандартных команд (остальные 20 % являются вызовами, работающими только внутри экосистемы Amazon) и SDK-вызовов Amazon S3, обеспечивая идентичную логику работы API, но с локальной обработкой и хранением данных в трех дата-центрах (ЦОД) на территории РФ. Вы также можете разместить софт внутри своей инфраструктуры (PC-Depot).

Для разработчиков и ИТ-команд это значит, что можно подключить объектное хранилище от PlatformCraft к другим сервисам (например, CRM, ERP, CI/CD, системам резервного копирования и т. д.) без переделки бизнес-логики.

Миграция из AWS или MinIO выполняется напрямую: достаточно указать новый endpoint (эндпоинт, конечная точка) и ключи доступа.

В этом руководстве разобраны:

  • устройство и работа S3-API PC-Storage;
  • интеграция с популярными бизнес-системами;
  • сравнение совместимости с AWS и другими провайдерами;
  • пошаговая миграция данных без потерь;
  • диагностика типовых ошибок и рекомендации по их устранению.

Если вы используете S3-хранилище в своих проектах, переход на PC-Storage займет считанные часы и без изменения SDK, скриптов или логики приложений.

Объектное хранение данных

Как работает S3-API в PC-Storage: технические основы

S3 API PC-Storage повторяет логику AWS S3 и использует тот же набор HTTP-методов, заголовков и схемы авторизации. Это позволяет разработчикам подключить хранилище как прямую замену Amazon S3.

Решение поддерживает бесплатные операции, multipart upload/загрузку, управление бакетами и доступом, а также стандартные запросы SDK.

Основы S3-хранилища

S3 – это объектное хранилище, где каждый файл хранится как объект в бакете и имеет свой уникальный идентификатор, а управление выполняется через HTTP-вызовы. S3 API основан на простых REST-операциях над объектами и бакетами (загрузить, прочитать, удалить и управлять свойствами). В PC-Storage эти операции работают так же, как в AWS S3, включая подпись запросов и структуру ответов.

PC-Storage реализует ключевые элементы протокола:

  • Методы: PUT, GET, DELETE, HEAD, LIST;
  • Аутентификация: подпись запросов через Access Key + Secret Key (аналог AWS Signature v2/v4);
  • Адресация объектов:
    https://eu-s3.platformcraft.com/<bucket>/<object>;
  • Метаданные: поддержка пользовательских заголовков;
  • Multipart upload: загрузка больших файлов частями и продолжение после разрыва соединения;
  • ACL и политики: управление доступом на уровне бакета или объекта.

S3-совместимость PC-Storage позволяет использовать любые стандартные клиенты:
s3cmd, rclone, AWS CLI, CyberDuck, WinSCP, TntDrive.

Примеры реализации

Интеграция с S3 хранилищем PC-Storage сводится к двум шагам. Необходимо сгенерировать ключи (Access Key / Secret Key) в нашем личном кабинете, а также указать endpoint. Все остальное работает так же, как в AWS.

После получения ключей (ID + KEY) можно работать через любой инструмент. Ниже три реальных сценария реализации:

1)     Подключение через AWS CLI

aws configureAWS Access Key ID [None]: <Ваш ID>AWS Secret Access Key [None]: <Ваш KEY>Default region name [None]: eu-central-2Default output format [None]: json

Пример листинга бакета:

aws s3 ls —summarize —human-readable —recursive s3://video/ —endpoint-url=https://eu-s3.platformcraft.com

Пример загрузки объекта:

aws s3api put-object —bucket video —key movie1 —body /Users/Admin/Downloads/movie1.mp4 —endpoint-url=https://eu-s3.platformcraft.com

2) Загрузка больших файлов через multipart

aws s3 cp ./backup.zip s3://archive/ —endpoint-url https://eu-s3.platformcraft.com —expected-size 9223372036854775807

Подробнее можно прочитать в нашей документации.

3) Использование Python boto3 (без изменений в коде)

import boto3 s3 = boto3.client(    ‘s3′,    endpoint_url=’https://eu-s3.platformcraft.com’,    aws_access_key_id=’ID’,    aws_secret_access_key=’KEY’) s3_client.upload_file(‘local_data.json’, ‘bucket’, ‘object_key.json’)

Сравнение S3-совместимости PC-Storage с AWS и альтернативами

PC-Storage наследует основные механики AWS S3, но являясь полностью российской платформой с собственным серверным ядром и локальной инфраструктурой в трех географически разнесенных дата-центрах на территории РФ.

Это делает систему подходящей как для облачного варианта размещения данных, так и On-Premise (при установке софта в вашей закрытой инфраструктуре).

Отличия и преимущества

Ceph – это более требовательное к железу ПО. Оно сложнее в развертывании и настройке, однако широко применяется.

Многие объектные хранилища берут за основу Ceph или MinIO, что ограничивает их и накладывает определенные требования. PC-Storage же имеет предсказуемую стоимость и отсутствие зависимости от зарубежных сервисов.

То есть мы можем полностью адаптировать хранилище под задачи и требования клиента. Например, вам требуется в выводе сделать не 10000 файлов (как идет по стандарту), а 15000? Это легко реализуется, так как код полностью написан нашими специалистами без использования Open Source и меняется без «поломок».

Совместимость PC-Storage охватывает ключевые функции объектного хранилища, а именно: работу с бакетами, объектами, правами доступа, multipart-загрузкой, списком объектов, метаданными и политиками.

Если вы работаете в другом облачном хранилище, то данные могут быть перенесены на PC-Storage без проблем.

В объектном хранилище PC-Storage полностью реализовано:

  • PUT / GET / DELETE;
  • HEAD / LIST;
  • multipart upload;
  • presigned URL;
  • ACL и политики бакетов;
  • Versioning;
  • Object Lock;
  • CORS;
  • custom metadata.

Но есть и отличия:

  • PC-Storage использует один endpoint (eu-s3.platformcraft.com), без деления по регионам;
  • отсутствуют функции, которые редко применяются (например, Glacier или MFA Delete);
  • все данные хранятся в пределах РФ;
  • работа осуществляется через WEB GUI, S3 REST API, AWS CLI, s3cmd, rclone и подобное ПО.

Для клиентов PlatformCraft предлагает:

  • предсказуемую стоимость без скрытых платежей и оплаты исходящего трафика;
  • гибкость в настройках, интеграции и миграции;
  • соответствие требованиям хранения данных в России;
  • низкие задержки и надежность (три дата-центра и автоматическая репликация, обеспечивающая SLA 99,99%).

Таблица сравнения S3-совместимости

Критерий
PC-Storage
AWS S3
Яндекс S3
Тип инфраструктуры3 дата-центра в РФ, распределенная репликацияДата-центры по всему мируДата-центры в РФ и Казахстане
S3-совместимость~82% API, поддержка основных SDK100%, эталон стандартаЗависит от версии (~85 API)
Multipart Upload
Временные ссылки
Стоимость запросовБесплатноТарифицируетсяТарифицируется
Исходящий трафикБесплатноТарифицируетсяТарифицируется
Доступность сервиса (SLA)99,95-99,99%99,99%99,95-99,98% (зависит от администрирования)
Привязка к поставщикуОтсутствуетВысокийМожет зависеть от интеграции экосистемы Яндекса
Поддержка CLI / SDKПоддержка любого ПО, работающего с S3 (AWS CLI, s3cmd, rclone, SDK)Поддержка любого ПО, работающего с S3Поддержка любого ПО, работающего с S3 (зависит от настройки)
Географическое ограничениеОграничений нет (в Реестре российского ПО)Не работает в РФОграничений нет

Пошаговая подготовка для теста объектного хранилища

Благодаря полной S3-совместимости переход на PC-Storage обычно занимает от десяти минут до нескольких часов (в зависимости от объема данных). Миграция выполняется без остановки сервисов, а структура каталогов и объектов сохраняется.

Подготовка и шаги

Итак, авторизуйтесь в S3 PC-Storage (см. «Подключение через AWS CLI»). Далее:

Шаг 1. Подготовка бакетов в PC-Storage. Проверка доступа по ключам (ID/KEY).

Если вход через CLI работает, то команда выведет список ваших бакетов:

aws —endpoint-url https://eu-s3.platformcraft.com s3 ls

Шаг 2. Подготовка бакетов в PC-Storage

Создайте бакет через веб-интерфейс или CLI (либо пропустите этот шаг, если хотите использовать существующий бакет):

aws s3 mb s3://project-data —endpoint-url https://eu-s3.platformcraft.com

Шаг 3. Тестирование загрузки одного файла.

aws s3api put-object —bucket project-data –key test.png —body /Users/Admin/Downloads/image.png —endpoint-url=https://eu-s3.platformcraft.com

Получение объекта:

aws s3 cp s3://project-data/test.png ./ —endpoint-url https://eu-s3.platformcraft.com

Если оба запроса прошли успешно, то можно начинать миграцию.

Инструменты миграции, синхронизации и интеграции

Для миграции в PC-Storage можно использовать rclone, s3cmd или встроенные механизмы в CRM/ERP. Все эти инструменты полностью совместимы с S3 API PC-Storage.

Платформа поддерживает стандартные клиенты и утилиты, поэтому перенос можно выполнить любым удобным способом. Ниже список рекомендуемых инструментов.

  1. Можно перенести данные из одного хранилища в другое.

Например, вы можете перенести все свои данные в PC-Storage задав специальную команду миграции или изучив документацию. В случае необходимости, команда PlatformCraft поможет осуществить перенос данных в хранилище.

  1. Синхронизация бакетов при помощи boto3.

import boto3

s3 = boto3.resource(    «s3″,    endpoint_url=»https://eu-s3.platformcraft.com»,    aws_access_key_id=»ID»,    aws_secret_access_key=»KEY»,) copy_source = {‘Bucket’: ‘old’, ‘Key’: ‘file.bin’}s3.meta.client.copy(copy_source, ‘new’, ‘file.bin’)

  1. rclone – простой вариант для миграции из одного S3-хранилища в другое без переноса настроек бакетов.

Необходимо будет подключить хранилище-источник и целевое хранилище.

rclone config

Для синхронизации данных между двумя хранилищами понадобится следующая команда:

rclone sync source:bucket destination:bucket —progress

После небольшого ожидания, данные будут перенесены, с сохранением директорий.

  1. S3cmd – инструмент для управления S3-like хранилищем для операционных систем MacOS и Linux.

Необходимо будет подключить хранилище-источник и целевое хранилище. Для синхронизации данных между двумя хранилищами понадобится следующая команда:

s3cmd —configure

Для синхронизации данных между двумя хранилищами понадобится следующая команда:

s3cmd sync s3://old/ s3://new/

  1. Встроенные механизмы в CRM/ERP.

Например:

  • 1С может выгружать вложения в S3 через HTTP-запросы;
  • Bitrix и RetailCRM поддерживают загрузку файлов в S3-хранилище;
  • Acronis, КиберБэкап, Veeam могут сохранять бэкапы напрямую в PC-Storage.

Важно! В дополнительных интеграциях есть нюансы, которые стоит учитывать, здесь приведен список для примера.

Распространенные проблемы интеграции и их решения в PC-Storage

Несмотря на высокую S3-совместимость PC-Storage, в процессе интеграции могут возникнуть ошибки, связанные с настройками окружения, сетевыми ограничениями или особенностями клиентов (AWS CLI, rclone, s3cmd).

Большинство из них устраняются за несколько минут. Достаточно правильно интерпретировать код ошибки и выполнить базовую диагностику.

Ошибки и диагностика

Типовые ошибки при работе с S3-API PC-Storage связаны с неверным endpoint (конечной точки веб-сервиса), неправильными ключами доступа или сетевыми ограничениями. Их можно быстро диагностировать через логи клиента, текст ошибок или HTTP-коды ответа.

REST API работает поверх HTTP/HTTPS, поэтому диагностика начинается с анализа кода ответа (403, 404, 500, SignatureDoesNotMatch и др.). Далее разберем самые распространенные ошибки и способы их проверки.

1) Ошибка 403: Forbidden

Причина: неверные ключи, отсутствие доступа или неправильный endpoint.

Если возникает ошибка 403, проверьте корректность ключей и эндпоинта, а также убедитесь, что у вас есть доступ к бакету.

2) SignatureDoesNotMatch

Причина:

  • несоответствие регионов,
  • неверные часы на локальной машине,
  • старый формат подписи.

Решение:

  • установить системное время через NTP;
  • обновить AWS CLI до последней версии;
  • указать регион:

—region eu-central-2

3) Ошибка 404: Not Found

Причина: объект или бакет не существует.
Проверка:

aws s3 ls s3://bucket —endpoint-url=https://eu-s3.platformcraft.com

Если бакет не отображается, значит он введен неверно.

4) Медленная загрузка или «pending uploads»

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

Пример конфигурации для AWS CLI:
aws configure set default.s3.max_concurrent_requests 12aws configure set default.s3.multipart_chunksize 100MB

Пример конфигурации для rclone (используется при вызове команды):

—s3-chunk-size 100M
—s3-upload-concurrency 12

5) Ошибка сертификата SSL

Причина: устаревшая библиотека OpenSSL или отсутствие корневого сертификата.
Решение: обновить CA-пакет или использовать команду (но только для диагностики):

—no-verify-ssl (пример для AWS CLI)

Рекомендации по устранению

Большинство проблем решается настройкой корректного эндпоинта, обновлением клиента, синхронизацией времени, использованием многопоточности и проверкой прав доступа через политики бакетов.

Что может помочь снизить риск ошибок при работе с S3-совместимостью в PC-Storage?

  1. Использовать официальный endpoint PC-Storage.

https://eu-s3.platformcraft.com

Ошибки чаще всего связаны с неправильным адресом.

  1. Проверять ключи перед интеграцией.

Минимальный тест:

aws s3 ls bucket —endpoint-url=https://eu-s3.platformcraft.com

Если программа выводит содержимое вашего бакета, то ключи корректные.

  1. Настроить время на сервере.

S3-подпись зависит от точного времени. Команда синхронизации:

sudo ntpdate pool.ntp.org

  1. Использовать многопоточность для больших данных.

rclone:

rclone sync … —s3-upload-concurrency 12 —s3-chunk-size 100M

AWS CLI автоматически распределяет чанки (фрагменты данных).

  1. Проверять политики доступа.

Ошибки 403 часто связаны с политикой бакета, а не ключами.
Пример максимальной политики доступа:

{
«Version»: «2012-10-17»,
«Id»: «AllowPolicy»,
«Statement»: [
{
«Sid»: » AllowPolicy»,
«Effect»: «Allow»,
«Principal»: {
«AWS»: user_id»
},
«Action»: [
«s3:GetObject»,
«s3:ListBucket»
],
«Resource»: [
«arn:aws:s3:::bucket «,
«arn:aws:s3:::bucket/*»
]
}
]
}

  1. Проводить тесты до запуска миграции.

Минимальный набор тестов:

  • загрузить 3-5 файлов разного размера;
  • прочитать их через разный клиент (CLI, браузер, SDK);
  • запустить параллельные запросы;
  • протестировать назначенные URL.

Если у вас возникнут проблемы с настройкой или миграцией, команда PlatformCraft поможет со всеми этапами.

FAQ – часто задаваемые вопросы

  1. Что такое S3-совместимость в PC-Storage?

S3-совместимость означает, что PC-Storage использует тот же S3 REST API, что и AWS S3: команды, структура запросов, заголовки и методы авторизации полностью соответствуют стандарту. Благодаря этому инструменты AWS CLI, rclone, s3cmd и SDK работают через указание нового эндпоинта.

  1. Как интегрировать PC-Storage с бизнес-системами?

Интеграция выполняется через S3 API или REST-запросы. CRM, ERP и корпоративные платформы подключаются к PC-Storage как к внешнему объектному хранилищу, используя ключи доступа и единый endpoint. Поддерживаются 1С, Bitrix, другие CRM, решения для резервного копирования, облачные сервисы и внутренние приложения.

  1. Чем S3-совместимость PC-Storage отличается от AWS?

По логике API ничем: PUT, GET, DELETE, multipart, URL и ACL работают одинаково. Отличия же есть в инфраструктуре и модели использования: PC-Storage полностью локален, нет платы за запросы, используется многократная репликация в РФ и нет региональных ограничений.

  1. Как выполнить миграцию в PC-Storage?

Миграция выполняется через rclone, s3cmd или скрипты SDK. Нужно создать бакет, проверить доступ, загрузить тестовый файл и затем запустить копирование данных. Структура каталогов и имен файлов сохраняется полностью, а в процессе миграции приложения могут продолжать работать с исходным хранилищем.

  1. Какие проблемы встречаются при интеграции и как их устранять?

Чаще всего возникают ошибки 403, 404 или SignatureDoesNotMatch. Они решаются корректной настройкой эндпоинтов, синхронизацией времени, проверкой прав доступа и оптимизацией многопоточности для больших файлов. PC-Storage полностью совместим с популярными S3-клиентами, поэтому диагностика выполняется стандартными инструментами.

Выводы

S3-совместимость PC-Storage делает его полноценной заменой AWS S3 для российских компаний, которым нужны стабильность, локальная инфраструктура и предсказуемая стоимость.

Интеграция выполняется за минуты, так как не требуется переписывания приложений и бизнес-логики.

Платформа одинаково подходит для CRM, ERP, e-commerce, аналитики, SaaS-решений, медиапроектов и корпоративных систем, где важны скорость, надежность и гибкость. Благодаря поддержке стандартных инструментов (AWS CLI, rclone, s3cmd, SDK) переход можно выполнить без простоев и потерь данных.

Подпишитесь на наши новости,
чтобы быть в курсе всех событий

    Прокрутить вверх