Анализ преимуществ и недостатков трех наиболее удобных и распространенных подходов к подключению для выбора оптимального варианта.
Amazon Simple Storage Service (Amazon S3) — это служба объектного хранения данных, обеспечивающая масштабируемость, доступность данных, безопасность и производительность. Миллионы клиентов разных масштабов и отраслей хранят, управляют, анализируют и защищают любые объемы данных практически для любых целей, таких как озера данных, облачные приложения и мобильные приложения.
Некоторые крупные облачные провайдеры полностью поддерживают протокол S3, например: Selectel, VK Cloud, Timeweb Cloud и RuVDS Object Storage. Yandex Object Storage также поддерживает протокол S3, но с некоторыми ограничениями.
Экономичные классы хранения и удобные функции управления помогают оптимизировать затраты, организовать данные и гибко настраивать доступ под требования бизнеса и законодательства.
Среди подобных сервисов Amazon S3 пользуется большим спросом. Некоторые наши клиенты используют в своей работе связку Loginom и S3.
Существует множество способов подключения к Amazon S3. В данной статье рассмотрено 3 варианта. Они являются наиболее удобными и эффективными. Выбор конкретного варианта будет зависеть от потребностей клиента и его инфраструктуры.
Один из способов интеграции S3 в Loginom — монтирование. Монтирование — это процесс, при котором операционная система добавляет каталоги и файлы с устройства хранения данных в файловую систему компьютера пользователя. Файловая система присоединяется к пустому каталогу, чтобы пользователь системы мог получить доступ к данным, доступным на устройстве хранения данных, через системный файловый менеджер.
Таким образом, в Loginom можно будет работать с данными файлами, словно они находятся на компьютере пользователя.
Реализовать это можно через монтирование сетевого ресурса. Осуществляется как через s3fs, так и через файловый клиент Mountpoint.
Преимуществом данного способа подключения является обеспечение постоянного доступа к хранилищу S3 за счет поддержания активного соединения между клиентом и сервером. Однако этот же фактор составляет основной недостаток подхода: непрерывная синхронизация данных требует значительного количества запросов, что существенно увеличивает нагрузку на локальный сервер пользователя.
Следующий способ — это работа через AWS Command Line Interface — консольная утилита, которая позволяет пользователям управлять ресурсами Amazon Web Services (AWS). С ее помощью можно настроить передачу файлов по расписанию, используя командную строку.
При помощи узла Выполнение программы в Loginom можно настроить отправку команд в AWS Command Line Interface. Этот способ работает только в ОС Windows.
Для работы в ОС Linux необходимо использовать посредник, к примеру shell2http, который будет посылать команды в AWS CLI через механизм REST-запроса из Loginom. Данная утилита не является единственно возможной для работы с AWS CLI.
Например, для создания корзины S3 выполните команду:
aws s3 mb s3://my-new-bucket
Эта команда создает новую корзину S3 с именем my-new-bucket
. Надо принимать во внимание, что имя корзины должно быть глобально уникальным (уникальным в рамках всего S3).
Или можно получить список объектов в корзине:
aws s3 ls s3://my-bucket/
При помощи AWS Command Line Interface можно выполнить все необходимые операции с S3. Данный способ интеграции позволяет отправлять запросы по расписанию, установленному пользователем. Это покрывает недостаток предыдущего варианта в большом объеме запросов, однако этот способ подходит не всем.
Третий способ — это интеграция через REST API. Посредством отправки REST-запросов из Loginom организуется подключение к хранилищу Amazon S3. Это гибкий механизм: пользователь может загружать и скачивать файлы в любое время через интерфейс Loginom.
Он заключается в следующем:
Результатом выполнения запроса будут таблицы с ответами сервиса и с результатами выполнения запросов, описанием ошибок, кодами завершения и состояния HTTP.
Преимущественно используются три метода: ListObjectV2, GetObject и PutObject.
Loginom также имеет встроенный планировщик задач, с помощью которого можно настроить исполнение REST-запросов по расписанию.
Критерий | Монтирование файловой системы | AWS CLI | REST API |
---|---|---|---|
Сложность настройки | Средняя (требует установки s3fs/Mountpoint) | Высокая (нужны скрипты, для Linux - shell2http) | Средняя (требует знания API) |
Производительность | Низкая (высокая нагрузка) | Средняя | Высокая |
Простота использования | Высокая | Средняя | Низкая |
Гибкость | Ограниченная (работа как с файлами) | Высокая | Максимальная (полный контроль) |
Доступность данных | Постоянная (как локальный диск) | По требованию (по расписанию) | По требованию (по расписанию) |
Кроссплатформенность | Linux/Windows | Windows/Linux (через обходной путь) | Linux/Windows |
Безопасность | Зависит от настроек монтирования | Высокая (IAM-роли) | Высокая (HTTPS + ключи) |
При выборе способа интеграции Amazon S3 с Loginom следует учитывать конкретные задачи. Для постоянного доступа к файлам, аналогичного работе с локальным диском, оптимально подходит монтирование файловой системы. Этот вариант отличается простотой использования, но может создавать повышенную нагрузку на сервер.
В случаях, когда требуется автоматизированная обработка данных по расписанию, рекомендуется использовать AWS CLI: данный подход обеспечивает гибкость управления через команды, однако требует дополнительной настройки, особенно в Linux-средах.
Если же приоритетом является максимальный контроль операций, наилучшим решением станет REST API, сочетающий эффективное использование ресурсов с возможностью точечного управления данными, хотя и предполагающий знание API S3.
Каждый из методов обладает уникальными преимуществами и ограничениями, поэтому окончательный выбор должен основываться на специфике технических требований и особенностях инфраструктуры.
Другие материалы по теме:
Факты об интеграциях в Loginom: как преобразить разноплатформенный IT-ландшафт