Internet Monitor の仕組み - Amazon CloudWatch

Internet Monitor の仕組み

このセクションでは、Amazon CloudWatch Internet Monitor の仕組みを説明します。この説明には、インターネット全体における接続上の問題を検出するために使用するデータを AWS が収集する方法や、パフォーマンスと可用性のスコアの計算方法に関する説明も含まれます。

目次

Internet Monitor でアプリケーショントラフィックのフットプリントのみに重点をおく方法

Internet Monitor は、AWS リソースのユーザーがアクセスするインターネットについて、そのサブセットだけをモニタリングすることに重点を置いています。この点が、お客様のウェブサイトを世界中のあらゆるリージョンから全体的にモニタリングする他のツールとは異なります。また、このソリューションは費用対効果も高く、大企業だけでなく中小企業にとっても導入しやすくなっています。

Internet Monitor は、AWS が社内的に活用しているものと同じ強力なプローブと問題検出アルゴリズムを使用します。そして、Internet Monitor 内にヘルスイベントを作成し、アプリケーションに影響を与える接続上の問題をお客様にアラートします。その後、Internet Monitor は、アクティブな利用者から作成したトラフィックプロファイルを重ねることで得られた、パフォーマンスと可用性に関する (アプリケーションリソースに基づいた) マップを提供します。

Internet Monitor はこの情報を使用して、関連のあるイベント (つまり、アクティブな利用者がいる場所でのイベント) や、それらのイベントが全体的な利用者数に及ぼす影響を的確に表示します。つまり、イベントが与える影響度は、全世界のトラフィックの総量を基に (割合として) 算出されます。

Internet Monitor は、クライアントロケーションと ASN のペア、または都市ネットワークのインターネット測定値を保存します。Internet Monitor は、アプリケーション、および各 AWS リージョンとエッジロケーションへのトラフィックの集約された CloudWatch メトリクスも作成します。

さらに、Internet Monitor は、各モニタにトラフィックを送信する上位 500 の都市ネットワークについて、5 分ごとに CloudWatch Logs インターネットにインターネット測定値をパブリッシュし、データに対する CloudWatch ツールやその他の方法の使用をサポートします。必要に応じて、モニタリング対象の都市ネットワークすべてのインターネット測定値を Amazon S3 バケットにパブリッシュする選択ができます (ただし、サービスの上限数は 500,000 の都市ネットワークです)。詳細については、「Amazon CloudWatch Internet Monitor で Amazon S3 にインターネット測定値を発行する」を参照してください。

Internet Monitor には、次のような利点があります。

  • Internet Monitor の使用が、AWS でホストされているアプリケーションに、追加の負荷やコストをかけることはありません。

  • クライアント側のリソースやアプリケーション内に、パフォーマンス測定用のコードを含める必要はありません。

  • アプリケーションが接続されているインターネットについて、「ラストマイル」情報を含めたパフォーマンスと可用性の情報に関する可視化が行えます。

Internet Monitor は、AWS のリソースに基づいて測定値を作成するため、作成されるイベントは、すべてアプリケーショントラフィックに固有であることに注意してください。インターネットにおける、通常の一般的な世界規模の問題は報告の対象になりません。また、サービスロケーションが AWS リージョン の場合、生成される測定値やイベントはリージョンレベルでの接続性を表すように設計されたものとなります。つまり、エンドユーザーのロケーションとアベイラビリティーゾーン間の接続性を正確には表しません。

AWS で接続の問題を測定し測定値を計算する方法

Amazon CloudWatch Internet Monitor は、自律システム番号 (ASN) を介して、異なる AWS リージョン と Amazon CloudFront の POP (Point Of Presence) との間のインターネット接続データを、さまざまなクライアントのロケーションに対して使用します。通常はインターネットサービスプロバイダー (ISP) です。これは、世界中のインターネットにおける接続問題を事前に検出するために、AWS のオペレーターが社内で日常的に使用している接続データです。

当社では AWS リージョン のすべてについて、インターネットのどの部分がそのリージョンと通信しているかを把握しており、次のことを行っています。

  • 当社は、インターネットのこれらの部分を、30 日間の間隔で繰り返し積極的に監視しています。

  • これには、ネットワークのプローブと、より上位のプロトコル用のプローブの両方 (インバウンドとアウトバウンドのプローブなど) を使用します。

AWS は、アクティブとパッシブの 2 種類のプローブを使用して、90 パーセンタイルでのレイテンシー (パフォーマンス) と、すべての AWS リージョン および CloudFront サービスからインターネット全体までの到達可能性 (可用性) を測定しています。利用者の場所とサービスとの間で、接続の異常なパターンを監視し、お客様にアラートを送ります。

詳細については、次のセクションを参照してください。

可用性と RTT の計算

ラウンドトリップタイム (RTT) は、ユーザーからのリクエストがユーザーに応答を返すまでにかかる時間長を表します。エンドユーザーロケーションの間で往復時間を集計すると、その値は、各エンドユーザーのロケーションによって誘導されるトラフィック量によって、重み付けされます。

例えば、エンドユーザーのロケーションが 2 つあり、その 1 つは 5 ミリ秒の RTT でトラフィックの 90% を処理し、もう 1 つは 10 ミリ秒の RTT でトラフィックの 10% を処理している場合、結果として集計される RTT は 5.5 ミリ秒 (5 ミリ秒× 0.9 + 10 ミリ秒× 0.1) になります。

ラストマイルのレイテンシーの測定に関しては、リソースごとに違いがあることに留意してください。Internet Monitor のレイテンシーの測定では、VPC、Network Load Balancers、および WorkSpaces ディレクトリにはラストマイルのレイテンシーは含まれません。

パフォーマンスと可用性スコアの計算

AWS は、AWS のサービスとさまざまな都市ネットワーク (ロケーションと ASN) の間におけるインターネットのパフォーマンスおよび可用性に関する膨大な履歴データを保持しています。このデータに統計分析を適用することで、アプリケーションのパフォーマンスと可用性が、事前に推定計算してあるベースラインを下回った際に、Internet Monitor はそれを検出できます。これらの低下を確認しやすくするために、その情報はヘルススコア (パフォーマンスと可用性のスコア) の形式でユーザーに報告されます。

ヘルススコアの計算は、さまざまな詳細度で行われます。もっとも高い詳細度では、都市や大都市圏などの地域および ASN (都市ネットワーク) ごとに、ヘルススコアを計算します。また、個々のヘルススコアを、アプリケーションの全体的なヘルススコア番号としてモニター内にまとめます。特定の地域やサービスプロバイダーでフィルタリングせずにパフォーマンススコアや可用性コアを表示する場合、Internet Monitor は全体的なヘルススコアを表示します。

全体的なヘルススコアは、指定された期間でアプリケーション全体をカバーします。アプリケーションの都市ネットワークのペアのパフォーマンスまたは可用性スコアが、パフォーマンスまたは可用性についての対応するヘルスイベントのしきい値にグローバルに達するか、またはそれを下回ると、Internet Monitor はヘルスイベントをトリガーします。デフォルトでは、パフォーマンスと可用性の両方のしきい値は 95% です。Internet Monitor は、オプションがデフォルトで有効になっている場合は、設定した値に基づいてローカルしきい値に基づいてヘルスイベントも作成します。ヘルスイベントのしきい値の変更の詳細については、「ヘルスイベントのしきい値を変更する」を参照してください。

モニターおよびログファイル内の情報を掘り下げて問題を調査し、詳細を確認する際には、特定の都市 (場所)、ネットワーク(ASN またはインターネットサービスプロバイダー)、またはその両方でフィルタリングできます。したがって、フィルターを使用すると、選択したフィルターに応じて、さまざまな都市、ASN、または都市ネットワークのペアのヘルススコアを確認できます。

  • 可用性スコアは、トラフィックにおいて可用性の低下だと判定されない割合の推定値を表します。Internet Monitor は、観測されたトラフィックの総量と可用性メトリクスの測定値から、トラフィックが低下した割合を推定します。例えば、エンドユーザーとサービスロケーションのペアにおける可用性スコアが 99% である場合、そのペアでは、トラフィックの 1% で可用性が低下していることになります。

  • パフォーマンススコアは、トラフィックにおいてパフォーマンスの低下だと判定されない割合を表します。例えば、エンドユーザーとサービスロケーションのペアにおけるパフォーマンススコアが 99% の場合、そのペアでは、トラフィックの 1% でパフォーマンスが低下していることになります。

TTFB と RTT の計算 (レイテンシー)

最初のバイトまでの時間 (TTFB) は、クライアントがリクエストを実行した後、サーバーからの情報の最初のバイトを受信するまでにかかった時間です。TTFB の AWS の計算では、Amazon EC2 または Amazon CloudFront から Internet Monitor 測定ノードまでの経過時間を測定します (ノードのラストマイルを含む)。つまり、Internet Monitor は、EC2 の TTFB の場合はユーザーから Amazon EC2 リージョンまでの時間を測定し、CloudFront の TTFB の場合はユーザーから CloudFront までの時間を測定します。

ラウンドトリップ時間 (RTT) の場合、Internet Monitor は、パブリック IP アドレスによってマッピングされた都市ネットワーク (つまり、クライアントのロケーションと ASN、通常はインターネットサービスプロバイダー) から AWS リージョン までの時間を考慮します。これは、Internet Monitor が、ゲートウェイまたは VPN の背後からインターネットにアクセスするユーザーのラストマイルを知ることができないことを意味します。

ラストマイルのレイテンシーの測定に関しては、リソースごとに違いがあることに留意してください。Internet Monitor のレイテンシーの測定では、VPC、Network Load Balancers、および WorkSpaces ディレクトリにはラストマイルのレイテンシーは含まれません。

Internet Monitor では、CloudWatch ダッシュボードの [トラフィックインサイト] タブの [トラフィック最適化の提案] セクションに、TTFB の情報が表示されます。これは、パフォーマンスを改善できるアプリケーションのさまざまな設定オプションを評価するのに役立ちます。

リージョンとアベイラビリティーゾーンの測定値と集計

Internet Monitor は測定値を集約し、影響の共有をリージョンレベルで行いますが、影響の計算はアベイラビリティーゾーン (AZ) レベルで行います。つまり、1 回のイベントで 1 つの AZ のみが影響を受け、トラフィックの大部分がその AZ を通過する場合、トラフィックへの影響を確認できます。ただし、同じイベントで、影響を受けた AZ をアプリケーショントラフィックが通貨しない場合、影響は確認できません。

これは WorkSpaces ディレクトリではないリソースにのみ適用されます。WorkSpaces ディレクトリは、リージョンレベルのみで測定されます。

Internet Monitor の位置情報の精度

位置情報については、Internet Monitor は MaxMind から提供される IP 位置情報データを使用します。Internet Monitor の測定における位置情報の精度は、MaxMind のデータの精度に依存します。

Metro レベルの測定値は、米国以外の場所では正確ではない可能性があるため注意が必要です。

Internet Monitor がヘルスイベントを作成および解決する場合

Internet Monitor は、現在設定されているしきい値に基づいて、監視対象のアプリケーショントラフィックのヘルスイベントを作成および終了します。Internet Monitor にはデフォルトのしきい値設定があり、独自のしきい値を設定することもできます。Internet Monitor は、接続の問題がアプリケーションに及ぼす全体的な影響と、アプリケーションにクライアントが存在するローカルエリアへの影響を判断し、しきい値を超えるとヘルスイベントを作成します。

Internet Monitor は、AWS で提供されるサービスで利用可能なインターネットのパフォーマンスとネットワークトラフィックの可用性に関する履歴データに基づいて、接続の問題がクライアントロケーションに与える影響を計算します。クライアントがアプリケーションを使用する ASN とサービスの地理的位置、つまり影響を受ける都市とネットワークのペアに基づいて、アプリケーションに関連する情報を適用します。場所は、モニターに追加したリソースによって決まります。次に、Internet Monitor は統計分析を使用して、パフォーマンスと可用性が低下し、アプリケーションのクライアントエクスペリエンスに影響が及ぶことを検出します。

パフォーマンスと可用性のスコアは、低下が見られないトラフィックのパーセンテージとして表されます。影響度合いはこの逆で、お客様のエンドユーザーにとって、この問題がどの程度の割合で障害になっているかを表します。仮に、全世界的に可用性が 93% まで低下している場合には、その影響度は 7% になります。

アプリケーションの都市ネットワークのペアのパフォーマンスまたはアベイラビリティスコアが、パフォーマンスまたはアベイラビリティについての対応するヘルスイベントのしきい値にグローバルに達するか、またはそれを下回ると、Internet Monitor がトリガーされ、ヘルスイベントが生成されます。デフォルトでは、パフォーマンスとアベイラビリティの両方のしきい値は 95% です。しきい値を満たすか、またはしきい値を下回る値は累積されるため、いくつかの小さなイベントが積み重なってしきい値の割合を満たすことがある一方で、単一のイベントがしきい値レベルを満たしたり、しきい値を下回ったりする可能性もあります。

イベントをトリガーしたパフォーマンスまたは可用性スコアが、対応するヘルスイベントのしきい値の割合以下である限り、ヘルスイベントはアクティブなままとなります。イベントをトリガーしたスコアまたは合計スコアがしきい値を超えると、Internet Monitor はヘルスイベントを解決します。

また、Internet Monitor は、ローカルのしきい値と、問題が影響するトラフィック全体の割合に基づいてヘルスイベントを作成します。ローカルなしきい値のオプションを設定することも、ローカルなしきい値を完全に無効にすることもできます。

デフォルトのヘルスイベントのしきい値は、パフォーマンススコアとアベイラビリティスコアの両方で 95% です。必要に応じて、Internet Monitor が正常性イベントを作成するときの独自のカスタムしきい値を指定できます。しきい値の設定について詳しくは、「ヘルスイベントのしきい値の変更」を参照してください。

ヘルスイベントが報告されるタイミング

Internet Monitor には、インターネットの問題に関するすべてのシグナルを収集するための機能が備わっており、それを使用して、ヘルスイベントはモニター内に数分で作成されます。

可能な場合、Internet Monitor はヘルスイベントの発生源を分析して、原因が AWS にあるのか、それとも ASN によるものなのかを判断します。ヘルスイベントの分析は、イベントが解決された後も継続されます。新しい情報があると、Internet Monitor はイベントを最大 1 時間で更新できます。

Internet Monitor が IPv4 および IPv6 トラフィックを処理する仕組み

Internet Monitor は、IPv4 のみを介してネットワークの正常性を測定し、任意の IP ファミリー (IPv4 または IPv6) を介してそのネットワークにトラフィックを提供している場合には、ヘルスイベント、可用性およびパフォーマンスのメトリクスを表示します。デュアルスタック CloudFront ディストリビューションなどのデュアルスタックリソースからのトラフィックを提供する場合、IPv4 トラフィックに IPv6 トラフィックと同じリソースの問題がある場合にのみ、Internet Monitor はヘルスイベントを発生させ、パフォーマンススコアまたは可用性スコアの低下を示します。

全体のバイト (IN) とバイト (OUT) に関する Internet Monitor のメトリクスは、すべてのインターネットトラフィック (IPv4 および IPv6) を正確に反映していることに注意してください。

含める都市ネットワークのサブセットを Internet Monitor が選択する仕組み

モニターでモニタリングする都市ネットワークの上限数を設定すると、または、モニタリングするトラフィックの割合を選択すると、Internet Monitor が、最近の最も高いトラフィック量に基づいて、含める (モニタリングする) 都市ネットワークを選択します。

例えば、都市ネットワークの上限数を 100 に設定すると、Internet Monitor は、最近 1 時間のアプリケーショントラフィックに基づいて、(最大) 100 件の都市ネットワークをモニタリングします。具体的には、Internet Monitor は、直近 1 時間の時間枠より前の 1 時間の時間枠で、最もトラフィックが多かった上位 100 件の都市ネットワークをモニタリングします。

例えば、現在の時刻が午後 2 時 30 分であるとします。その場合、モニターに表示されるトラフィックは午後 1 時から午後 2 時の間にキャプチャされたものであり、Internet Monitor が上位 100 件の都市ネットワークを選択するために用いる、トラフィック量の測定値は、午後 0 時から午後 1 時までの間にキャプチャされたものになります。

世界中のインターネットの状況マップを作成する方法 (よくある質問)

Amazon CloudWatch Internet Monitor のインターネットの状況マップは、認証済みの AWS のすべてのお客様が Internet Monitor コンソールで利用できます。このセクションには、インターネットの状況マップの作成方法と使用方法に関する詳細が含まれています。

Internet Monitor のインターネットの状況マップとは何ですか?

インターネットの状況マップは、世界中のインターネット問題を視覚的に表しています。影響を受けるクライアントロケーション、つまり、都市に ASN (通常はインターネットサービスプロバイダー) を加えたものが強調表示されます。このマップでは、世界中の主要なクライアントロケーションと AWS サービスについて、クライアントのインターネットエクスペリエンスに最近影響を与えた可用性とパフォーマンスの問題の組み合わせを示しています。

マップのデータの提供元はどこですか?

データは、インターネットのアクティブプロービングとパッシブプロービングの組み合わせに基づいています。Internet Monitor がデータを測定する方法の詳細については、「AWS による接続問題の測定方法」のセクションを参照してください。

マップはどのくらいの頻度で更新されますか?

インターネットの状況マップは 15 分ごとに更新されます。

どのネットワークが停止について追跡されていますか?

AWS は、インターネットを AWS に接続するためにお客様が使用する重要な IP プレフィックスを表す世界中のネットワークを追跡します。AWS ネットワークとの間で送受信されるトラフィック量のトップのトーカーであるクライアントロケーションが停止の対象となります。

インターネットイベントがマップに含まれるかどうかは何で決まりますか?

インターネットイベントがインターネットの状況マップに含まれるかどうかを判断するために使用する大まかな基準は次のとおりです。

  • AWS は、アベイラビリティイベントまたはパフォーマンスイベントがあることを検出します。

  • イベントの有効期間が短い (例えばイベントが 5 分未満の) 場合、そのイベントは無視されます。

  • そして、そのイベントがトップのトーカーに分類されるクライアントロケーションで行われる場合、そのイベントは停止とみなされます。

インターネットの状況マップにはどのようなしきい値が使用されますか?

インターネットの状況マップでは、停止を判断するためのしきい値は固定されていません。Internet Monitor は、期待値からの逸脱を検出した結果に基づいて、何がイベントを構成するのかを判断します。この仕組みの詳細については、サービスで作成したモニターのヘルスイベントをいつ作成するかを Internet Monitor が判断する方法をご覧ください。モニターを作成すると、Internet Monitor は独自のアプリケーショントラフィックに固有のインターネットトラフィックヘルス測定値を生成します。また、Internet Monitor は、アプリケーションのインターネットトラフィックに影響する問題に関するヘルスイベントを通知します。

このデータで何ができますか?

インターネットの状況マップには、過去 24 時間に世界中で発生した主要なインターネットイベントの簡単な概要が表示されます。インターネットトラフィックを Internet Monitor にオンボードしなくても、インターネットモニタリングエクスペリエンスのフレーバーを取得するのに役立ちます。AWS のインターネットモニタリング機能を最大限に活用して、AWS にホストされているアプリケーションやサービスに合わせてパーソナライズするには、Internet Monitor でモニターを作成できます。

モニターを作成すると、Internet Monitor を有効にして、アプリケーションクライアントに影響する特定のインターネットパスを識別できるようになり、クライアントエクスペリエンスの向上に役立つ機能を利用できるようになります。また、アプリケーショントラフィックとクライアントに特に影響する新しいインターネットの問題についても、事前に通知されます。

イベントの詳細を知るにはどうすればよいですか?

マップ上の停止をクリックすると、イベントの開始時と終了時、影響を受けた都市と ASN、問題の種類 (つまり、パフォーマンスの問題や可用性の問題) などの詳細が表示されます。

イベントに関する詳細情報を取得したり、アプリケーショントラフィックのカスタム測定値を取得したりするには、Internet Monitor でモニターを作成します。