Amazon Web Services ブログ

新機能 – Amazon CloudWatch RUM をご紹介

私は 2009 年に「New Features for Amazon EC2: Elastic Load Balancing, Auto Scaling, and Amazon CloudWatch」というタイトルのブログ記事を投稿しました。その投稿では、Amazon CloudWatch が高いスケーラビリティと可用性を備えたアプリケーションを構築するのにどのように役立つかについて説明しました。また、デプロイやメンテナンスなしで、メトリクスをコスト効率よくリアルタイムで可視化できることについて記載しました。そのリリース以降、同じ目標を念頭に置いて、多くの新機能を CloudWatch に追加してきました。例えば、昨年、CloudWatch Synthetics を使用して、サイト、API エンドポイント、ウェブワークフローなどをモニタリングする方法をご紹介しました。

リアルユーザーモニタリング (RUM)
次の大きな課題 (および現在取り組んでいる課題) はウェブアプリケーションのモニタリングです。これは、パフォーマンスを把握し、ユーザーに最適なエクスペリエンスを提供することを目標としています。ブラウザの種類、ブラウザの設定、ユーザーの所在地、接続など、関連する変数の数が多いため、現在実行できるのは模擬テストまでです。ユーザーにとって本当に重要なのは、ユーザーにもたらされるエクスペリエンスです。それこそが、お客様の実現過程において当社がサポートしたいと考えていることです。

Amazon CloudWatch RUM は、このエクスペリエンスの特定、理解、および改善に役立つインサイトを提供するメトリクスの収集をサポートします。必要なのは、アプリケーションを登録し、各ページのヘッダーに JavaScript のスニペットを追加して、デプロイすることだけです。このスニペットは、ユーザーがアプリケーションの各ページにアクセスする際に実行され、統合と分析のためにデータを RUM に送信します。このツールは単独で、あるいは Amazon CloudWatch ServiceLensAWS X-Ray の両方と組み合わせて使用できます。

CloudWatch RUM の動作
使用を開始するには、CloudWatch コンソールを開き、RUM に移動します。その後、[Add app monitor] (アプリケーションモニタリングの追加) をクリックします。

モニタリングに名前を付け、アプリケーションをホストするドメインを指定します。

その後、モニタリングおよび収集するイベントを選択し、セッションの割合を指定します。私の個人ブログにはあまりトラフィックがないので、すべてのセッションを収集します。30 日を超える期間にわたって、CloudWatch RUM が提供するデータを保持するために、Amazon CloudWatch Logs にデータを保存することもできます。

最後に、新しい Cognito アイデンティティプールを作成し、タグを追加します。CloudWatch ServiceLens と X-Ray を使用する場合は、アクティブトレースを拡張して XRay を有効にすることができます。私のアプリケーションは API リクエストを一切実行しないので、私はこの操作を行いません。[Add app monitor] (アプリケーションモニタリングを追加) をクリックして完了します。

コンソールには、アプリケーションの <head> 要素に挿入する必要がある JavaScript コードスニペットが表示されます。

スニペットを保存して [Done] (完了) をクリックし、アプリケーション (この場合は無視されている感が否めない個人のブログ) を編集してコードスニペットを追加します。私は Jekyll を使用しており、以下のとおりスニペットをブログテンプレートに追加しました。

そして、トラフィックを待ちます。RUM コンソールに戻ると、すべてのアプリケーションモニタリングが表示されます。MonitorMyBlog をクリックして詳細を確認します。

その後、集約されたタイミングデータと、収集されたその他の情報を詳しく確認できます。本日私がご紹介できるのはほんの一部ですので、ご自身でお試しいただき、より詳細にご確認ください。各タブには複数のフィルターとオプションがあり、特定のページ、場所、ブラウザ、ユーザージャーニーなど、関心のある領域を拡大するのに役立ちます。

[Performance] (パフォーマンス) タブには、アプリケーションのバイタルサインと、その後に追加情報が表示されます。

バイタルサインは 3 つのレベル ([Positive] (良好)、[Tolerable] (許容範囲)、[Frustrating] (不良)) に分けられます。

上掲の画面には、私にとって初見のメトリクス (Lagest Contentful Paint) が含まれています。Philip Walton 氏は、「Lagest Contentful Paint (LCP) は、ページの主要なコンテンツが読み込まれた可能性が高いページロード時間上のポイントを示すものであるため、知覚されるロード速度を測定するに際して、ユーザーを中心に据えた重要なメトリクスとなります」と説明しています。

また、ページをロードする際にブラウザが実行するステップによって消費された時間も確認できます。

そして、1 日の各時間帯における平均ロード時間を見ることができます。

また、このすべての情報をページごとに表示することもできます。

また、[Browsers & Devices] (ブラウザとデバイス) タブでは、興味深い役立つデータを多数確認できます。例えば、ここでもページごとのオプションを使用して、ブログへのアクセスに使用されているブラウザについて詳しく知ることができます。

また、ブログ全体でのユーザージャーニー (ページシーケンス) を表示することもできます。この情報を踏まえると、私はユーザーをあるページから別のページに導くためにより頑張らなくてはならないようです。

先ほどお伝えしたように、ここには興味深い役立つ情報がたくさんありますので、是非ご自身でご覧ください。

今すぐご利用いただけます
CloudWatch RUM は現在利用可能であり、米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)、欧州 (アイルランド)、欧州 (ロンドン)、欧州 (フランクフルト)、欧州 (ストックホルム)、アジアパシフィック (シドニー)、アジアパシフィック (東京)、およびアジアパシフィック (シンガポール) といった 10 の AWS リージョンで今すぐご利用を開始していただけます。10 万件のイベントが収集されるごとに 1 USD をお支払いいただきます。

Jeff;

原文はこちらです。