Нужен ли мне EC2 Amazon, Cloudfront, RDS?
Я хочу опубликовать веб-сайт на серверах Amazon, который:
- Работает CakePHP
- использует MySQL для хранения данных
- позволяет пользователям загружать аудио через 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-адрес для доступа к файлам, чтобы не было легко последовательно угадывать идентификаторы аудиофайлов, этого может быть недостаточно, если люди хранят частный звук. Не говорю не делать просто прими решение с осторожностью.