【新機能】Amazon Route 53 に[Calculated Health Checks]と[Latency Checks]が追加されました!

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、せーのです。 今日はRoute 53に追加された2つのチェック項目をご紹介したいと思います。

Calculated Health Checksとは

今までヘルスチェックは1ドメインにつき1つ、割り当てられていました。しかしポータルサイトなどでは特集ページやユーザーページ等、複数のドメインを使用してコンポーネントを構築するWebサイトがあります。Calculated Health Checksを使用するとこのような複数のドメインをグループ化しANDやORでまとめてヘルスチェックすることができます。例えば3つのドメインから成り立つサイトを運営していてどれか1つのドメインでもヘルスチェックが通らなかったらアラートを上げる、ということも可能です。

Latency Checksとは

こちらは字の通りレイテンシーのチェックです。このメトリクスでは

  • TCP connection time - Route 53からエンドポイントまでのコネクションが確立する時間
  • time to first byte - 最初のバイトが戻ってくるまでの全所要時間
  • the time to complete the SSL handshake(SSL通信の場合のみ) - SSLコネクションが確立するまでの時間(2回のラウンドトリップを含む)

という3つの項目が取れます。またこの項目は本来のヘルスチェックの一項目として扱われ、CloudWatchにも飛ばせます! CloudWatch側ではこれらのレイテンシーチェックの値はリージョン毎に見ることもできますので、CloudFront導入の検討材料としても使えますね。

やってみた

それではやってみましょう。まずはEC2を3つ立ち上げます。

route53update1

この3つにEIPをつけ

route53update6

Route 53にてドメインを振ります。

route53update2

次にそれぞれのEC2にヘルスチェック用にApacheを立てます。またヘルスチェック用のファイルを一つ作っておきます。

ssh ec2-user@54.65.217.193 -i ~/dev/key/XXXXXXXXXX.pem
sudo yum update -y
sudo yum install httpd -y
sudo service httpd start
sudo touch /var/www/html/healthcheck.txt
sudo chmod 444 /var/www/html/healthcheck.txt

DNSが効いているかどうか、Route 53で振ったドメインからブラウザでアクセスしてみます。

route53update3

これで準備はOKです。次にRoute 53から[Health Check]のタブを選び、Health Checkを新規作成します。

route53update4

まずは3台のEC2に対して80番のヘルスチェックを作成します。

route53update8

こんな感じで3つ作ります。

route53update7

では新機能です。これら3つのドメインをまとめたcaluclated health checksを作成します。

route53update9

statusでcalculated health checksを選択し、モニターでまとめる対象のヘルスチェックを選びます。最後に[Report healthy when]でどのような場合にhealthyなのかを規定します。今回は全てのヘルスチェックがhealthyならhealthyとしました。

route53update11

ではためしにtest3を落としてみます。

route53update12

そうするとtest3のヘルスチェックがUnhealthyになると同時にcalculated health checksで作成されたヘルスチェックもUnhealthyになっているのがわかります。

route53update14

次にlatency checksを試してみます。 これはhealth checkを新規作成している際にAdvanceに隠れているチェックボックスを入れるだけです。

route53update10

Latencyのタブを開いて確認してみると時間毎のレイテンシーがグラフ化されています。Regionのタブを選択するとリージョンごとのレイテンシーもチェックできるようになっています。

route53update13

まとめ

いかがでしたでしょうか。ヘルスチェックをグループ化してまとめる、というのはなかなかなかった発想で面白いですね。アイデア次第でいろんなことができそうです。 一方レイテンシーのチェックはとても実用的ですぐにでも導入したいと思わせるものです。尚ヘルスチェックには課金が発生しますのでこちらを参考にして料金もチェックしてみてくださいね。

参考サイト