[AWS]Route 53でヘルスチェックでWEBサーバを監視してみた

今回はRoute 53のヘルスチェックを使って、WEBサーバを監視する設定をやってみます。

流れ

  1. WEBサーバを監視する設定(WEBサーバへの疎通ができなくなったらSNS経由でメール通知)
  2. 検証(実際に疎通不可の状態にしてメール通知されるかを確認)

手順

1.Route 53のWEBコンソールから、[Health Checks]→[Create health check]の順に選択します。

2.Configure health checkでは、Nameを任意に入力し、What to monitorとある監視対象は、[Endpoint]を選択します。

監視項目はそれぞれ以下の通りとなっています。

Endpoint Webサーバを監視
Status of other health checks その他を監視
State of CloudWatch alerm CloudWatchのアラームを監視

3.Monitor an endpointでは以下のパラメータで設定をします。
設定後、[Next]を選択します。Advanced configurationを設定する場合は、この下に補足しています。

Specify endpoint by Domain name
Protocol HTTP
Domain name 監視対象のドメイン
port 80
path 指定しない場合はドメイン直下

(補足)3.Advanced configurationで監視対象にリクエストする間隔を変更(30 or 10 secondes)、リクエスト失敗した時に閾値(Failure threshold)など設定変更が可能です。

4.通知先の設定をおこないます。Create alarmを[Yes]に変更し、Send notification toから[New SNS topic]を選択します。既に作成している場合は、[Existing SNS topic]から選択できます。Topic name(トピック名を任意に)とRecipient email address(通知先メールアドレス)を入力し、[Create health check]を選択します。これでhealth checkの設定は完了です。

5.30秒程、経過するとUnknownからHealthy(正常の場合)になります。

6.SNSのトピックを新規作成した場合は、確認メールが届いているので、[Confirm subscription]をクリックします。

Subscription confirmed!と表示されます。これで通知先として登録されます。

検証

1.website.test-lab.tkのWEBサーバからapatchします。

$ sudo service httpd stop
Stopping httpd:                                            [  OK  ]

2.Unhealthyに状態になっています。

メールも送られてきます。

以上