0

Как я понимаю, я могу использовать EC2 в качестве веб-сервера для своего приложения. Но как работает балансировщик нагрузки?Amazon EC2: балансировка нагрузки/способ синхронизации файлов/EC2 + CF

  1. Например, у меня есть один экземпляр EC2. Таким образом, балансировка нагрузки не будет работать. Я прав?

  2. Например, у меня есть несколько экземпляров EC2. Таким образом, я могу настроить балансировщик нагрузки для баланса между всеми моими серверами EC2. Я прав?

  3. Файлы приложений во всех случаях должны быть синхронизированы? Есть ли какой-либо инструмент Amazon для синхронизации? Или я должен использовать что-то вроде rsync или post commit hooks для синхронизации файлов между экземплярами EC2?

  4. Возможно ли использовать один экземпляр EC2 для веб-приложения (php + nginx) и для CDN (Cloud Front)? Или лучший способ достичь этого: мне нужно хранить статические файлы, но я должен получить к ним доступ из веб-приложения (php-скрипты) через файловую систему. Поэтому я собираюсь использовать EC2 и Clod Front. Но как я могу получить доступ?

Спасибо за ваше время.

ответ

3
  1. Технически, грузовик-манипулятор будет работать, просто он будет балансировать трафик только в одном случае.
  2. Исправить. Вы регистрируете экземпляры с помощью эластичной балансировки нагрузки, и пока эти случаи здоровы - они будут реагировать на них.
  3. Существует множество различных способов синхронизации файлов - все зависит от того, что вы хотите синхронизировать. Облачная архитектура немного отличается от традиционной архитектуры. Например, вместо того, чтобы загружать изображения на том EBS, вы должны попробовать и выгрузить их (и обслуживать) с S3. Поэтому единственными вещами, которые вам нужно «синхронизировать», были бы сами файлы веб-сервера. Вы можете использовать CloudFormation для roll out updates, а также использовать перехваты комманды и rsync. Задача состоит в том, чтобы помнить, что он может масштабироваться/терпеть неудачу почти по своему усмотрению - поэтому вам нужно убедиться, что каждый экземпляр знает, как получить информацию и сохранить себя в отдельности.
  4. Да. Это называется custom origin. То, что вы хотите сделать, - это переписать URL-адрес на исходящем сервере, который переписывает локальные URL-адреса облачным облачным доменам.

Надежда, что помогает

+0

Это было полезно. И если CloudFront был сконфигурирован с настройкой пользовательского происхождения, и, например, у меня есть файл '/ public/test.png' на моем сервере EC2. Итак, как я могу узнать URL-адрес для доступа к этому изображению на CloudFront? Как я могу генерировать URL-адреса? Потому что они обычно выглядят как http://distilleryimage10.s3.amazonaws.com/d2e89af606cc11e3b81c22000a1fbca3_6.jpg – tuchk4

+1

Поместите cname перед ним. Так что это media.distillery.com как cname для URL CloudFront. –