AWS EC2 Запуск программы на Python в течение месяца подряд - PullRequest
0 голосов
/ 18 ноября 2018

Я пишу программу на Python, которая должна работать без перерыва 30 дней подряд.Он подключается к MQTT-клиенту и прослушивает сообщения по ряду тем.

Я использую экземпляр сервера EC2 под управлением Linux AMI, и мне интересно, как я могу настроить его на постоянную работу в течение этого времени?

Я искал cronjobs и перезагружался каждые X дней, но желательно, чтобы система не имела времени простоя, если это возможно.

Однако я не уверен, как настроить это и убедиться, что сценарий перезапускается, если сервер / программа когда-либо выходила из строя.

Клиент подключится к OpenVPN VPC через amazon, а затем запустит скрипт и продолжит его работу.Можно ли это настроить?

Используемая версия:
Amazon Linux AMI 2018.03.0.20180811 x86_64 HVM GP2

NAME="Amazon Linux AMI" 
VERSION="2018.03"
ID_LIKE="rhel fedora"
VERSION_ID="2018.03"

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Если вы используете простой прием сообщений через MQTT, я бы рекомендовал вам использовать службу AWS IoT Core в качестве решения, а не запускать экземпляр EC2.Это решит ваши проблемы простоя, потому что это управляемый сервис с высокой степенью устойчивости.

Вы можете выбрать маршрут сообщений к различным целям, включая их сохранение в S3 для пакетной обработки или использование AWS Lambda для их обработки по мере их поступления без запуска экземпляров EC2.С Lambda вы получаете 1 миллион вызовов в месяц бесплатно, поэтому, если ваш объем меньше этого, ваши вычислительные затраты также будут равны нулю.

0 голосов
/ 18 ноября 2018

Вы можете сделать это, используя автоматическое масштабирование, чтобы автоматически поддерживать необходимое количество экземпляров EC2.Если экземпляр перестает отвечать на запросы или не проходит проверку работоспособности, автоматическое масштабирование запускает новый.См .: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-maintain-instance-levels.html

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

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