Должен ли я запускать свой экземпляр EC2 24/7, если я не знаю, когда будет достигнута конечная точка? - PullRequest
0 голосов
/ 15 февраля 2019

Я создаю приложение ios и использую экземпляр EC2 для размещения своего внутреннего кода (в Django).Несмотря на то, что у меня всего несколько пользователей (менее 10), я не знаю, когда они будут использовать приложение каждый день.

Нужно ли мне запускать свой экземпляр EC2 24/7, чтобы принятьAPI звонит в любой момент?Разве это не будет очень дорого для фактического количества вычислительного времени, которое мне нужно обработать?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

Вы должны использовать Hakuna Cloud , это сервис, который может запустить ваш сервер EC2, когда HTTP / S-запрос приходит в домен, а затем автоматически останавливать его, когда сервер некоторое время не звонит (время по умолчанию должно быть 30 минут).Он не запрашивает никаких изменений в вашем коде, вам просто нужно настроить службу и изменить свой DNS (на самом деле он работает как безопасный прокси-сервер HTTPS).Служба для одного экземпляра EC2 стоит всего 1 $ в месяц, и она бесплатна в течение месяца.

Для настройки службы необходимо установить CLI:

npm install -g @porketta.io/porcli

Затем запустите:

porcli provider create

Он запросит учетные данные AWS (идентификатор ключа доступа и секретный ключ доступа), которые можно сгенерировать в консоли IAM AWS.Вы можете создать пользователя с определенной ролью и разрешениями, как указано здесь .

Выполнение:

porcli vhost create

и следуйте инструкциям.Он покажет вам все ваши запущенные экземпляры EC2 и позволит вам выбрать, какой из них вы хотите настроить с помощью Hakuna Cloud.После этого он спросит вас, с каким полным доменным именем связан экземпляр EC2.

Когда вы закончите эту часть, вы должны изменить свой DNS.Если вы используете Route 53 для DNS, вы можете сделать это из Консоли AWS.вам просто нужно изменить или создать набор записей CNAME, например:

 service.yourdomain.com CNAME eu1.lb.hakuna.cloud
0 голосов
/ 16 февраля 2019

Если ваш бэкэнд развернут на экземпляре EC2, а экземпляр EC2 не запущен, ваш код не будет выполнен, и ваши вызовы API не могут быть обработаны.

Вы можете реализовать свой бэкэнд с помощью AWS Lambda , которая работает без сервера и оплачивается только при использовании.Похоже, есть инструмент Zappa , который позволяет развертывать приложения Python на AWS Lambda.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...