AWS EC2 с почасовой оплатой при 100% доступности

Я хочу запустить сервер для приложения, которое у меня есть.

Я полный новичок в AWS, так что терпите меня.

Будет около 50 пользователей (все из одного часового пояса), которые будут обращаться к серверу, и я хотел бы иметь почти 100% доступность.

Приложение, которое у меня есть, требует 2 процессора и 2 ГБ оперативной памяти.

Я мог бы платить за машину 24/7 или даже только 18 часов в сутки, при условии, что я выключу ее на ночь, но бывают дни, когда сервер вообще не используется.

Мне было интересно, возможно ли следующее: когда amazon обнаруживает, что кто-то что-то запрашивает с моего сервера, он включает это в режиме реального времени, а затем перенаправляет запрос на мой сервер. Скажем, через 5 минут бездействия мой сервер отключится. Таким образом, я могу платить только за часы, когда есть трафик.

Это возможно? Как люди решали подобные проблемы?


person deller    schedule 15.04.2016    source источник
comment
Вы в курсе цен на зарезервированные инстансы, да? Многие новички в AWS упускают из виду тот факт, что вы можете заплатить за 1–3 года вперед и (амортизированно) получить серьезную скидку по сравнению с обычными ценами по требованию. Я подозреваю, что если бы я был на вашем месте и хотел бы сэкономить деньги на AWS, я был бы более склонен выяснить, как заставить его соответствовать инстансу t2.small или даже t2.nano (или реализовать его только с помощью Lambda и DynamoDB/S3). , даже), чем пытаться придумывать сложные схемы запуска машины по требованию.   -  person timday    schedule 15.04.2016
comment
У меня нет такой опции. Приложение не разрабатывал, требования от вендора. Но да, я знаю о зарезервированном варианте. Спасибо   -  person deller    schedule 15.04.2016


Ответы (1)


Нет, это невозможно. В AWS нет ничего встроенного для обнаружения трафика и запуска сервера EC2, как вы предлагаете. Кроме того, время запуска на сервере EC2 составляет не менее пары минут, поэтому первые входящие запросы должны были бы ждать очень долго.

Возможно, вы захотите запустить несколько небольших серверов вместо одного более крупного сервера. У AWS есть возможность балансировать нагрузку между несколькими серверами и добавлять/удалять серверы из пула в зависимости от трафика. Вы можете иметь хотя бы один сервер, работающий при отсутствии трафика, и автоматически создавать больше серверов по мере увеличения нагрузки. Для этого воспользуйтесь сервисом AWS Elastic Beanstalk.

Если вы хотите запустить действительно «бессерверную» среду, в которой вы платите только за вычислительные циклы в миллисекундах, а не за серверы в час, вы можете изучить использование AWS Lambda. Если вы сможете спроектировать свою систему для работы на Lambda, вы почти гарантированно сократите расходы, но преобразование существующей системы в такую ​​архитектуру может стать настоящей проблемой.

Если вы хотите заглянуть за пределы AWS, вы можете найти нечто большее, чем то, что вы описываете, в Google App Engine. бесплатный уровень Heroku также работает аналогично вашему описанию, но как только вы перерастаете бесплатный уровень, вам необходимо перейти на новый уровень. к постоянно работающим экземплярам.

person Mark B    schedule 15.04.2016