Windows Server でCloudWatch エージェントが開始されない際の解消方法について
困っていた内容
EC2インスタンスにて、Windows Server の再起動後にCloudWatch エージェントの起動に失敗する事象が発生しています。
CloudWatch エージェントの起動失敗に対する対有効な方法はありますでしょうか。
どうすればいいの?
AWSドキュメント確認
トラブルシューティング | CloudWatch エージェントが Windows Server で開始されない
サーバーサービスがすでに実行されている場合は、以下の点が問題である可能性があります。一部の Windows Server インストールでは、CloudWatch エージェントの起動に 30 秒以上かかります。
Windows Server では、サービスの起動に許容されるデフォルトの時間が 30 秒のみであるため、エージェントが失敗して次のようなエラーが表示される場合があります。
方法その1: ServicesPipeTimeout の値を増やす
上記ドキュメント記載の通り、Windows Server の再起動時に、CloudWatch エージェントの起動に時間がかかっており、サービスのタイムアウトが発生しているためとなります。
Windows トレースセッションマネージャーサービスに依存し、数分間の起動が必要なサービスでは、60 秒の値では十分な時間が確保できない可能性があります。
したがって、ServicesPipeTimeout の値をを大きくすると、すべての依存サービスが開始するのに十分な時間を与える可能性があります。
上記ドキュメントをご参照頂き、サービスのタイムアウト値を60秒より大きい数字で変更することで改善する可能性があると思われます。
方法その2: 対象インスタンスタイプのスペックアップ
インスタンスのスペック不足がCloudWatch エージェントの起動失敗の原因であった可能性も考えられます。
そのため、現在利用のインスタンスタイプをよりスペックの変更することで処理が速くなるので、事象が解消されるかどうかお試してください。
Tips
CloudWatch Agentにつきまして今回の事象に限らず、常に最新バージョンのご利用することを推奨しております。
SSM Agent への更新の自動化
参考資料
[1]A slow service does not start due to time-out error in Windows