Службы Windows и выключение узлов EC2 - PullRequest
0 голосов
/ 26 марта 2009

У меня довольно простая служба Windows, работающая сейчас на узлах тестового стенда EC2, в основном:

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

Мы прекрасно используем это в наших экземплярах Linux EC2, а служба Windows прекрасно работает при запуске, пульсе и остановке вручную.

Проблема заключается в том, что при завершении узла через ElasticFox, Rightscale и т. Д. Служба никогда не останавливается или, по крайней мере, никогда не выполняет вызов веб-службы. Есть мысли?

[Обратите внимание, что это дословно скопировано из моего поста на форумах разработчиков AWS, но это очень низкий трафик по сравнению с SO. Извиняюсь!]

Редактировать : Что касается вопроса о разрыве сети, я также не самый опытный в службах Windows, если я установлю Netman как зависимость службы, будет ли порядок прекращения службы будет гарантированно уважать это?

Что касается EBS, то модель, которую мы приняли для аналогичной системы, работающей на простых экземплярах Linux, рассматривает серверы приложений как эфемерную, поэтому EBS не принесет нам такой пользы. Мы используем Rightscale поверх EC2, что отключает подключение к экземплярам Linux, поэтому мы просто отправляем журналы экземпляров в другое место.

Редактировать # 2 : Ну, я получил ответ от сотрудников AWS намного быстрее, чем я ожидал:

Для окон завершение через API (то есть черезasticfox, правовую шкалу и т. Д.) Является жестким завершением работы из-за некоторых технических ограничений. Это означает, что это похоже на выключение машины кнопкой питания вместо выключения.

Интересно ..

Ответы [ 2 ]

1 голос
/ 19 декабря 2009

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

1 голос
/ 26 марта 2009

Многое происходит, когда Windows закрывается, поэтому я думаю, что что-то уже остановилось, что нужно вашему вызову веб-службы, в первую очередь это будет сетевое соединение.

Это немного сложно, так как вы не можете сохранить локальный файл журнала на дисках C или D, чтобы проверить, по крайней мере, попытка вызова выполнить ebing, так как вы никогда не сможете снова их обработать после экземпляра остановился. Используете ли вы том EBS с вашими экземплярами, которые могут содержать файл журнала?

...