Что такое 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, поддержка основных SDK | 100%, эталон стандарта | Зависит от версии (~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.
Платформа поддерживает стандартные клиенты и утилиты, поэтому перенос можно выполнить любым удобным способом. Ниже список рекомендуемых инструментов.
- Можно перенести данные из одного хранилища в другое.
Например, вы можете перенести все свои данные в PC-Storage задав специальную команду миграции или изучив документацию. В случае необходимости, команда PlatformCraft поможет осуществить перенос данных в хранилище.
- Синхронизация бакетов при помощи 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’)
- rclone – простой вариант для миграции из одного S3-хранилища в другое без переноса настроек бакетов.
Необходимо будет подключить хранилище-источник и целевое хранилище.
rclone config
Для синхронизации данных между двумя хранилищами понадобится следующая команда:
rclone sync source:bucket destination:bucket —progress
После небольшого ожидания, данные будут перенесены, с сохранением директорий.
- S3cmd – инструмент для управления S3-like хранилищем для операционных систем MacOS и Linux.
Необходимо будет подключить хранилище-источник и целевое хранилище. Для синхронизации данных между двумя хранилищами понадобится следующая команда:
s3cmd —configure
Для синхронизации данных между двумя хранилищами понадобится следующая команда:
s3cmd sync s3://old/ s3://new/
- Встроенные механизмы в 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?
- Использовать официальный endpoint PC-Storage.
https://eu-s3.platformcraft.com
Ошибки чаще всего связаны с неправильным адресом.
- Проверять ключи перед интеграцией.
Минимальный тест:
aws s3 ls bucket —endpoint-url=https://eu-s3.platformcraft.com
Если программа выводит содержимое вашего бакета, то ключи корректные.
- Настроить время на сервере.
S3-подпись зависит от точного времени. Команда синхронизации:
sudo ntpdate pool.ntp.org
- Использовать многопоточность для больших данных.
rclone:
rclone sync … —s3-upload-concurrency 12 —s3-chunk-size 100M
AWS CLI автоматически распределяет чанки (фрагменты данных).
- Проверять политики доступа.
Ошибки 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/*»
]
}
]
}
- Проводить тесты до запуска миграции.
Минимальный набор тестов:
- загрузить 3-5 файлов разного размера;
- прочитать их через разный клиент (CLI, браузер, SDK);
- запустить параллельные запросы;
- протестировать назначенные URL.
Если у вас возникнут проблемы с настройкой или миграцией, команда PlatformCraft поможет со всеми этапами.
FAQ – часто задаваемые вопросы
- Что такое S3-совместимость в PC-Storage?
S3-совместимость означает, что PC-Storage использует тот же S3 REST API, что и AWS S3: команды, структура запросов, заголовки и методы авторизации полностью соответствуют стандарту. Благодаря этому инструменты AWS CLI, rclone, s3cmd и SDK работают через указание нового эндпоинта.
- Как интегрировать PC-Storage с бизнес-системами?
Интеграция выполняется через S3 API или REST-запросы. CRM, ERP и корпоративные платформы подключаются к PC-Storage как к внешнему объектному хранилищу, используя ключи доступа и единый endpoint. Поддерживаются 1С, Bitrix, другие CRM, решения для резервного копирования, облачные сервисы и внутренние приложения.
- Чем S3-совместимость PC-Storage отличается от AWS?
По логике API ничем: PUT, GET, DELETE, multipart, URL и ACL работают одинаково. Отличия же есть в инфраструктуре и модели использования: PC-Storage полностью локален, нет платы за запросы, используется многократная репликация в РФ и нет региональных ограничений.
- Как выполнить миграцию в PC-Storage?
Миграция выполняется через rclone, s3cmd или скрипты SDK. Нужно создать бакет, проверить доступ, загрузить тестовый файл и затем запустить копирование данных. Структура каталогов и имен файлов сохраняется полностью, а в процессе миграции приложения могут продолжать работать с исходным хранилищем.
- Какие проблемы встречаются при интеграции и как их устранять?
Чаще всего возникают ошибки 403, 404 или SignatureDoesNotMatch. Они решаются корректной настройкой эндпоинтов, синхронизацией времени, проверкой прав доступа и оптимизацией многопоточности для больших файлов. PC-Storage полностью совместим с популярными S3-клиентами, поэтому диагностика выполняется стандартными инструментами.
Выводы
S3-совместимость PC-Storage делает его полноценной заменой AWS S3 для российских компаний, которым нужны стабильность, локальная инфраструктура и предсказуемая стоимость.
Интеграция выполняется за минуты, так как не требуется переписывания приложений и бизнес-логики.
Платформа одинаково подходит для CRM, ERP, e-commerce, аналитики, SaaS-решений, медиапроектов и корпоративных систем, где важны скорость, надежность и гибкость. Благодаря поддержке стандартных инструментов (AWS CLI, rclone, s3cmd, SDK) переход можно выполнить без простоев и потерь данных.




