わずかなコストで実現できるawsのurlの監視方法とは?
Posted on 2020-02-01

ウェブサイトを運営していると、いつの間にかアクセス数が激減していたという経験をしたことがあるという方はいるのではないでしょうか。そのような場合には、せっかく作った画面がHTML上でうまく表示されていない可能性があります。
そこで以下では、aws上で利用できるツールを使って、そのような問題が生じていないか簡単に確認できる方法について紹介します。
ウェブサイトの外形監視とは

まず最初に、ウェブサイトに問題が生じていないかを確認するために外形監視を行うのが有効です。この外形監視というのは、ウェブサイトの利用者が実際に自分が持っている端末でそのサイトを閲覧した時に、サイトオーナーが考えているのと同じように画面上で見えているかどうかをチェックするという行為です。
「外形」という文言が入っていることからも分かるように、ユーザー側から見た場合に、適正な範囲内にレスポンスが返せているかや、宛先に対してきちんとリクエストが送信されているかどうかといった点をシステムを使ってチェックし、それによってウェブサイトが正常に稼働しているかを見極めるというのが、この監視方法のポイントとなります。
一般的にウェブサイトの監視を行う場合には、監視用の専用サーバーを用意して、そこに監視ソフトをインストールしてチェックを行うというのが通常です。もっとも、そこまでするには時間もコストも必要になってくるため、大企業であればともかく、個人の場合にはなかなかそこまでするのは難しいかもしれません。
外形監視にはAWS Lambdaを使おう
自分で監視用サーバーを構築するのが面倒な方におすすめなのが、AWS Lambdaというツールを利用してウェブサイトの外形監視を行うというやり方です。AWSというのは、Amazon Web Service(アマゾン ウェブ サービス)の略で、大手通販サイトとして知られるアマゾンが全世界で提供しているクラウドサービスです。
オンライン上でバーチャルに用意されているクラウドサーバーに様々なアプリケーションソフトウェアをインストールしてユーザーが利用できるようにするというサービスで、数あるサービスの一つとして提供されているのがAWS Lambdaなのです。
AWS Lambdaの特徴は、オンデマンドでコードの断片を実行可能なアプリケーション基盤であるという点です。クラウドサービスですので、わざわざサーバーを用意しなくても、あらかじめ実行しようとしているコードを入力しておけば、実行したいときにいつでもそのコードを呼び出せるようになります。
ウェブサイトの外形監視を行うためには、ステータスコードやレスポンスタイムなどをかくにんするために、定期的にリクエストを送信するだけですので、このサービスを使えば簡単に外形監視が行えるようになります。なお、AWS上のサービスなので、同様にAWSで運営されているウェブサイトしか監視できないのではないかと考える方がいるかもしれませんが、実際にはそのような心配は無用です。
というのも、AWS Lambdaは、物理的またはネットワーク的に異なっている対象を監視できるように仕様が定められているからです。そのため、AWS以外の環境で運営されているサイトや、海外で運営されているサイトであっても、簡単に外形監視を行えるのです。
AWS Lambdaのシステム構造とは

AWS Lambdaでは、実行トリガーを指してイベントソースと呼びます。このイベントソースに、定期的に実行されるcronのような動作を実装してやれば、外形監視を自動的に行えるようになります。そのために、利用可能なのがAWS CloudWatch Eventsというサービスです。
これを使えば、cron式やrate式を使ってイベントを発行するためのスケジュールを用意して、その通りにシステムを動作させられるのです。具体的なシステムの構造としては、AWS CloudWatch Eventsを使って、定期的にイベントをAWS Lambdaに対して発行し、それを受け取ったAWS Lambdaが対象となるウェブサイトのヘルスチェックを行い、その結果を返信します。
あとは、その反応を基に異常が検知された場合には、AWS Lambdaからサイトオーナーの元にアラートが発せられるような仕組みにしておけば、万が一ウェブサイトの動作がおかしくなったときに直ちに把握できるようになるというわけです。
AWS Lambdaによる外形監視のコストの考え方
次に、AWS Lambdaを使ってウェブサイトの外形監視を行うにあたってのコストですが、同サービスには、月間のリクエストが1,000,000件まで、また月間のコンピューティング時間が3,200,000秒までは無料で利用できる枠が設けられていますので、それを超えた分だけが実際に負担しなければならないコストとして認識しておく必要があります。
また、AWS CloudWatch Eventsの利用コストは、発行するイベント数に応じた従量制となっています。
実際にどの程度のコストが必要なのか
コストについての考え方が分かったところで、実際に外形監視を行うために必要なコストの見積もりを行ってみましょう。まず、前提として、ヘルスチェックを毎分行うことにします。その場合、1か月間に実施されるリクエスト数は、約45,000回となり、これは無料枠の範囲内に余裕で収まります。
また、コンピューティング時間についてですが、ヘルスチェックを行う程度であれば、割り当てメモリーは128メガバイトくらいで十分であるため、せいぜい1,000から2,000ms程度で完了すると考えてよいでしょう。
1か月分に換算しても、11,000GB-sec程度ですので、こちらも十分に無料枠でカバーできます。一方、AWS CloudWatch Eventsについては、無料枠が設けられていないため、まったくコストを負担せずに利用することはできません。
基本的には、100万イベントについて1ドルという従量制の料金設定となっていますので、1か月間に約45,000回のリクエストを行うのであれば、0.045ドル程度の利用料が発生する計算になります。ドル円のレートは時とともに変動するため、この金額が実際に円換算でいくらになるかは必ずしも一律ではありませんが、長期で見てもおおむね1ドルは100円から120円の間で上下しているため、それをもとに考えるとおおむね4.5円から5.4円が月間の必要コストであると考えておくと良いでしょう。
年間でも60円前後ですので、いかにリーズナブルに外形監視が行えるかが分かるでしょう。
AWSのサービスを使ってウェブサイトの監視を行おう
以上で見てきたように、AWS上で提供されているAWS LambdaとAWS CloudWatch Eventsの二つのサービスを組み合わせれば、ウェブサイトの外形監視を非常に簡単に行えるようになります。
そのために必要となるコストは、年間でもわずか60円ほどですので、それだけでウェブサイトのトラブルを未然に回避できることを考えれば、積極的に利用しない手はありません。
関連情報>>aws運用代行:CloudCREWhttps://managed.gmocloud.com/managed/