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