Выбираем систему хранения файлов для командной работы / Хабр
Мы работаем с большими объемами медиа данных: видео, рендеры, фото, иллюстрации. Чтобы обеспечивать коллективную работу, нам нужен постоянный общий доступ ко всем этим файлам.
В какой-то момент нам перестало хватать собственного сервера, и мы начали искать облачное хранилище, удовлетворяющее нашим запросам.
Мы сравним популярные облачные хранилища для бизнеса: Google Drive, DropBox, Citrix ShareFile и Microsoft OneDrive.
Наши требования к облачному хранилищу:
- Безлимитный объем данных — у нас много данных, в среднем около 10ТБ. Не хочется постоянно думать сколько нужно докупить места в этом месяце и почему вдруг кончилась квота.
- Версионность файлов и логирование — git приучил нас, что все изменения можно видеть и откатить. Поэтому и с файлами должны быть точно так же: любое изменение, удаление должно быть обратимо и легко контролироваться.
- Права доступа — никаких больше общих папок доступных всем.
- Upload без регистрации — клиенты не должны больше искать файлообменники, чтобы прислать нам тяжелый файл. Файлы должны сразу загружаться в наше хранилище без промежуточных сервисов.
Как это было раньше
Когда данных было поменьше, а облачных сервисов (за разумные деньги) не было, нам приходилось держать здоровенный сервер с хрустящими жесткими дисками в RAID массиве. Доступ к нему происходил через SMB. За ним нужно было постоянно присматривать, менять жесткие диски, бекапить. Раз в месяц у него что-то происходило: то скорость записи/чтения резко падала, то какая-то папка или файл становились недоступны из-за недопустимых символов в названии и т.д.
Когда сотрудников стало больше, они начали работать удаленно, да и еще и с разных операционных систем: Windows, macOS. Для доступа к серверу пришлось развернуть VPN, который обеспечивал хоть и медленный, но доступ к файлам.
В какой-то момент стало понятно, что этот подход устарел и мы стали искать ему замену.Объем хранилища и цены
Мы храним большие объемы данных, около 10ТБ в среднем. Во время активной работы эта цифра может увеличиваться в несколько раз. Проекты приходится хранит еще несколько месяцев после сдачи клиенту, а то и вечно. Поэтому для нам нужно безлимитное хранилище, чтобы каждый месяц не думать сколько нужно докупить гигабайтов.
Количество сотрудников варьируется в пределах десяти, поэтому для удобства мы будем считать стоимость тарифов на 10 сотрудников.
Citrix ShareFile | Dropbox | Google Drive | Microsoft OneDrive | |
---|---|---|---|---|
Объем | Не ограничен | Не ограничен | Не ограничен | Не ограничен |
Цена за 10 пользователей в месяц | 150$ | 200$ | 100$ | 125$ |
У большинства сервисов такой ценник только при оплате на год вперед, и при оплате помесячно цена выше на 20-40%. Это нужно учитывать.
Скрытые ограничения
Обычно, если что-то указано как безлимитное, нужно искать мелкий серый текст в условиях. У каждого сервиса есть свои особенности, которые можно не разглядеть с первого взгляда. У некоторых они настолько странные, что делают их полностью бесполезными для нашей задачи.
Microsoft OneDrive
В бизнес тарифах Microsoft OneDrive максимальный размер файла ограничен 15ГБ. Это просто какое-то недоразумение! Во времена, когда даже бюджетные камеры снимают видео с битрейтом 200Mbit/s и легко генерируют файлы размером сотни гигабайт. Это ограничение делает сервис OneDrive полностью бесполезным для нас.
Выборочная синхронизация
Бухгалтеру Светлане не нужно на компьютере 2ТБ видео с которыми работает видеограф Андрей. Для этого система должна иметь функцию выборочной синхронизации, то есть пользователь должен вручную отметить какие файлы ему нужны локально на компьютере, а какие только по запросу. Все четыре сервиса поддерживают эту функцию. Однако приложение Google Drive позволяет отметить только папки в корне диска, то есть нельзя включить синхронизацию только для Бухгалтерия —> Отчеты —> 2018, можно только для всей папки Бухгалтерия.
Права доступа
Версионность
Citrix ShareFile | Dropbox | Google Drive | Microsoft OneDrive | |
---|---|---|---|---|
Версионность файлов |
Кто случайно удалил файл из общей папки? За какое число у нас там последний бекап? У кого-нибудь может сохранилось? Это очень неприятная ситуация.
Особенно весело, когда кто-то запустил из дома вирус-шифровальщик и сломал все файлы, к которым у него есть доступ. Помимо нештатных ситуаций часто бывает необходимость откатиться на более старую версию файла, чтобы сравнить изменения или исправить проблемы. Раньше для этого приходилось обращаться к админу который доставал его из ночного бекапа. А если изменения происходили в течение дня, то они были потеряны.Теперь мы можем мгновенно обратится к любой версии файла. Особенно приятно, что видно каким пользователем были сделаны изменения. Это исключает ситуации, когда можно сказать «это не я, оно уже так было«.
Список изменений файла в ShareFile с указанием даты и аккаунта который вносил изменения.
Запрос файлов и анонимная загрузка
Citrix ShareFile | Google Drive | Microsoft OneDrive | ||
---|---|---|---|---|
Анонимная загрузка |
Частая ситуация — клиент или фрилансер хочет передать вам большие файлы, в нашем случае это видео или рендер. И начинаются мучения: «а куда залить 100 гигов? Может лучше прислать курьера с жестким диском? А как пользоваться FTP/SFTP клиентом?». Даже если клиент публикует файл на файлообменник, его нужно сперва скачать, а потом загрузить в общую папку для всех сотрудников. И если файлов много и они большие, намного удобнее залить их сразу в наше хранилище.
Раньше нам приходилось создавать временный аккаунт на FTP сервере и выдавать его клиенту. Попутно долго объясняя, как настроить FTP клиент, как восстановить закачку после обрыва и так далее. Сейчас же можно просто нажать «запросить файлы» на любой папке, и сервис создаст анонимную ссылку, по которой можно залить файлы через браузер. При этом разрешена только загрузка, нельзя увидеть, что уже находится в папке или как-то просматривать на сервере. Это избавляет от необходимости создавать временные учетные записи для клиентов и следить за их удалением. Эту функцию поддерживают только ShareFile и Dropbox.
Доступ по WebDAV и FTP
Citrix ShareFile | Dropbox | Google Drive | Microsoft OneDrive | |
---|---|---|---|---|
WebDAV | Через сторонние программы | |||
FTP(S) |
В некоторых случаях установка стороннего ПО на компьютер не желательна или невозможна, например на корпоративных системах.
Клиенты для этих протоколов встроены в большинство операционных систем. Правда клиент macOS почему-то часто монтирует WebDAV в режиме read only.
Хранилище Citrix ShareFile можно подключить по WebDAV без установки стороннего софта
Вывод
Мы сразу отбросили Microsoft Onedrive из-за нелепого ограничения 15ГБ на размер файла. Google drive не позволяет нормально пользоваться диском без почты на g suite (бывший google apps). Поэтому на текущий момент мы выбираем между Dropbox и Citrix ShareFile. Решающим фактором, полагаю, станет качество ПО, потому что в остальном сервисы похожи. У каждого есть свои странности. Например, программа Dropbox для windows в какой-то момент тихо перестает синхронизировать файлы, при том, что внешне никаких признаков проблемы нет.
Лечится очисткой системной папки temp.5 лучших бесплатных FTP-клиентов для Windows • Оки Доки
FTP отошел на второй план в качестве метода обмена файлами, но он по-прежнему полезен для передачи с ПК на ПК и с ПК на мобильный телефон и по-прежнему является популярным методом загрузки файлов на веб-хост. Хорошая работа с FTP сводится к тому, какое приложение FTP-клиента вы используете, поэтому убедитесь, что вы используете FTP-клиент, который вам нравится.
Прежде чем погрузиться в эти сторонние FTP-клиенты для Windows, вы должны знать, что вы можете добавлять FTP-серверы непосредственно в проводник. Это позволяет вам просматривать FTP-серверы, как если бы они были подключены к вашей системе.
Но если вы предпочитаете выделенный FTP-клиент, вот лучшие бесплатные FTP-клиенты для Windows. Вместо этого не нужно тратить деньги на оплаченный!
1. WinSCP
Нет никакого сравнения: WinSCP — лучший бесплатный FTP-клиент для Windows. Несмотря на простоту и удобство использования, он содержит несколько расширенных функций, которые могут удовлетворить даже самые взыскательные потребности FTP.
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
Помимо FTP, WinSCP поддерживает передачу файлов и удаленное редактирование файлов с использованием протоколов SFTP, SCP и WebDAV. Независимо от того, что вы используете, он может синхронизировать локальные каталоги с удаленными каталогами.
WinSCP интегрируется непосредственно в Windows, обеспечивая плавное перетаскивание, дополнительные параметры в контекстном меню «Отправить» и ярлыки на рабочем столе для часто используемых серверов. Он также имеет встроенный текстовый редактор, который позволяет немедленно редактировать удаленные файлы (полезно для настройки HTML, CSS, JS и т. Д.).
Для опытных пользователей WinSCP имеет интерфейс командной строки (полный список команд) и поддержка сценариев (пакетные файлы и сборки . NET). Требуется некоторая кривая обучения, но она отлично подходит для автоматизации задач.
И это с открытым исходным кодом! WinSCP является ярким примером того, что программное обеспечение с открытым исходным кодом не должно быть отстойным и что можно обойтись только программным обеспечением с открытым исходным кодом.
2. Cyberduck
Cyberduck — это простой, но эффективный FTP-клиент, который лучше всего подходит для случайной передачи файлов. Он ни в коем случае не прост и может быть полезен опытным пользователям, но интерфейс упрощен. Более объемные и частые передачи файлов могут быть проще с более полным интерфейсом.
Cyberduck распространяется бесплатно и с открытым исходным кодом. Он поддерживает несколько протоколов поверх FTP, включая SFTP и WebDAV, а также простые подключения к Dropbox, Google Drive, Amazon S3, Backblaze B2 и Microsoft Azure, среди прочего.
Cyberduck легко интегрируется с любым внешним текстовым редактором, что удобно для удаленного редактирования веб-файлов. Он также имеет функцию быстрого просмотра, которая позволяет просматривать файлы. без скачивая их. Локальные каталоги можно синхронизировать с удаленными каталогами.
Но лучшая особенность Cyberduck — это его приверженность безопасности. Он поставляется с функцией под названием Cryptomator, которая шифрует имена файлов и каталогов и размывает структуры каталогов. Другими словами, даже если кто-то перехватит ваш перевод, он не сможет увидеть, что вы передаете.
Вы заметите, что Cyberduck отображает запрос на пожертвование каждый раз, когда вы обновляетесь до новой версии. Поскольку Cyberduck полностью бесплатен и имеет открытый исходный код, добавление запроса на пожертвование совершенно понятно. Если вы хотите навсегда удалить запрос на пожертвование из бесплатного FTP-клиента, вы можете сделать пожертвование и зарегистрироваться, для чего вы получите регистрационный ключ. Если вы обнаружите, что используете Cyberduck в качестве ежедневного драйвера FTP, подумайте о поддержке разработчика!
В Windows 10 Cyberduck доступен как отдельное настольное приложение и приложение UWP в Магазине Windows. Мы рекомендуем настольную версию.
3. FileZilla
FileZilla остается одним из самых популярных бесплатных FTP-клиентов для Windows 10. Вы также найдете FileZilla в macOS и Linux.
Основные причины его популярности — простота использования и обширный набор инструментов. Он поддерживает управление пропускной способностью, пассивный и активный режимы, аутентификацию учетных данных и данных, а также протоколы FTP, SFTP и FTPS. Существуют и другие удобные инструменты, такие как удаленный поиск файлов (с гибкими фильтрами и сопоставлением шаблонов) и создание закладок для часто используемых файлов и мест.
В прошлом FileZilla вызывал споры. В 2014 году стало известно, что в Интернете распространяется поддельная версия FileZilla (версии 3.5.3 и 3.7.3). «Злой двойник» FileZilla был изменен для кражи учетных данных FTP и хранения их на удаленном сервере.
В течение долгого времени FileZilla распространяла свои загрузки через SourceForge, который был хорошо известен связью рекламного ПО с установщиками. Хотя SourceForge больше не занимается подобной практикой, FileZilla по-прежнему занимается. Как таковой, обратите внимание во время установки и обязательно Отказаться любое дополнительное программное обеспечение.
Несмотря на установочный пакет рекламного ПО, FileZilla — надежный бесплатный FTP-клиент для Windows 10.
4. CoreFTP LE
CoreFTP LE — это бесплатная версия Core FTP Pro, FTP-клиента премиум-класса для Windows 10. Хотя в расширенной версии есть некоторые дополнительные функции (автоматическая запланированная FTP-передача, расширенное шифрование и дешифрование файлов и т. Д.), Бесплатная версия очень удобна. стоит вашего времени.
Он включает в себя полную интеграцию с браузером, управление пропускной способностью, удаленный поиск файлов и автоматическую постановку в очередь загрузки с поддержкой FTP, SFTP, FTPS и др. Вы можете легко передавать данные с сервера на сервер, не задействуя локальный компьютер, что сэкономит вам время по сравнению с другими бесплатными FTP-клиентами. Автоматическое выполнение команд тоже полезно.
CoreFTP LE не впечатляет, но выполняет свою работу хорошо. Помните, что вы можете использовать CoreFTP LE или любой другой FTP-клиент из этого списка для передачи данных на Raspberry Pi 4.
5. FTP-вояджер
Список бесплатных FTP-клиентов для Windows 10 заканчивается FTP Voyager, достойным вариантом с графическим интерфейсом возврата. Те, кто знаком с более ранними версиями Windows, помнят (с любовью или нет!) Синий цвет и круглые круглые кнопки. Пользовательские интерфейсы могли быть модернизированы, но слегка устарелый вид не сдерживает FTP Voyager.
Действительно, FPT Voyager позволяет одновременно подключаться к нескольким FTP-серверам, загружая файлы на любой из них. Использование вкладок помогает вам отслеживать FTP-серверы, легко переключаясь между вашими соединениями. Есть также варианты перетаскивания файлов, автоматической синхронизации файлов между серверами, передачи по расписанию и передачи файлов в определенные папки с использованием расширений файлов (например, отправка файлов JPEG в папку «Фото»).
Включение мастера FTP-подключения является плюсом для новичков, и вы можете сохранять и загружать несколько конфигураций по своему усмотрению.
Итак, FTP Voyager может выглядеть немного устаревшим, но он работает там, где это важно.
FTP против SFTP? Важное примечание
Одним из самых больших недостатков FTP является то, что это простой текстовый протокол, что означает, что данные отправляются туда и обратно в виде удобочитаемого текста. Это уязвимость, потому что учетные данные также отправляются в виде обычного текста!
Если кто-то перехватывает попытку входа в систему, легко увидеть имя пользователя и пароль учетной записи.Не говоря уже о содержимом переданных файлов.
Вот почему вы должны по возможности предпочесть SFTP над FTP. SFTP, что означает протокол безопасной передачи файлов, использует шифрование для защиты передаваемых данных (как учетных данных, так и содержимого файлов).
Хорошие новости? Большинство служб, которые разрешают FTP-соединения, также поддерживают SFTP-соединения. А при использовании FTP-клиента фактический рабочий процесс одинаков для FTP и SFTP. Единственная разница в том, что при подключении вы выбираете SFTP вместо FTP.
Лучший бесплатный FTP-клиент для Windows 10
Как видно из приведенного выше списка, пользователи Windows 10 имеют широкий спектр бесплатных опций FTP-клиента. Выбор лучшего FTP-клиента зависит от ваших личных предпочтений. WinSCP обладает отличным набором функций, прост в использовании и имеет открытый исходный код, поэтому для меня он выигрывает.
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
создание надежного и недорогого FTP-сервера с использованием S3
Можно ли создать решение для резервного копирования/передачи файлов S3 FTP, сводя к минимуму проблемы с хранением файлов и администрированием планирования емкости?
FTP (протокол передачи файлов) — это быстрый и удобный способ передачи больших файлов через Интернет. Возможно, в какой-то момент вы настроили FTP-сервер и использовали блочное хранилище, NAS или SAN в качестве серверной части. Однако использование такого типа хранилища требует поддержки инфраструктуры и может стоить вам немало времени и денег.
Может ли решение S3 FTP работать лучше? Поскольку надежная и конкурентоспособная по цене инфраструктура AWS просто ждет, когда ее можно будет использовать, нам было любопытно посмотреть, сможет ли AWS предоставить нам то, что нам нужно, без головной боли администрирования.
Обновлено 14 августа 2019 г. — оптимизированы инструкции и подтверждено, что они по-прежнему действительны и работают.
Почему S3 FTP?Amazon S3 надежен и доступен, вот почему. Кроме того, если вы пропустили это, AWS только что анонсировала некоторые новые функции Amazon S3 во время последнего выпуска re:Invent.
- Amazon S3 предоставляет инфраструктуру, «рассчитанную на надежность 99,999999999% объектов».
- Amazon S3 обеспечивает «доступность объектов на уровне 99,99 % в течение заданного года».
- Вы платите именно за то, что вам нужно, без минимальных обязательств или авансовых платежей.
- В Amazon S3 нет ограничений на объем данных, которые вы можете хранить, или на то, когда вы можете получить к ним доступ.
- И последнее, но не менее важное: вы всегда можете оптимизировать производительность Amazon S3.
ПРИМЕЧАНИЕ. FTP не является безопасным протоколом и не должен использоваться для передачи конфиденциальных данных. Вы можете использовать для этого протокол передачи файлов SSH (иногда называемый SFTP).
Использование S3 FTP: хранилище объектов в качестве файловой системыSAN, iSCSI и локальные диски являются блочными устройствами хранения. Это означает, что тома блочного хранилища подключены непосредственно к машине, на которой работает операционная система, управляющая операциями вашей файловой системы. Но S3 создан для хранения объектов. Это означает, что взаимодействие происходит на уровне приложения через интерфейс API, а это означает, что вы не можете монтировать S3 непосредственно в своей операционной системе.
S3FS на помощь
S3FS-Fuse позволит нам смонтировать корзину как локальную файловую систему с доступом для чтения/записи. В смонтированных файловых системах S3FS мы можем просто использовать cp, mv и ls — и все основные команды управления файлами Unix — для управления ресурсами на локально подключенных дисках. S3FS-Fuse — это файловая система на основе FUSE, которая позволяет использовать полнофункциональные файловые системы в программе пользовательского пространства.
Итак, похоже, у нас есть все необходимое для решения S3 FTP. Как это будет работать на самом деле?
Параметры среды S3FTP
В этой задокументированной настройке использовались следующие параметры среды. Если вы отклоняетесь от этих значений, убедитесь, что вы правильно используете значения, которые вы установили в своей среде:
- Имя корзины S3: ca-s3fs-bucket (вам нужно будет использовать собственное уникальное имя корзины)
- S3 Bucket Регион: us-west-2
- Имя политики S3 IAM: S3FS-Policy
- Имя роли IAM EC2: S3FS-роль
- Публичный IP-адрес EC2: 18. 236.230.74 (у вас точно будет другой)
- Имя пользователя FTP: ftpuser1
- Пароль пользователя FTP: ваш-надежный-пароль-здесь
Примечание. В оставшейся части этой настройки предполагается, что корзина S3 и экземпляр EC2 развернуты/подготовлены в одном и том же регионе AWS.
Установка и настройка S3FTP
Шаг 1: Создание корзины S3
Первым шагом является создание корзины S3, которая будет конечным местом для файлов, загруженных по FTP. Мы можем сделать это, просто используя консоль AWS:
Шаг 2. Создайте политику и роль IAM для доступа на чтение/запись к корзине S3
Затем мы создадим политику и роль IAM для управления доступом к ранее созданной корзине S3.
Позже наш экземпляр EC2 будет запущен с прикрепленной ролью, чтобы предоставить ему права на чтение и запись корзины. Обратите внимание: очень важно использовать этот подход в отношении предоставления разрешений корзине S3, поскольку мы хотим избежать жесткого кодирования учетных данных в любом из наших скриптов и/или конфигурации, которые позже применяются к нашему FTP-экземпляру EC2.
Мы можем использовать следующую команду AWS CLI и файл политики JSON для выполнения этой задачи:
aws iam create-policy \ --policy-name Политика S3FS \ --policy-document file://s3fs-policy.json
Где содержимое файла s3fs-policy.json :
Примечание : имя корзины (ca-s3fs-bucket) необходимо заменить на имя корзины S3, которое вы используете в своей среде.
{ «Версия»: «2012-10-17», "Заявление": [ { «Эффект»: «Разрешить», "Действие": ["s3:ListBucket"], "Ресурс": ["arn:aws:s3:::ca-s3fs-bucket"] }, { «Эффект»: «Разрешить», "Действие": [ "s3:ПоместитьОбъект", "s3:ПолучитьОбъект", "s3:УдалитьОбъект" ], "Ресурс": ["arn:aws:s3:::ca-s3fs-bucket/*"] } ] }
Используя консоль AWS IAM, мы затем создаем S3FS-Role и присоединяем S3FS-Policy следующим образом:
Шаг 3: Запуск FTP-сервера (экземпляр EC2 — Amazon Linux)
Мы будем использовать AWS Amazon Linux 2 для нашего экземпляра EC2, на котором будет размещаться наш FTP-сервис. Опять же, используя интерфейс командной строки AWS, мы можем запустить экземпляр EC2, выполнив следующую команду, убедившись, что мы запускаем с прикрепленной ролью S3FS.
Примечание: в этом случае мы лениво используем –associate-public-ip-address для временного назначения общедоступного IP-адреса в демонстрационных целях. В производственной среде мы бы предоставили адрес EIP и использовали его вместо этого.
запущенные экземпляры aws ec2 \ --image-id ами-0d1000aff9a9bad89 \ --счет 1 \ --instance-type t3.micro \ --iam-instance-profile Имя=S3FS-роль \ --key-name EC2-KEYNAME-ЗДЕСЬ \ --security-group-ids SG-ID-ЗДЕСЬ \ --subnet-id ИДЕНТИФИКАТОР ПОДСЕТИ-ЗДЕСЬ \ --ассоциировать-публичный-IP-адрес \ --регион сша-запад-2 \ --тег-спецификации \ 'ResourceType=instance,Tags=[{Key=Name,Value=s3fs-instance}]' \ 'ResourceType=volume,Tags=[{Key=Name,Value=s3fs-volume}]'
Шаг 4. Сборка и установка S3FS из исходного кода:
Примечание . Оставшуюся часть установки S3 FTP можно быстро выполнить, выполнив сценарий s3ftp.install.sh на только что подготовленном экземпляре EC2. Сценарий предполагает, что корзина S3 создана в регионе Орегон (us-west-2). Если ваши настройки отличаются, вы можете просто обновить переменные в верхней части скрипта, чтобы устранить различия.
В противном случае установка S3 FTP выполняется вручную…
Далее нам нужно обновить локальные пакеты операционной системы и установить дополнительные пакеты, необходимые для сборки и компиляции бинарного файла s3fs .
sudo yum -y обновить && \ судо ням -y установить \ jq \ автосборка \ openssl-разработка \ гит \ gcc \ libstdc++-разработка \ gcc-С++ \ предохранитель \ плавкий предохранитель \ завиток-развитие \ libxml2-devel
Загрузите исходный код S3FS с GitHub, запустите сценарии предварительной сборки, соберите и установите Двоичный файл s3fs и подтвердите, что двоичный файл s3fs установлен правильно.
git-клон https://github.com/s3fs-fuse/s3fs-fuse.git cd s3fs-предохранитель/ ./autogen.sh ./настроить делать судо сделать установить какой s3fs s3fs --помощь
Шаг 5: Настройка учетной записи пользователя FTP и домашнего каталога
Мы создаем нашу учетную запись пользователя ftpuser1 , которую мы будем использовать для аутентификации в нашей службе FTP:
sudo adduser ftpuser1 sudo пароль ftpuser1
Мы создаем структуру каталогов для учетной записи пользователя ftpuser1 , которую мы позже настроим в нашей службе FTP и для которой будем монтировать с помощью двоичного файла s3fs:
sudo mkdir /home/ftpuser1/ftp sudo chown nfsnobody: nfsnobody /home/ftpuser1/ftp sudo chmod a-w /home/ftpuser1/ftp sudo mkdir /home/ftpuser1/ftp/файлы sudo chown ftpuser1:ftpuser1 /home/ftpuser1/ftp/files
Шаг 6. Установка и настройка службы FTP
Теперь мы готовы установить и настроить службу FTP, мы делаем это, установив пакет vsftpd :
sudo yum -y install vsftpd
Сделайте резервную копию файла конфигурации по умолчанию vsftpd. conf :
sudo mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
Теперь мы восстановим файл конфигурации vsftpd.conf , выполнив следующие команды:
sudo -s EC2_PUBLIC_IP=`curl -s ifconfig.co` кошка > /etc/vsftpd/vsftpd.conf << EOF анонимный_включить = НЕТ local_enable = ДА write_enable = ДА local_umask=022 dirmessage_enable = ДА xferlog_enable = ДА connect_from_port_20=ДА xferlog_std_format = ДА chroot_local_user = ДА слушать = ДА pam_service_name = vsftpd tcp_wrappers = ДА user_sub_token=\$ПОЛЬЗОВАТЕЛЬ local_root=/home/\$USER/ftp pasv_min_port=40000 pasv_max_port=50000 pasv_address=$EC2_PUBLIC_IP userlist_file=/etc/vsftpd.userlist userlist_enable = ДА userlist_deny = НЕТ EOF выход
Предыдущие команды теперь должны были привести к следующему набору свойств конфигурации VSFTP:
sudo cat /etc/vsftpd/vsftpd.conf анонимный_включить = НЕТ local_enable = ДА write_enable = ДА local_umask=022 dirmessage_enable = ДА xferlog_enable = ДА connect_from_port_20=ДА xferlog_std_format = ДА chroot_local_user = ДА слушать = ДА pam_service_name = vsftpd userlist_enable = ДА tcp_wrappers = ДА user_sub_token=$ПОЛЬЗОВАТЕЛЬ local_root=/home/$USER/ftp pasv_min_port=40000 pasv_max_port=50000 pasv_address = ХХХ userlist_file=/etc/vsftpd. userlist userlist_deny=NO
Где X.X.X.X был заменен общедоступным IP-адресом, назначенным вашему собственному экземпляру EC2.
Прежде чем мы двинемся дальше, рассмотрите следующие требования к брандмауэру, которые должны быть выполнены для соответствия требованиям конфигурации VSFTP в соответствии со свойствами, которые мы только что сохранили в файле vsftpd.conf :
- Этот конфигурация использует пассивный порт (40000-50000) для фактической передачи данных FTP. Вам нужно будет разрешить исходящие инициированные подключения как к командному порту FTP по умолчанию (21), так и к диапазону пассивных портов (40000-50000).
- Группу безопасности экземпляра FTP EC2 необходимо настроить для разрешения входящих подключений к портам, указанным выше, и где исходный IP-адрес входящего FTP-трафика, созданный вашим FTP-клиентом, является вашим внешним общедоступным IP-адресом.
Поскольку мы настраиваем файл списка пользователей, нам нужно добавить наши ftpuser1 учетная запись пользователя в файл vsftpd. userlist :
echo "ftpuser1" | sudo tee -a /etc/vsftpd.userlist
Наконец, мы готовы запустить службу FTP, мы делаем это, выполнив команду:
sudo systemctl start vsftpd
Давайте проверим, что служба FTP запущена и работает правильно:
sudo systemctl status vsftpd ● vsftpd.service — ftp-демон vsftpd Загружено: загружено (/usr/lib/systemd/system/vsftpd.service; отключено; предустановка поставщика: отключено) Активно: активно (работает) со вторника 2019 г.-08-13 22:52:06 UTC; 29 минут назад Процесс: 22076 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (код=выход, статус=0/УСПЕХ) Основной PID: 22077 (vsftpd) Группа CG: /system.slice/vsftpd.service └─22077 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
Шаг 7. Тестирование FTP с помощью FTP-клиента
Итак, теперь мы готовы протестировать нашу службу FTP — мы сделаем это до того, как добавим S3FS монтируется в уравнение.
На Mac мы можем использовать Brew для установки инструмента командной строки FTP:
brew install inetutils
Теперь давайте проверим подлинность нашей службы FTP, используя общедоступный IP-адрес, назначенный EC2. В этом случае публичный IP-адрес, который я забавляю: 18.236.230.74 — для вас он будет другим. Мы аутентифицируемся, используя ранее созданную учетную запись пользователя ftpuser1 :
ftp 18.236.230.74. Подключен к 18.236.230.74. 220 (vsFTPd 3.0.2) Имя (18.236.230.74): ftpuser1 331 Пожалуйста, укажите пароль. Пароль: 230 Вход в систему выполнен успешно. фтп>
Нам нужно убедиться, что мы находимся в пассивном режиме , прежде чем мы выполним размещение (загрузку) FTP. В этом случае я загружаю локальный файл с именем mp3data — опять же для вас это будет другим:
ftp> пассивный Пассивный режим включен. фтп > cd файлы 250 Каталог успешно изменен. ftp> поставить mp3data 227 Вход в пассивный режим (18 236 230,74 173 131). 150 Хорошо, чтобы отправить данные. 226 Передача завершена. 131968 байт отправлено за 0,614 секунды (210 кбайт/с) фтп> ftp> ls -la 227 Вход в пассивный режим (18 236 230,74 181 149). 150 Вот список каталогов. drwxrwxrwx 1 0 0 0 01 января 1970 г. dr-xr-xr-x 3 65534 65534 19 окт 25 20:17 .. -rw-r--r-- 1 1001 1001 131968 25 окт 21:59 mp3data 226 Справочник отправляется нормально. ftp>
Теперь давайте удалим удаленный файл и закроем сеанс FTP
ftp> del mp3data ftp> quit
Хорошо, выглядит хорошо!
Теперь мы готовы двигаться дальше и настроить монтирование S3FS…
Шаг 8: Запуск S3FS и монтирование каталога
Выполните следующие команды, чтобы запустить процесс s3fs .
Примечания :
- Процесс s3fs требует, чтобы к размещенному экземпляру EC2 была подключена роль S3FS-Role , поскольку он использует учетные данные безопасности, предоставленные этой ролью IAM, для получения доступа на чтение и запись к корзине S3. .
- Следующие команды предполагают, что корзина S3 и экземпляр EC2 развернуты/подготовлены в тот же регион AWS. Если это не относится к вашему развертыванию, жестко задайте для переменной REGION регион, в котором находится ваша корзина S3.
EC2METALATEST=http://169.254.169.254/последняя && \ EC2METAURL=$EC2METALATEST/meta-data/iam/security-credentials/ && \ EC2ROLE=`curl -s $EC2METAURL` && \ S3BUCKETNAME=ca-s3fs-ведро && \ DOC=`curl -s $EC2METALATEST/dynamic/instance-identity/document` && \ REGION=`jq -r .region <<< $DOC`
эхо "EC2ROLE: $EC2ROLE" эхо "РЕГИОН: $РЕГИОН"
sudo /usr/local/bin/s3fs $S3BUCKETNAME \ -o use_cache=/tmp,iam_role="$EC2ROLE",allow_other /home/ftpuser1/ftp/files \ -o url="https://s3-$REGION.amazonaws.com" \ -о непусто
Теперь давайте проверим процесс, чтобы убедиться, что процесс s3fs запущен:
ps -ef | grep s3fs корень 12740 1 0 20:43 ? 00:00:00 /usr/локальные/bin/s3fs ca-s3fs-bucket -o use_cache=/tmp,iam_role=S3FS-роль,allow_other /home/ftpuser1/ftp/files -o url=https://s3-us-west-2. amazonaws.com
Хорошо выглядит!!
Примечание : При необходимости можно использовать следующую команду отладки для устранения неполадок и отладки процесса монтажа S3FS Fuse:
sudo /usr/local/bin/s3fs ca-s3fs-bucket \ -o use_cache=/tmp,iam_role="$EC2ROLE",allow_other /home/ftpuser1/ftp/files \ -o dbglevel=информация -f \ -о курдбг \ -o url="https://s3-$REGION.amazonaws.com" \ -о непусто
Шаг 9. Сквозное тестирование S3 FTP
В этом тесте мы будем использовать FTP-клиент FileZilla. Мы используем Site Manager для настройки нашего соединения. Обратите внимание, здесь мы явно установили небезопасный параметр шифрования в демонстрационных целях. НЕ делайте этого в рабочей среде при передаче конфиденциальных файлов, вместо этого настройте SFTP или FTPS.
С нашим FTP-соединением и настройками учетных данных мы можем продолжить и подключиться…
Хорошо, теперь мы готовы выполнить сквозной тест передачи файлов с использованием FTP. В этом примере мы перетаскиваем файл mp3data по FTP, перетаскивая его с левой стороны на правую в каталог файлов — и это работает!
Серьезным испытанием является просмотр веб-консоли AWS S3 и подтверждение наличия файла mp3data в сконфигурированной корзине, что мы можем ясно увидеть здесь: автоматически загружаться и синхронизироваться в соответствующую корзину Amazon S3. Как это круто!
РезюмеВуаля! FTP-сервер S3!
Как вы только что убедились, мы успешно доказали, что можем использовать инструмент S3FS-Fuse вместе с S3 и FTP для создания решения для передачи файлов. Давайте еще раз рассмотрим связанные с S3 преимущества использования этого подхода:
- Amazon S3 предоставляет инфраструктуру, «рассчитанную на надежность 99,999999999% объектов».
- Amazon S3 обеспечивает «доступность объектов на уровне 99,99 % в течение заданного года».
- Вы платите именно за то, что вам нужно, без минимальных обязательств или авансовых платежей.
- В Amazon S3 нет ограничений на объем данных, которые вы можете хранить, или на то, когда вы можете получить к ним доступ.
Если вы хотите углубить свое понимание того, как работает S3, ознакомьтесь с курсом CloudAcademy «Основы хранения данных для AWS 9».0003
Написано Джереми Кук
В настоящее время Джереми работает исследователем и инструктором в области облачных вычислений и работает в команде поставщика контента CloudAcademy, создавая документацию по техническому обучению для облачных платформ AWS и GCP. Джереми получил сертификат AWS Certified Solution Architect — Professional Level и GCP Qualified Systems Operations Professional.
Бесплатный сервер Azure FTPS с 1 ГБ пространства | Петр Филипчик
Хотя в наши дни нам нечасто нужен FTP-сервер, когда он вам нужен, он вам нужен.
Azure Cloud — наш поставщик облачных услуг по умолчанию для всех наших проектов, хотя иногда мы также используем AWS и Google Cloud. Естественно, это были первые несколько мест, которые мы проверили, надеясь, что у них есть недорогой (если не бесплатный) управляемый FTP-сервис.
Из трех только у AWS есть один «из коробки» — AWS Transfer Family. К сожалению, это в сумме составляет около 40 долларов в месяц (или около того). Не так уж плохо, но слишком много места, чтобы время от времени сбрасывать несколько файлов.
Итак, мы искали некоторые другие предложения SaaS/PaaS FTP: Couchdrop, Files.com и т. д. К сожалению, опять же, все они также стоят около 30–40 долларов в месяц (как минимум) для работы. .
Затем мы наткнулись на шаблон создания Azure SFTP, который, похоже, позаботится обо всей грязной сантехнике для SFTP-сервера, и все это в нашей любимой Azure. Шаблон использует контейнер Linux для размещения SFTP-сервера. Это казалось почти идеальным, пока мы не подсчитали, сколько будет стоить его эксплуатация: снова около 40 долларов в месяц!
Мы чуть не сдались и записались на одну из этих услуг. Конечно, некоторые из них определенно стоят затрат со всеми функциями управления FTP, которые они предоставляют: подключения к облачному хранилищу файлов, детализированные многопользовательские элементы управления, порталы загрузки и т. д. — все это очень полезные вещи, когда вы имеете дело со сложными сценариями обмена данными. , но ничего простого, дешевого и простого.
И тут нас осенило: экземпляров службы приложений Azure автоматически предоставляют FTPS-доступ к своим приложениям и файлам данных (в целях развертывания и, возможно, по другим причинам). И самое приятное то, что вы можете бесплатно запустить службу приложений бесплатного уровня с 1 ГБ пространства .
бесплатный план F1 с 1 ГБ дискового пространства; Платный план B1 с 10 ГБ дискового пространстваЭтого достаточно для нашего текущего варианта использования. Хотя, если бы нам нужно было больше места, мы могли бы выбрать первый платный план за долларов США в месяц и получить 10 ГБ места.