[aws] Webサーバの80/443番ポート死活監視を行い、異常があればSMSやメール通知する仕組みを構築

最近、Webサーバでサーバ自体は生きているが、webサービスが死んでいるという事態が発生したので、対処方法を考えた。

結果としてはAWSのRoute53でHTTP監視を行うことにした。

AWSのRoute53のHealth Checkでは、AWS上にある世界中のDNSサーバが対象サーバに対してDefault30秒置きにポートのアクセス状況を確認してくれる。

いろいろオプションを付けると、利用金額が上がっていくので注意

スクリーンショット 2017-12-16 22.51.34

赤のラインがサービスが死んでいる状態が続いたということ、かなり死んでいる。。。

結局原因はwordpressのxmlrpc.phpへの大量攻撃が原因だったのだが、

xmlrpc.phpへの大量攻撃への対処方法はこちら

 

Route53のHTTP監視設定方法

AWSコンソールのRoute53を開く

左ペインのHealth Checksを開き、「Create health check」をクリック

スクリーンショット 2017-12-16 22.54.08

 

[Name]には適当な名前を、[IP address]には監視したい対象のサーバのIPアドレスを、[Port]はサービスポート、[Path]は死活監視したいページ。何も無ければTOPページを見に行く。

スクリーンショット 2017-12-16 22.55.23

通知が欲しい場合は、Create AlarmをYesにして通知SNSを指定する

*ただしRoute53はバージニアのRegionになるため、SNSはバージニアRegionで予め作成しておく必要がある。

*ここでYesをしなくてもCloudWatchで別途作成できる

スクリーンショット 2017-12-16 22.56.32

登録完了すると、バージニアのCloudWatchに反映されているので、アクションなどが欲しければ追加可能。

個人的にはアラート発生時にAuto Recoveryが実行できれば尚良かった。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です