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