Нужно ли использовать Amazon EC2, Cloudfront, RDS? - PullRequest
16 голосов
/ 20 марта 2010

Я хочу опубликовать веб-сайт на серверах Amazon, который:

  1. Запускает CakePHP
  2. Использует MySQL для хранения данных
  3. Позволяет пользователям загружать аудио через flash (в настоящее время используется сервер Flash Media Server) и прослушивать файлы позже

Нужен ли Amazon EC2 для веб-сайта, RDS для базы данных MySQL и CloudFront для FMS? Мне бы очень хотелось узнать, какие услуги мне следует использовать.

Спасибо.

Ответы [ 3 ]

24 голосов
/ 14 апреля 2010

Прежде всего вам нужен сервис EC2 для того, чтобы иметь виртуальную машину, на которой вы можете установить Apache, PHP и ваше веб-приложение.

Тогда вам также понадобится сервер базы данных и хранилище данных для медиа-файлов. Рекомендуемый способ - именно то, что вы предлагаете: RDS для MySQL и CloudFront в качестве хранилища файлов.

Первоначально ни одна из вышеперечисленных услуг (RDS, CloudFront и даже EBS) не была доступна. Разработчики не могут использовать базу данных MySQL, потому что даже если она была установлена ​​в экземпляре EC2, экземпляр не гарантированно будет работать и если экземпляр потерян, данные также будут потеряны. По этой причине был введен EBS. Он создал подключенное хранилище с гарантированным постоянством, к которому вы могли получить доступ из экземпляра EC2. Теоретически вы можете установить MySQL и использовать его для хранения файлов флэш-памяти. Если вы хотите обслуживать файлы только по протоколу HTTP, нет проблем с использованием EBS.

CloudFront, однако, имеет некоторые преимущества:

  • Пользователи автоматически направляются в ближайший крайний пункт для высокопроизводительной доставки вашего контента.
  • Вы также можете использовать его для потоковой передачи содержимого по протоколу RTMP.
  • Вам не нужно беспокоиться о размере хранилища. С EBS вы создаете хранилище с определенным размером. Это может быть проблемой, если позже вы обнаружите, что вам нужно больше памяти. Благодаря CloudFront файлы устанавливаются в S3, и вам не нужно беспокоиться об их размере.
  • Вы не тратите ресурсы веб-сервера. Если вы используете EBS, файлы будут обслуживаться сервером в EC2.

Вы также можете использовать S3, но вы не сможете использовать протокол RTMP, и вам нужно будет вручную создавать ссылки на ваши файлы. Кроме того, было бы невозможно использовать ваше доменное имя для файлов.

RDS также имеет некоторые преимущества перед установкой MySQL в EC2, EBS:

  • автоматическое резервное копирование базы данных
  • Вы можете отслеживать свою базу данных с помощью Amazon CloudWatch (бесплатный сервис)
0 голосов
/ 26 апреля 2011

Одна вещь, не упомянутая ни в одном из этих ответов, - это безопасность, которая может (или не может) понадобиться для доступа к вашему файлу. Облачные сети хороши для общедоступных данных, но я еще не видел облачную сеть, которая обеспечила бы детальный уровень доступа к файлам для каждого пользователя. Хотя вы можете замаскировать URL-адреса для доступа к файлам, чтобы было непросто угадать идентификаторы аудиофайлов, этого может быть недостаточно, если люди хранят частное аудио. Не говорю, не делай этого, просто прими решение с осторожностью.

0 голосов
/ 21 марта 2010

Вам нужен EC2 для запуска экземпляра и создания вашего сервера LAMP. RDS хорош, если вам не нужно самостоятельно управлять MySql db, но одним из ограничивающих факторов RDS является невозможность репликации БД.

Для постоянного хранения вы можете использовать EBS или S3 для файла данных.

...