Route53のヘルスチェック機能を使ってサービスの監視をする

はじめに

AWSのRoute53でヘルスチェックの機能を使用して、サービスを監視するということを実践してみる。

環境

AWS
Route53

監視対象について

監視する対象は、 k-bushi.com とする。
※監視対象のドメインについてはRoute53で管理しているものでなくてもOK

費用について

を参照する。

DNS フェイルオーバーを追加料金なしでお試しください* 新規および既存のお客様は、同じ AWS アカウント内にあるか、同じ AWS アカウントにリンクされた AWS エンドポイント**に対して最大 50 件のヘルスチェックを作成できます。

と記載がある。

今回対象とするサービスは、AWS以外のエンドポイントのため、 0.75USD ヘルスチェックごと / 月 となる。

手順

  1. AWSコンソールにログインをする。

  2. 「Route53」をサービスで検索する。
    setting-route53-healthcheck-01

  3. ナビゲーションペインより「ヘルスチェック」を選択する。
    setting-route53-healthcheck-02

  4. 「ヘルスチェックの作成」を選択する。
    setting-route53-healthcheck-03

  5. ヘルスチェックの設定を行う。

項目設定値
名前k-bushi.com
モニタリングの対象エンドポイント
エンドポイントの指定ドメイン名
プロトコルHTTPS
ドメイン名k-bushi.com
ポート443
パス/
リクエスト間隔30秒
失敗しきい値3
レイテンシーグラフなし
SNIの有効化あり
ヘルスチェックステータスを反転なし
ヘルスチェックの無効化なし
ヘルスチェッカーのリージョン推奨を使用する

注意点

  • エンドポイントについて
    エンドポイントにインデックスページを指定すると、インデックスページで重い処理をしている場合にヘルスチェックの分だけ負荷がかかってしまう。
    そのため、エンドポイント用のページを用意しておくのが良い。

  • ヘルスチェッカーのリージョンについて
    ヘルスチェッカーのリージョンは「推奨を使用する」指定すると、8つのリージョンからのヘルスチェックが行われる。 この場合、8つのリージョン分のリクエストがサーバに送られるため、不要であればリージョン数を減らすと良い。
    ただし、最低3つのリージョンは選ぶ必要がある。

setting-route53-healthcheck-04 6. 「次へ」を選択する。
7. アラームの設定を行う。

監視対象に異常があった場合に通知を行うことができるので設定をする。

項目設定値
アラームの作成はい
通知の送信先新しいSNSトピック
トピック名monitoringk-bushi
Eメール受取人のアドレス[監視用のメールアドレス]
setting-route53-healthcheck-05

SNSトピックとして登録したメールアドレスにサブスクライブのメールが来ているので確認をする。

setting-route53-sns-subscribe-01 8. 「ヘルスチェックの作成」を行う。
9. Route53のコンソールに移動するので確認をする。

設定したばかりだと、ヘルスチェックがまだ実施されていないのでデータ不足となる。

setting-route53-healthcheck-06

1,2分すると正常になる。 setting-route53-healthcheck-07

参考

おわりに

AWS Route53でヘルスチェックを利用する方法を書いた。
昔に、Route53でドメインを管理していた頃は使っていたのだが、今回どこかで使えるかなと思って改めて手順として記載した。
k-bushi.comはVercelでデプロイしているので別に監視しなくてもよいので後で外す予定。
別のドメインで自分のサーバで管理する場合は使うかも。

Hugo で構築されています。
テーマ StackJimmy によって設計されています。