Amazon CloudFrontのトレンドをCloudWatchで監視する

Amazon_CloudFront

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

ども、大瀧です。
初期費用なしのCDN(Content Delivery Network)サービス、CloudFrontを皆さん使っていますか? Webサイトを運用するときには「実際にどの程度アクセスが来ているのか」、「エラーは発生していないか」などをチェックすることになると思います。CloudFrontにはUsage Reportというアクセス数およびエラーリクエスト数を表示する機能があるのですが、1時間単位と粒度の荒い情報しか出すことができませんでした。

cloudfront-usage01

本日、CloudWatch(AWSの監視サービス)がCloudFrontに対応し、粒度の細かい情報の確認とアラーム設定ができるようになりました。

こちらの機能を使い、CloudWatchでのCloudFrontの監視方法をご紹介します。

CloudWatchでCloudFrontを監視する

CloudWatchでのCloudFront監視はデフォルトで有効になっており、特に設定を変更する必要はありません。機能自体は今朝未明にリリースされたのですが、それ以前のデータを参照することもできるようです。データの保存期間はCloudWatch標準の14日間です。

CloudWatchの画面でCloudFrontのデータを表示するためには、画面右上のリージョンから[US East(N. Virginia)]を選択します。他のリージョンでは、CloudWatchメニューの[Metrics]にCloudFrontが表示されないので注意してください。

cloudwatch-cf01

CloudWatchメニューの[Metrics] - [CloudFront]を選択すると、ディストリビューションID(CloudFrontの配信設定)ごとにメトリクス(監視項目)一覧がリストされます。

cloudwatch-cf02

メトリクスには以下があります。

  • Requests
  • BytesDownloaded
  • BytesUploaded
  • 4xxErrorRate
  • 5xxErrorRate
  • TotalErrorRate

エラー関係のメトリクスは"Rate"なので、エラーリクエスト数ではなくエラー率になっていることに注意してください。また、リクエストが無い時点は、データ無しになるようです。"0"のデータが入るわけではないので、他の監視ツールと組み合わせるときには注意が必要かもしれません。

cloudwatch-cf03

メトリクスは分単位にサンプリングされますが、CloudWatchでは1分/5分/15分/1時間/6時間/1日と単位を変更することができ、複数メトリクスを選択して1つのグラフにプロットすることも可能です。リクエスト数とエラーレートの相関を見るときに便利だと思います。

また、しきい値を設定してアラームをセットすることも可能です。グラフの右下の[Tools]にある[Create Alarm]からアラーム作成画面に遷移します。

cloudwatch-cf04

アラーム設定は、CloudWatchの通常のアラームと区別ありません。メール送信のほか、AutoScalingとの連携などが設定できます。

まとめ

CloudWatchでCloudFrontを監視する方法をご紹介しました。特別な設定なしで十分な情報が得られるようになっていると思います。欲を言うと、静的/動的コンテンツごとにオリジンを使い分ける場合があるのでビヘイビア(オリジン)ごとにメトリクスが別れているとよりステキだなぁと思います。あとエッジロケーション毎など欲望は尽きません...(笑)ともあれ、CloudFrontによるWebサイト運用にお役立てください!