Настройка rclone в KeyHelp на Облачное хранилище Selectel по протоколу S3

Если вы занимаетесь администрированием серверов, то вы, безусловно, знаете, насколько важно регулярно делать резервное копирование данных. Это поможет избежать потери важной информации в случае сбоя оборудования или вирусной атаки. Один из способов обеспечить безопасность данных — использовать облачное хранилище. В этой статье мы рассмотрим, как настроить rclone в панели управления KeyHelp для работы с облачным хранилищем Selectel по протоколу S3.

Что такое rclone и что такое протокол S3
Rclone — это инструмент командной строки для управления файлами на различных облачных хранилищах. Он поддерживает большое количество провайдеров, включая Amazon S3, Google Cloud Storage, Microsoft OneDrive, и многие другие. Rclone позволяет синхронизировать файлы, делать резервное копирование, а также выполнять другие операции с данными в облаке.

Протокол S3 (Simple Storage Service) — это протокол, разработанный компанией Amazon для работы с облачным хранилищем Amazon S3. Этот протокол стал стандартом в индустрии облачных технологий и используется множеством провайдеров облачных услуг, включая Selectel.

Настройка rclone в KeyHelp
Rclone установит сама KeyHelp. Делать вам ничего не нужно. Так что сразу переходим к настройке репозитория. Исходим из того, что все пользователи и роли для контейнера уже созданы.

Настройка репозитория
Заходим в НастройкиРезервное копирование.

Идем в Управление репозиторием (клик по картинке для увеличения).

Идем в Добавить репозиторий.

Пишем пароль для шифрования бэкапов, их количество. Тип хранилища Кастомный.

Настраиваем хранилище, получив ключ S3:

Можно просто скопировать эти параметры:
type = s3
provider = Other
env_auth = false
access_key_id = ВАШ S3 ID
secret_access_key = ВАШ S3 PRIVATE KEY
region = ru-1
endpoint = s3.ru-1.storage.selcloud.ru
Тестирование связи
Если вы все сделали правильно, вывод в Резервном копировании будет таким.

ВАЖНО!
При использовании Restic по протоколу FTP вместо Rclone может появиться такая ошибка:
500 Could not list: can't fetch objects list: Request forbidden: [GET https://swift.ru-1.storage.selcloud.ru/v1/23afd9714b3741ef9e3e43aef69d4e71/], error message:
а в FileZilla такая:
Ответ: 500 Could not list: can't fetch objects list: Request forbidden: [GET https://swift.ru-1.storage.selcloud.ru/v1/23afd9714b3741ef9e3e43aef69d4e71/], error message:
Ошибка: Не удалось получить список каталогов
Для взаимодействия с объектным хранилищем используется сервисный пользователь с ролью «Пользователь объектного хранилища». Пользователь с такой ролью стандартно не обладает необходимыми правами для взаимодействия с объектами, как следствие, при попытке авторизации по общему endpoint для доступа с FTP, фигурирует отрицательный ответ.

В данном случае, рекомендуемым вариантом, является использование сервисного пользователя с ролью администратора проекта облачной платформой. Ограничить доступ к другим контейнерам можно на уровне Bucket policy (политик доступа). Более подробно о политиках доступа в документации:

Настраивать политики доступа можно как с использованием консольных решений, например из инструментария AWS CLI, так и с помощью графического интерфейса панели управления.

Благодарю техподдержку Selectel за помощь при разборе проблемы с эндпойнтами Restic и FTP.
Поделиться:

Похожие публикации

Тут ничего нет

Нет комментариев