Вопрос

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

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

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

Спасибо.

Это было полезно?

Решение

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

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

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

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

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

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

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

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top