MCDrive S3: как подключить и работать через AWS CLI, rclone и restic

Облачное хранение Опубликовано: · 9 мин чтения

В MCDrive можно включить S3 — стандартный протокол, с которым работают программы резервного копирования, сайты и приложения. Файлы бакета сразу видны в папке S3 на диске, данные хранятся в Ташкенте, а трафик и запросы не оплачиваются. Разбираем подключение, ключи и настройку популярных программ.

Что такое S3 в MCDrive

S3 — стандартный протокол объектного хранилища: с ним работают программы резервного копирования, сайты и приложения. В MCDrive S3 подключается к вашему облачному диску. Вы получаете свой закрытый бакет, и все файлы из него видны в папке S3 в Synology Drive. Работает и наоборот: файл, положенный в эту папку через Drive, доступен по S3.

Для чего подходит:

  • автоматические резервные копии серверов и VPS (restic, rclone, Veeam, Duplicati);
  • хранение файлов сайтов и приложений, выгрузок и архивов;
  • передача данных между серверами через стандартный S3 API.

Данные хранятся в Узбекистане, в дата-центре MyCloud, на отдельной системе хранения — не на дисках и хостах VPS.

Стоимость и подключение

ПараметрЗначение
Тариф20 сум за 1 ГБ в сутки
Минимальный объём50 ГБ — от 1 000 сум в сутки, около 30 000 сум в месяц
Баланс для подключенияне меньше 7 000 сум (7 дней минимального объёма)
Трафик и запросывключены, отдельно не оплачиваются
Старые версии файловучитываются в объёме по тому же тарифу

Как подключить:

  1. Войдите в кабинет mcvps.uz и при необходимости пополните баланс.
  2. Закажите MCDrive, если его ещё нет, — по шагам это описано в руководстве по подключению MCDrive.
  3. Откройте услугу MCDrive → раздел S3 → «Подключить S3».
  4. Скопируйте параметры подключения и ключи.

Если на балансе не хватает средств, доступ по S3 приостанавливается, данные сохраняются. После оплаты доступ восстанавливается с теми же ключами.

Параметры подключения и ключи

ПараметрЗначение
Endpoint (адрес сервера)https://s3.mcdrive.uz
Регионuz-tashkent-1
Стиль адресацииpath-style (в программах — «force path style», «path»)
Бакетуказан в кабинете (обычно совпадает с логином MCDrive)
Access key / Secret keyв кабинете, раздел S3

Регион указывайте именно uz-tashkent-1. Многие программы по умолчанию подставляют us-east-1 — с ним сервер отклонит запросы. Если регион выбирается из списка, выберите «свой» (custom) и впишите вручную.

Два вида ключей

ВозможностьОсновной ключОграниченный ключ
Загрузить, скачать, посмотреть списокдада
Удалить файлдатолько пометить удалённым — файл можно вернуть
Удалить старые версии навсегдаданет

Основной ключ даёт полные права на бакет. Храните его отдельно от сервера, например в менеджере паролей.

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

Не передавайте ключи третьим лицам. Если ключ мог утечь, нажмите в кабинете «Новые ключи» — старый сразу перестанет работать.

Подключение программ

Во всех примерах замените <bucket>, <access key> и <secret key> на значения из кабинета.

AWS CLI

Установите AWS CLI версии 2 с официального сайта AWS, затем:

aws configure --profile mcdrive
#   AWS Access Key ID:      <access key>
#   AWS Secret Access Key:  <secret key>
#   Default region name:    uz-tashkent-1
#   Default output format:  json
aws configure set profile.mcdrive.s3.addressing_style path
aws configure set profile.mcdrive.request_checksum_calculation when_required
aws configure set profile.mcdrive.response_checksum_validation when_required

Работа с файлами:

E="--profile mcdrive --endpoint-url https://s3.mcdrive.uz"
aws $E s3 ls s3://<bucket>/                          # список файлов
aws $E s3 cp file.zip s3://<bucket>/backup/          # загрузить файл
aws $E s3 cp s3://<bucket>/backup/file.zip ./        # скачать файл
aws $E s3 sync /var/backups s3://<bucket>/backups/   # синхронизировать папку

Две строки с checksum нужны для свежих версий AWS CLI: без них загрузка может завершаться ошибкой.

rclone

Добавьте в rclone.conf (или создайте через rclone config: тип «S3», провайдер «Other»):

[mcdrive]
type = s3
provider = Other
access_key_id = <access key>
secret_access_key = <secret key>
endpoint = https://s3.mcdrive.uz
region = uz-tashkent-1
force_path_style = true
rclone ls mcdrive:<bucket>                         # список файлов
rclone copy /var/backups mcdrive:<bucket>/backups  # копировать новое и изменённое
rclone sync /var/backups mcdrive:<bucket>/backups  # сделать точную копию папки

restic — зашифрованные резервные копии

restic сам шифрует данные перед загрузкой, поэтому в хранилище попадают только зашифрованные блоки. Для сервера рекомендуем ограниченный ключ.

export AWS_ACCESS_KEY_ID=<access key>
export AWS_SECRET_ACCESS_KEY=<secret key>
export RESTIC_REPOSITORY=s3:https://s3.mcdrive.uz/<bucket>/restic
export RESTIC_PASSWORD_FILE=/root/.restic-password   # пароль шифрования, храните копию отдельно
R="-o s3.region=uz-tashkent-1 -o s3.bucket-lookup=path"

restic $R init                 # один раз
restic $R backup /var/www /etc # резервная копия
restic $R snapshots            # список копий
restic $R check                # проверка целостности
restic $R restore latest --target /restore

Если пароль restic потерян, восстановить данные невозможно — в том числе силами MyCloud.

Другие программы

Veeam, Duplicati, Synology Hyper Backup, CloudBerry и другие: выберите тип хранилища «S3-compatible» (S3-совместимое, другой S3-сервер) и укажите:

  • адрес сервера: s3.mcdrive.uz, HTTPS, порт 443;
  • регион: uz-tashkent-1;
  • path-style, если есть такая настройка;
  • бакет и ключи из кабинета.

Не включайте режим Object Lock / immutable (неизменяемые копии): хранилище его не поддерживает, и задание завершится ошибкой. Защиту копий от удаления даёт ограниченный ключ с версиями файлов.

Версии файлов

Когда версии включены, перезапись файла сохраняет прежнюю версию, а удаление только ставит метку «удалён». Версии включаются автоматически вместе с ограниченным ключом. Команды ниже выполняются основным ключом через AWS CLI (профиль mcdrive из раздела выше).

Посмотреть версии файла:

E="--profile mcdrive --endpoint-url https://s3.mcdrive.uz"
aws $E s3api list-object-versions --bucket <bucket> --prefix backup/file.zip

В ответе Versions — сохранённые версии с VersionId и датой, DeleteMarkers — метки удаления.

Скачать нужную версию:

aws $E s3api get-object --bucket <bucket> --key backup/file.zip --version-id <VersionId> ./file.zip

Вернуть удалённый файл — удалить его метку удаления (VersionId из DeleteMarkers):

aws $E s3api delete-object --bucket <bucket> --key backup/file.zip --version-id <VersionId метки>

Освободить место — удалить старую версию навсегда:

aws $E s3api delete-object --bucket <bucket> --key backup/file.zip --version-id <VersionId старой версии>

Старые версии автоматически не удаляются и учитываются в оплачиваемом объёме. Следите за ними в кабинете (раздел S3, блок «Объём»). У restic после restic forget --prune старые данные тоже остаются версиями, пока вы не удалите их основным ключом.

Версии сохраняются только для операций через S3. Файл, удалённый из папки S3 через Synology Drive или File Station, версией не сохраняется.

Ограничения и частые ошибки

Что не поддерживается:

  • создание новых бакетов — у каждого клиента один бакет, внутри можно делать любые папки;
  • адреса вида <bucket>.s3.mcdrive.uz — только path-style;
  • Object Lock (запрет удаления на срок даже для владельца);
  • автоматическое удаление старых версий (lifecycle);
  • имена файлов со слешем на конце или с символами, недопустимыми в файловой системе.
ОшибкаПричинаЧто сделать
SignatureDoesNotMatch, AuthorizationHeaderMalformedневерный регион или secret key, неточное время на компьютеререгион uz-tashkent-1; проверьте ключ и синхронизацию времени (NTP)
InvalidAccessKeyIdключ заменён, удалён или услуга приостановленапроверьте ключ и баланс в кабинете
AccessDeniedчужой бакет, попытка создать бакет или удалить версию ограниченным ключомукажите свой бакет; для удаления версий — основной ключ
Не удаётся найти сервер или бакет (DNS)программа обращается к <bucket>.s3.mcdrive.uzвключите path-style
Ошибка контрольной суммы при загрузке в AWS CLIновые контрольные суммы по умолчаниюдобавьте настройки when_required из раздела про AWS CLI
Не хватает местаисчерпан оплаченный объём MCDriveудалите лишнее или увеличьте объём в кабинете

Если ошибка не уходит, напишите в чат кабинета mcvps.uz — ответит AI-помощник или оператор. Укажите имя бакета, программу и полный текст ошибки. Secret key в поддержку не отправляйте.

Как подключить MCDrive к виртуальной машине по NFS или SFTP — в статье «Как подключить MCDrive к VM». Тарифы и калькулятор — на странице MCDrive.

Нужна помощь с задачей из статьи?

Подберём конфигурацию, посчитаем стоимость и поможем с переносом.

Не знаете, что выбрать? Подскажем и подберём конфигурацию

Напишите, что нужно — сервер для 1С, камеры для ПВЗ или переезд с другого хостинга. Подберём решение, назовём точную цену и поможем с переносом: проконсультируем и подскажем порядок действий.