Как дизайнер, веб-разработчик и технический специалист, мне нужно универсальное и надежное решение для хранения данных, которое я могу себе позволить, но также использую без изучения какого-либо нового языка. До сих пор я нашел только один сервис, который может удовлетворить большинство моих потребностей. В этой статье рассказывается, как я использую сервис простого хранения Amazon Web Services (AWS S3) для удовлетворения большинства моих потребностей.
AWS S3
AWS S3 — это облачное решение Amazon. Он универсален, надежен, быстр и масштабируем, чтобы удовлетворить почти любые потребности. Конечно, с услугой, которая звучит так здорово, вы ожидаете, что она будет дорогой, но на самом деле это самое доступное решение для хранения данных, которое я нашел в Интернете, учитывая возможности, которые вы получаете.
AWS S3 предназначен для разработчиков, но благодаря некоторым замечательным инструментам его легко использовать практически любому. Прежде чем перейти к использованию AWS S3, я хочу упомянуть, что это решение для хранения данных не использует традиционную файловую структуру папок / файлов и т. Д. Вместо этого AWS S3 использует «корзины», в которых вы храните объекты. Инструменты, которые я использую, делают AWS S3 обычной файловой системой, за исключением «сегментов». Думайте о ведре как об отдельном жестком диске, где вы будете хранить свои файлы. Вы также можете прочитать страницу Amazon S3 в Википедии. Итак, давайте продолжим, как я использую AWS S3.
AWS S3 + Джунгли Диск
Вероятно, я чаще всего использую Jungle Disk, потому что он облегчает использование и управление корзинами AWS S3, автоматическое резервное копирование и централизацию моих данных для доступа в любом месте и в любое время. Когда вы используете Jungle Disk со своей учетной записью AWS S3, вы решаете, какие из ваших отдельных блоков Jungle Disk можно подключить в качестве сетевого диска. Затем у вас есть доступ с помощью перетаскивания к файлам AWS S3! Jungle Disk также шифрует ваши файлы, поэтому они надежны и надежны.
В Jungle Disk есть множество опций для управления корзинами, автоматического резервного копирования, шифрования, ограничения полосы пропускания и многого другого. Он также имеет инструмент мониторинга для просмотра и управления процессами передачи. Обычно он работает в фоновом режиме, но очень удобен, когда вы хотите что-то предпринять или просто посмотреть, что происходит.
Если вы беспокоитесь о кросс-платформенной совместимости, не беспокойтесь! Jungle Disk имеет версии своего программного обеспечения для 32- и 64-битных Windows, Linux и Mac. У них даже есть версия, которую вы можете запустить с флешки на всех трех платформах для быстрого доступа к вашим файлам из любой точки мира.
Конечно, если вы забыли свою флешку, у них также есть веб-доступ к вашим файлам. Если вы работаете с другими людьми, которым нужен доступ к вашим файлам, Jungle Disk может сделать это тоже. У них есть многопользовательские опции, которые делают доступ к корзинам AWS S3 очень простым для нескольких человек.
Итак, у нас есть кроссплатформенное облачное хранилище, которое можно легко перетаскивать и которое мы можем получить в любом месте с множеством отличных вариантов. Что еще нам нужно?
AWS S3 как «CDN» или общедоступный доступ к файлам
У большинства из вас, вероятно, есть блоги или веб-сайты, размещенные на веб-сервере, за который вы платите. Как мы все знаем, качественный веб-хостинг не дешев, особенно когда речь идет о месте для хранения. Я не хочу использовать свое дорогое хранилище веб-сервера для загрузки изображений и других файлов, и особенно я не хочу загружать свой веб-сервер запросами файлов от посетителей, когда есть лучший способ сделать это.
S3Fox для Firefox
S3Fox — это дополнение к Firefox, которое позволяет вам управлять своими корзинами и файлами AWS S3. Зачем нам нужен S3Fox, когда мы можем использовать Jungle Disk? S3Fox делает несколько вещей, для которых Jungle Disk не предназначен, например, управление дистрибутивами CloudFront, о которых мы поговорим позже. Я установил корзину под названием «files.jremick.com», которую планирую использовать для размещения изображений и файлов для своего блога, а также других веб-сайтов и других случайных целей.
Затем я установил CNAME на своем веб-сервере, указав «files» и «www.files» на «files.jremick.com.s3.amazonaws.com». который затем позволит мне использовать поддомен «http://files.jremick.com» для доступа к файлам, которые я поместил в корзину «files.jremick.com» для публичного просмотра. Два других используются CloudFront, о которых мы поговорим позже.
Так что теперь у нас есть простой способ доступа к файлам на http://files.jremick.com. Мы могли бы использовать его как своего рода «CDN» (даже если это не было бы настоящим CDN), или мы могли бы просто использовать его для загрузки файлов, которые не будут перегружать наш веб-сервер. Если вам интересно, да, вы можете просматривать и загружать панорамное изображение из моей учетной записи S3, и нет, меня не беспокоит пропускная способность, потому что это супер дешево! 🙂 Вы можете найти его здесь: http://files.jremick.com/red-rock-panorama.jpg . Вы заметили каталог «wp-content»? Знакомо, а? На использовании AWS S3 с WordPress!
Плагин AWS S3 для WordPress
Плагин AWS S3 для WordPress является одним из моих любимых плагинов для WordPress, поскольку он позволяет мне использовать мою учетную запись AWS S3 для размещения мультимедиа для моего блога, а не для моего дорогого веб-сервера. Конечно, я мог бы сделать это вручную, если бы захотел, но плагин интегрирует эту функциональность с WordPress, поэтому я могу загружать файлы, не покидая панели управления WordPress.
Вы можете быть удивлены, почему это полезно. Ну, во-первых, изображения и другие медиафайлы, загруженные из вашей учетной записи AWS S3, вероятно, будут загружаться быстрее просто потому, что вы используете серверы Amazon, а не собственный (возможно, недостоверный) сервер. Кроме того, ваш веб-сервер не будет загружен при загрузке этих медиа-файлов и ваших обычных файлов PHP / HTML.
Ваш сайт также будет загружаться быстрее для большинства людей, потому что в большинстве браузеров вы ограничены количеством параллельных загрузок с одного домена. Если вы размещаете изображения в своей учетной записи AWS S3, которая будет принадлежать второму домену, браузеры смогут загружать больше файлов одновременно. См. Максимизация параллельных загрузок в Carpool Lane для получения дополнительной информации.
AWS S3 + CloudFront
Итак, я рассмотрел, как я использую AWS S3 для сетевого хранилища, а также для своих веб-сайтов и снижения нагрузки на мой веб-сервер. Если вы пользуетесь веб-сайтом с большим трафиком (чего я не делаю) или вы просто ботаник (как и я) и хотите, чтобы все работало как можно быстрее, вам также стоит попробовать Amazon CloudFront .
Ранее в этой статье я поместил «AWS S3 как« CDN »или публичный доступ к файлам» с CDN в кавычках. Я сделал это потому, что AWS S3 НЕ является настоящим CDN . CDN — это сеть доставки контента, которая доставляет ваши файлы с серверов по всему миру. Посетители получают доступ к вашим файлам с самого быстрого доступного ресурса (обычно ближайшего сервера). AWS S3 имеет всего несколько центров обработки данных по всему миру, и ваши данные, скорее всего, будут находиться в одном месте, что далеко от CDN.
Если вы хотите получить максимальную скорость для посетителей по всему миру, вам нужно использовать настоящий CDN, такой как CloudFront. К счастью, Amazon сделал использование этих сервисов очень простым. Я уже подписался на CloudFront, и теперь мне просто нужно настроить его с помощью S3Fox.
Просто щелкните правой кнопкой мыши по корзине, которую вы хотите распространить в Amazon CloudFront, и выберите «Управление дистрибутивами». Отсюда вы можете настроить свой дистрибутив CloudFront. Вам будет присвоен уникальный домен для распространения; «d1i7xb2p8w9276.cloudfront.net» — это то, для чего был назначен этот дистрибутив.
Я также использовал «cdn.jremick.com» в качестве CNAME для этого дистрибутива, поэтому я могу получить доступ к файлам на http://cdn.jremick.com. Вы будете видеть статус «InProgress», пока не будет развернут дистрибутив, и статус изменится на «Развернутый».
Затем я настраиваю CNAME на своем веб-сервере.
Теперь, когда я запрашиваю файлы на http://cdn.jremick.com, они будут запрашиваться с серверов CloudFront, которые будут извлекать файлы из вашей учетной записи AWS S3 и кэшировать их для всех последующих запросов.
Однако CloudFront (и другие настоящие CDN) имеют некоторые недостатки. Как только файл будет кэширован на серверах CloudFront, он больше не будет запрашиваться из вашей учетной записи AWS S3. Это означает, что вам нужно создать версию ваших файлов (filename_v1.css, filename_v2.css и т. Д.), Чтобы они фактически отражали изменения для ваших пользователей. Это отличный сервис, но на самом деле он больше предназначен для трафика. В большинстве случаев для обычных людей с блогами AWS S3 подойдет просто отлично. Я буду использовать CloudFront для размещения JavaScript, CSS и других статических файлов, хотя бы потому, что я ботаник и хочу производительности! 🙂
AWS S3 + S3Sync = Автоматическое резервное копирование вне сервера
Я беспокоюсь о потере данных. Мой веб-сервер содержит около 20 учетных записей для других людей, и очень важно убедиться, что все эти данные сохранены, надежно и безопасно. Вот где приходит S3Sync. Я могу использовать его для автоматического резервного копирования моего веб-сервера в указанное хранилище AWS S3.
Здесь я перешел в Transmit (FTP для Mac с поддержкой AWS S3) и вошел в свою учетную запись AWS S3. Я смотрю на мое ведро «servintbackups», которое показывает различные папки для резервного копирования. Каждую ночь резервные копии автоматически обновляются на моей учетной записи AWS S3.
Если вы хотите сделать это, также ознакомьтесь с этими уроками.
- Автоматизация резервного копирования с помощью Amazon S3 в Linux
- Как я автоматизировал резервное копирование в Amazon S3 с помощью S3Sync
Вывод
Используя AWS S3 и различные инструменты, мне удалось получить немного за немного.
- Централизованный доступ к файлам в облаке, где угодно, на любой платформе.
- Автоматическое резервное копирование для настольных и серверных компьютеров.
- Веб-доступ к вашим файлам.
- Медиа-хостинг за пределами вашего веб-сервера, чтобы уменьшить нагрузку и ускорить процесс.
- Простая настройка «CDN» и / или предоставление пользователям доступа к файлам.
- Легко настроить настоящий CDN с CloudFront.
Как я уже говорил ранее, AWS S3 создан для разработчиков; так что если мне нужно использовать его для еще большего количества решений, то такая возможность есть.
Как бы ни был хорош AWS S3, он может не подходить под любую проблему. Например, серверы AWS S3 не распаковывают файлы, а резервное копирование 200 ГБ данных (например, библиотеки iTunes) обойдется в 30 долларов в месяц против 5 или 10 долларов в месяц на другие сервисы. AWS S3 — только один из инструментов, которые я использую среди многих.
Вы используете AWS S3? Или вы предпочитаете другое подобное решение? Расскажите об этом в комментарии!
Эта статья была первоначально размещена в блоге ThemeForest . В настоящее время мы портируем некоторые из наиболее популярных статей на Nettuts +.