#はじめに
ユーザーから「WindowsUpdateをしてから、SSM Agentが起動しなくなった」と問い合わせがあり、そのトラブルシューティングを実施した際のことを備忘録として記載したものである。
OS:Windows Server 2016
#トラブルシューティング
##①調査
下記のコマンドで、イベントログで出力されているSSM Agent関連のメッセージを出力した結果、たしかにSSM Agentが何度も起動を試しているが、うまく起動しないことが分かった。
PS C:\Users\Administrator> get-winevent -logname System -FilterXPath '*[EventData[Data[@Name="Param1"] = "Amazon SSM Agent"]]'
ProviderName: Service Control Manager
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
2021/03/10 16:04:53 7031 エラー Amazon SSM Agent サービスは予期せぬ原因により終了しました。このサービスの終了は 25 回目です。次の修正操作が 30000 ミリ秒以内に実行されます: サービスの再開。
2021/03/10 16:04:53 7024 エラー Amazon SSM Agent サービスは、次のサービス固有エラーで終了しました: ...
2021/03/10 16:04:53 7036 情報 Amazon SSM Agent サービスは 停止 状態に移行しました。
///////////////////////////////////////////////////// 略 /////////////////////////////////////////////////////
2021/03/10 13:22:21 7031 エラー Amazon SSM Agent サービスは予期せぬ原因により終了しました。このサービスの終了は 1 回目です。次の修正操作が 30000 ミリ秒以内に実行されます: サービスの再開。
2021/03/10 13:22:21 7024 エラー Amazon SSM Agent サービスは、次のサービス固有エラーで終了しました: ...
2021/01/29 14:50:20 7036 情報 Amazon SSM Agent サービスは 実行中 状態に移行しました。
次に、SSM Agentのログを確認したら、以下のログが出力されていた。
パスは、Windowsの場合、 %PROGRAMDATA%\Amazon\SSM\Logs になる。
参考URL:SSM エージェントログを表示する
caused by: Get http://169.254.169.254/latest/meta-data/instance-id: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
ERROR [Execute @ agent_windows.go.180] Failed to start agent. error fetching the instanceID, Failed to fetch instance ID. Data from vault is empty. RequestError: send request failed
##②対処
上記のログを確認したら、インスタンスメタデータを取得するために「169.254.169.254」へアクセスしたが、宛先に到達できていないエラーを発見。
Windows Updateをする際にProxyを設定したことにより、「169.254.169.254」への通信ができなくなり、それでSSM Agentの起動が失敗していた。
その為、「169.254.169.254」はProxyを経由しないように設定したら、本事象は解決した。
参考URL:SSM エージェントが Windows Server インスタンス用にプロキシを使用するように設定する
#最後に
SSM Agentはインスタンスメタデータの情報を使用していたことを知らなかった為、それでトラブル対処に時間がかかってしまった。
今後は、各AWSサービスの特性を理解した上で、トラブル対処を効率的に実施していきたいと思います。
終わり(●´ω`●)