Основные вопросы по AWS - PullRequest
       32

Основные вопросы по AWS

6 голосов
/ 28 февраля 2012

Я новичок в AWS, и в нем так много продуктов (EC2, Load Balancer, EBS, S3, SimpleDB и т. Д.) И так много документов, что я не могу понять, с чего мне начать.

Моя цель - быть готовым к масштабируемости.

  1. Предположим, я хочу установить простой веб-сервер, который обращается к базе данных в mongolab.Я полагаю, мне нужен один экземпляр EC2 для его запуска.На этом этапе мне нужно что-то еще (EBS, S3 и т. Д.)?

  2. В какой-то момент времени мое приложение достигло достаточного трафика, и я должен масштабировать его.Я думал о запуске новой копии (экземпляра) моей машины EC2.Но тогда у него будет другой IP.Итак, как трафик распределяется между обоими экземплярами EC2?Это было сделано автоматически?Должен ли я нанять службу балансировки нагрузки для распределения трафика?И тогда мне придется платить за 2 экземпляра EC2 и 1 LB?На этом этапе мне нужно что-то еще (например: Elastic IP)?

1 Ответ

13 голосов
/ 28 февраля 2012

Добро пожаловать в клуб Sony Santos,

AWS - очень мощная архитектура, но с этой мощью приходит ответственность.Я, и, вероятно, многие другие, узнали, как сложно создавать приложения с использованием сервисов AWS.

Вы спрашиваете, с чего мне начать?На самом деле это очень хороший вопрос, но вам, вероятно, не понравится мой ответ.Вам необходимо прочитать и провести исследование обо всех технологиях, предлагаемых Amazon и даже другими поставщиками, такими как Rackspace, GoGrid, Google Cloud и Azure.Амазонку нелегко запустить, но она не предназначена для того, чтобы быть по-настоящему, ее цель - быть очень настраиваемой и иметь очень широкий API.Но вернемся к вашему вопросу.

  1. Чтобы запустить простой веб-сервер, вам нужно запустить экземпляр EC2, этот экземпляр по умолчанию запускается на дисководе с именем EBS.По сути, диск EBS является обычным жестким диском, за исключением того, что вы можете делать с ним много других интересных вещей, например, снимать его с одного сервера и переносить на другой.S3 - это скорее система хранения файлов, более полезная, если у вас есть куча изображений или если вы хотите хранить много резервных копий ваших баз данных и т. Д., Но это не является обязательным требованием для простого веб-сервера.Все, что вам нужно, - это запустить экземпляр EC2, а все остальное произойдет за кулисами.

  2. Если ваше приложение достигает большого трафика, у вас есть два варианта.Вы можете увеличить свою машину, выключив ее и запустив ее с более крупным экземпляром.Вообще говоря, это проще всего сделать, но вы попадете в точку, где вы либо не сможете обработать весь трафик с 1 экземпляром, даже при большем размере, и решите, что вам нужно два ИЛИ Вам понадобится более отказоустойчивое приложение, которое все еще будет подключено к сети в случае сбоя или обновления.

    Если вы создадите второй экземпляр, вам потребуется выполнить некоторую форму балансировки нагрузки.Я рекомендую использовать amazons Elastic Load Balancer, поскольку его легко настроить, а его интеграция с облаком лучше, чем использование Round Robin DNS или такого приложения, как haproxy.Эластичные балансировщики нагрузки не дороги, я считаю, что они стоят около $ 18 / месяц + данные, которые передаются между балансировщиком нагрузки.

    Но нет, вам больше ничего не нужно для масштабирования вашего сайта.2 экземпляра EC2 и ELB сделают свое дело.

Дополнительные вопросы, которые вы не задавали, но, вероятно, должны были задать.

  1. Как часто экземпляр EC2 испытывает аппаратный сбой и сбой моего сервера.Что я могу сделать, если это произойдет?

    Это происходит часто, обычно партиями.Иногда я провожу месяцы без проблем, тогда я получаю сбой нескольких серверов за раз.Но это вызывающе то, что вы должны планировать, я не сделал в начале, и я заплатил за это.Убедитесь, что вы создаете сценарии, и у вас есть резервные копии и план резервного копирования на случай, если ваш сервер не сможет.Будьте готовы к тому, что он не работает, или имейте решение с балансировкой нагрузки с первого дня.

    1033 *

    Что самое сложное в масштабируемости?

    Тестирование Тестирование Тестирование Тестирование ... Дон 'никогда не предполагал ничего.Также будьте готовы к внезапным всплескам трафика.Вы должны быть готовы ко всему, если за одну ночь вы посещаете от 1 до 1000 человек. Готовы ли вы справиться с этим?Вы проверили то, что, по вашему мнению, произойдет?

Удачи и веселья ... Я знаю, что у меня есть:)

...