Перейти к основному содержимому

Хранилище S3

Последовательность действий​

Для интеграции Platform V CopyWala с хранилищем S3 необходимо:

  1. Использовать хранилище, совместимое с интерфейсом S3 API (например, MinIO, Amazon AWS S3, Ceph и подобные решения);

  2. В конфигурационном файле copywala.yaml указать следующие параметры:

    s3:
    region: ru-test
    access_id: <id> # идентификатор хранилища
    secret_key: <key> # секретный ключ хранилища
    tls: # (опционально) сертификаты для подключения к хранилищу через tls
    rootca: # пути к сертификату удостоверяющего центра
    local_path: tls/root.crt # путь к локальному файлу
    vault_path: <path> # путь к секрету в HashiCorp/SecMan
    vault_key: <key> # ключ внутри JSON-секрета
    cert: # пути к сертификату сервера
    local_path: tls/cert.crt
    vault_path: <path> # путь к секрету в HashiCorp/SecMan
    vault_key: <key> # ключ внутри JSON-секрета
    key: # пути к ключу сервера
    local_path: tls/cert.key
    vault_path: <path> # путь к секрету в HashiCorp/SecMan
    vault_key: <key> # ключ внутри JSON-секрета
  3. При вызове соответствующей команды, обязательно укажите путь для доступа к S3-хранилищу. Конкретный параметр зависит от типа вызываемой команды.

Например, для создания резервной копии в конфигурационном файле copywala.yaml поле backup_destination_uri должно иметь следующий вид:

backup_destination_uri: s3://srv-10-20.host/bucket-08-9992

Где:

  • srv-10-20.host - путь к хранилищу;
  • bucket-08-9992 - имя бакета, в который будет загружен архив.
Внимание!

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

  • HeadObject – проверка существования и получение метаданных объекта;
  • GetObject – загрузка самого объекта из хранилища;
  • HeadBucket – проверка существования и получение метаданных бакета;
  • CreateBucket – создание нового бакета в хранилище;
  • CreateMultipartUpload – инициализация загрузки большого объекта частями (multipart upload);
  • UploadPart – передача частей загружаемого объекта;
  • CompleteMultipartUpload – завершение многочастной загрузки объекта;
  • AbortMultipart – отмена незавершенного процесса multi-part загрузки.

Проверка результата​

Интеграция с хранилищем S3 считается успешно выполненной, если в журналах (логах) приложения отсутствуют записи об ошибках, связанных с подключением, передачей данных или операциями чтения-записи в объектном хранилище S3.