2010-03-20 3 views
16

Я хочу опубликовать веб-сайт на серверах Amazon, в том, что:Нужен ли мне Amazon EC2, Cloudfront, RDS?

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

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

Спасибо.

ответ

23

Прежде всего вам нужна услуга 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

Прохладный, спасибо, очень полезно. – ash

+3

Вы можете CNAME-домен на S3 так же, как и с CloudFront. – ceejayoz

0

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

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

+0

Будет ли EBS/S3 поддерживать флэш-медиа-сервер/файлы? Я не совсем понимаю. – ash

0

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

+0

Cloudfront и S3 поддерживают поддержку «частных» активов, то есть файлы, к которым можно получить доступ, только с отметкой времени и подписанным URL. Сами имена не обязательно должны быть случайными. –

Смежные вопросы