В последнее время я пытаюсь автоматизировать наш процесс сборки на Amazon EC2, и меня впечатляет то, что предлагает Amazon. Я на 90% закончил процесс сборки. Нам удалось сократить время сборки с 90 часов до 4 часов, используя одновременно 15 экземпляров EC2. Есть только 2 недостающие ссылки. Я пытался найти ответ, но безрезультатно.
Фон
Я запускаю несколько экземпляров EC2 из моего приложения C#
, и каждый экземпляр EC2 выполняет вычисления Matlab
. Число экземпляров для запуска является определяемым пользователем параметром, и загрузка кода соответствующим образом балансирует процесс сборки. У меня есть исполняемый файл на EC2, который выполняет команды Matlab. Кроме того, мой экземпляр EC2 представляет собой пользовательский AMI с Windows Server 2008 и моим собственным набором файлов и установленных двоичных файлов.
Вопрос 1)
После запуска экземпляра EC2 мне нужно подождать около 15 минут, чтобы удаленный рабочий стол был доступен, но я вижу, что экземпляр находится в «работающем» состоянии через 2 минуты после запуска. Есть ли способ напрямую запустить мой исполняемый файл на EC2 из моей локальной системы без удаленной регистрации? Это сэкономит мне эти 15 минут, и таким образом я смогу полностью автоматизировать процесс сборки. Не нужно RDP в EC2 для запуска исполняемого файла. Я посмотрел на PsExec и другие сторонние инструменты для запуска удаленных команд. Я просто не мог понять, как использовать их с EC2. Я даже пытался настроить командный файл, который вызывает исполняемый файл при запуске Windows, но, к сожалению, этот командный файл не вызывается, пока я не перевожу в EC2. Есть ли другой способ добиться этого?
Вопрос 2)
Как извлечь (передать) файлы журналов из EC2 в мою локальную систему во время сборки? Ожидается, что сборка займет около 12 часов (наихудший случай с несколькими запущенными экземплярами), и мне нужен какой-то способ мониторинга сборки. Я думал о потоковой передаче файла журнала из EC2 в S3, а затем о потоковой передаче его из S3 в мою локальную систему, но это не представляется возможным. Должен быть лучший способ сделать это.
Простите, если на эти вопросы уже были даны ответы. Было бы очень любезно, если бы кто-то указал мне правильный источник или ответил на мои вопросы здесь.
Спасибо всем.