Как выполнить JAR на экземпляре AWS EC2 из AWS Lambda - PullRequest
0 голосов
/ 12 марта 2020

У меня есть программа Java, запущенная на AWS Lambda, и экземпляр EC2 с файлом jar.

Чтобы выполнить jar, я вручную подключаюсь к экземпляру с помощью s sh:

ssh -i "key.pem" user@instanceDNS
java -cp myJar.jar com.example.Main

Есть ли какое-либо решение для выполнения этого jar программно и напрямую из Lambda?

Кроме того, если это решение автоматически выполнять этот jar каждый раз после запуска экземпляра, это также будет полезно, потому что я должен запускать экземпляр каждый день, затем запускать этот jar-файл и затем останавливать экземпляр.

Вот так я запускаю экземпляр. После его запуска я должен выполнить jar:

StartInstancesRequest startInstancesRequest = new StartInstancesRequest()
          .withInstanceIds(INSTANCE_ID);
  ec2Client.startInstances(startInstancesRequest);

После его запуска мне нужно выполнить jar.

1 Ответ

0 голосов
/ 12 марта 2020

Чтобы запускать команду каждый раз при загрузке сервера, вы должны добавить эту запись в crontab сервера:

@reboot java -cp myJar.jar com.example.Main

Возможно, вам потребуется указать полный путь к java, а файл jar в команда. Тогда ваш процесс запуска и остановки экземпляра - это все, что вам нужно, вам больше не нужно будет автоматизировать процесс запуска Java процесса.

...