現在、テストベッド EC2 ノードで実行されているかなり単純な Windows サービスがあります。基本的には次のとおりです。
- サービスの開始時に、ローカル データ センターのマシンで Web サービスを呼び出します (サービスは [自動スタートアップ] に設定されているため、インスタンスがオンラインになると実行されます)。
- 監視ハートビートとして、1 分に 1 回別の Web サービスを呼び出します。
- サービスの停止時に 3 番目の Web サービスを呼び出します。
Linux EC2 インスタンスでこれを使用しており、Windows サービスは起動、ハートビート、および手動停止で正常に動作します。
問題は、ElasticFox、Rightscale などを介してノードを終了するときに、サービスが停止していないように見えるか、少なくとも Web サービスの呼び出しが行われないことです。何かご意見は?
[これは AWS 開発者フォーラムの私の投稿からそのままコピーされたものですが、SO に比べてトラフィックが非常に少ないことに注意してください。申し訳ありません! ]
編集:ネットワークがダウンするという点に関しては、私はWindowsサービスにも精通していません.Netmanをサービスの依存関係として設定した場合、サービス終了の順序はそれを尊重することが保証されますか?
EBS に関しては、従来の単純な Linux インスタンスで実行される同様のシステムに採用したモデルは、アプリ サーバーを一時的なものとして扱うため、EBS はそれほどメリットがありません。EC2 の上で Rightscale を使用しているため、Linux インスタンスへのフックがシャットダウンされるため、インスタンスのログを別の場所に出荷するだけです。
編集 #2 : 予想よりもはるかに早く AWS スタッフから返信がありました。
Windows の場合、API (elasticfox や rightscale などを使用することを意味します) を介して終了すると、いくつかの技術的な制限により、ハード シャットダウンが発生します。これは、シャットダウンではなく、電源ボタンでマシンの電源を切るようなものです。
面白い..