Нужен ли мне EC2 Amazon, Cloudfront, RDS?

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

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

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

спасибо.

3 ответов


прежде всего, вам нужен сервис 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 (бесплатный сервис)

вам нужен EC2 для запуска экземпляра и создания сервера LAMP. RDS хорош, если вам не нужно управлять MySQL db самостоятельно, но один ограничивающий фактор RDS-вы не можете иметь репликацию DB.

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


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