Назад | Перейти на главную страницу

Как спроектировать систему на AWS для масштабирования (с серверной частью MySQL)

Я пытаюсь понять, как спроектировать приложение Amazon Web Services. Насколько я понимаю, весь смысл использования чего-то вроде AWS состоит в том, чтобы упростить возможное масштабирование, поэтому я пытаюсь понять, как это сделать.

У меня есть экземпляр, работающий с EBS (экземпляр на основе EBS, а не обычный экземпляр). Мое приложение (приложение Django) использует MySQL в качестве серверной части.

Итак, вопрос в том, где мне установить MySQL? Могу ли я установить его на тот же экземпляр? В этом случае, насколько я могу судить, я не могу просто создать больше экземпляров сервера из этого образа.

Или я должен просто раскрутиться другой сервер как сервер БД, и сбежать от этого?

Спасибо за любую помощь!

Вероятно, вы захотите разделить свое приложение на отдельные слои.

  1. Веб сервер

  2. Серверы приложений

  3. Серверы баз данных

Тогда становится намного проще масштабировать каждую по мере необходимости. Однако при этом увеличиваются затраты на размер более низкого уровня, поскольку вам нужно начать с 3 серверов. Если вы не разделяете слои, если вы уменьшаете нагрузку на уровень приложения, вам нужно будет вызвать дополнительные накладные расходы при запуске новых серверов, поскольку БД также включена.

Для базы данных MySQL я бы выбрал Amazon RDS, поскольку это те же типы инстансов (по большей части), что и инстансы EC2, которые вы создаете самостоятельно, но в него также включены резервные копии, см. это объявление

сделай сам: http://www.mysqlperformanceblog.com/2010/06/17/high-availability-for-mysql-on-amazon-ec2-part-1-intro/

или позвольте Amazon сделать это за вас: http://aws.amazon.com/rds/

Если вам нужно спросить, вероятно, будет проще всего начать с AWS RDS, а затем сделать это самостоятельно, если у вас возникнет особая необходимость.

Вы можете установить его где угодно, включая ту же машину. Подключитесь к нему по имени хоста, и вы можете переместить его позже.