Amazon CloudFront
開発者ガイド (API バージョン 2016-09-29)

CloudFront のモニタリング とアラームの設定

Amazon CloudFront は CloudWatch と統合されており、AWS マネジメントコンソール の CloudFront コンソールの一連のグラフで表示されるか、CloudFront API または CLI を使用してアクセス可能な、ディストリビューションごとに 10 個の運用メトリクスを自動的に公開します。これらのメトリクスは、CloudWatch の制限にはカウントされません。

コンソールでは、メトリクスを表示したり、リージョンのログファイルへのアクセスなどの他の関数を使用して問題の追跡やデバッグに役立てることで、CloudFront ディストリビューションとそれに関連する Lambda 関数、および問題のトラブルシューティングを監視できます。

次のメトリクスは追加料金なしで含まれています。

  • リクエスト

  • ダウンロードされたバイト数

  • アップロードされたバイト数

  • 4xx エラー率

  • 5xx エラー率

  • Lambda@Edge の 5xx エラー率

  • 合計エラー率

  • Lambda 実行エラー

  • Lambda 無効レスポンス

  • Lambda スロットリング

コンソールの [Monitoring] ページには次のものがあります。

  • CloudFront ディストリビューションすべてのリストと、ディストリビューションに関連付けられている Lambda@Edge 関数すべてのリスト。選択するディストリビューションまたは関数を選択して、それに関連するメトリクスを表示することができます。

  • CloudFront HTTP 5xx エラーが原因によって発生したのか Lambda@Edge 機能によって発生したのかを確認するのに役立つ、集約された Lambda@Edge 関数の HTTP 5xx エラーをディストリビューションごとにまとめたディストリビューションメトリクスの表示。

  • 関数実行エラー、無効な関数レスポンスエラー、およびスロットルによるメトリクスのリージョン別内訳を示す Lambda@Edge メトリクスグラフのグループ。

特定の CloudFront ディストリビューションまたは Lambda 関数のアクティビティに関するグラフを表示するには、いずれかを選択してから、メトリクスの表示を選択します。

CloudFront コンソールでこれらのメトリクスに基づいてアラームを設定することも、標準 CloudWatch レートを使用して CloudWatch コンソールでアラームを設定することもできます。たとえば、CloudWatch コンソールの 5xxErrorRate メトリクスに基づいてアラームを設定できます。このメトリクスは、HTTP ステータスコードが 5xx であるすべてのリクエストの割合を表します。

トピック

CloudFront ディストリビューションメトリクス

各 CloudFront ディストリビューションのメトリクスは、[Overview] タブのグラフに含まれています。各グラフでは、合計が 1 分単位で表示され、時間範囲と更新間隔を指定できます。レポートを CSV ファイルとしてダウンロードすることもできます (「CSV 形式でのデータのダウンロード」を参照)。


				コンソールの [モニタリング] ページの CloudFront ディストリビューションのグラフ

ディストリビューションのメトリクスの表示

エラー率メトリクスなど、分布に関する詳細なグラフを表示するには、次の手順に従います。

ディストリビューションのメトリクスを表示するには

  1. AWS マネジメントコンソール にサインインし、https://console.aws.amazon.com/cloudfront/ にある、CloudFront コンソールを開きます。

  2. ナビゲーションペインで、 [Monitoring] をクリックしてディストリビューションを選択します。

  3. [View distribution metrics] を選択します。

次の手順を実行してグラフをカスタマイズできます。

  • グラフに表示される情報の時間範囲を変更するには、1h (1 時間)、3h (3 時間)、または別の範囲、またはカスタムの範囲を指定します。

  • CloudFront でグラフ内の情報を更新する頻度を変更するには、最新表示アイコンの横にある下矢印を選択してから、最新表示間隔を選択します。デフォルトの更新間隔は 1 分ですが、10 秒、2 分、または他のオプションを指定しできます。

CloudWatch コンソールで CloudFront グラフを表示するには、[Add to dashboard (ダッシュボードに追加)]を選択します。

ディストリビューションのメトリクスの表示

ディストリビューションのメトリクスは 2 つのタブに表示されます。

[Overview] タブで、グラフを使用して合計リクエスト数、データ転送に関するメトリクスが含まれ、HTTP エラー率、合計リクエスト数の割合として表示されます。

[Lambda@Edge errors] タブに、コンソールの Lambda 関数実行エラー、無効な関数レスポンス、およびディストリビューションの AWS リージョン別のスロットリングのグラフが表示されます。グラフ上には、AWS リージョンごとにグループ化された、各タイプの Lambda@Edge 関数によって返されるエラーの数があります。これにより、トラブルシューティングの出発点が与えられ、具体的にエラーの原因となった部分に対処できるようになります。

たとえば、調査したいエラーが急増した場合は、どの関数が問題の原因となっているのか、またどのリージョンで発生するのかを特定するまで、関数を選択してリージョン別のログファイルを表示できます。Lambda@Edge エラーのトラブルシューティングの詳細については、「障害のタイプを判断する方法」を参照してください。

HTTP エラーのトラブルシューティングでこの情報を使用する方法の例については、「AWS でコンテンツ配信をデバッグするための 4 つの手順」を参照してください。

Lambda@Edge 関数メトリクス

AWS マネジメントコンソール の [Monitoring] ページには、アカウントのディストリビューションに関連付けられているすべての Lambda@Edge 関数のリストが表示されます。特定の関数を選択すると、その関数のアクティビティに関するいくつかのグラフが表示されます。グラフごとに、時間範囲とリフレッシュレートを指定できます。


				コンソールの [Monitoring] ページで Lambda@Edge 関数を選択する

各 Lambda 関数のグラフには、呼び出し数、エラー数、スロットル数などが含まれます。各グラフでは、合計が 1 分単位で AWS リージョンごとにグループ化されて表示されます。


				分布に関連付けられた特定の Lambda@Edge 関数に関するグラフ

関数のメトリクスの表示

リージョン別の呼び出しなど、関数に関する詳細なグラフを表示するには、次の手順に従います。

関数のメトリクスを表示するには

  1. AWS マネジメントコンソール にサインインし、https://console.aws.amazon.com/cloudfront/ にある、CloudFront コンソールを開きます。

  2. ナビゲーションペインで、[Monitoring] を選択します。

  3. [Lambda@Edge 関数] で関数を選択し、[View function metrics] を選択します。

次の手順を実行してグラフをカスタマイズできます。

  • グラフに表示される情報の時間範囲を変更するには、1h (1 時間)、3h (3 時間)、または別の範囲、またはカスタムの範囲を指定します。

  • CloudFront でグラフ内の情報を更新する頻度を変更するには、最新表示アイコンの横にある下矢印を選択してから、最新表示間隔を選択します。デフォルトの更新間隔は 1 分ですが、10 秒、2 分、または他のオプションを指定しできます。

CloudWatch コンソールにグラフを表示するには、[Add to dashboard] を選択します。

通知を受け取るようにアラームを設定する

CloudFront コンソールで、Amazon Simple Notification Service が特定の CloudFront メトリクスに基づいて通知するようにアラームを設定できます。

CloudFront メトリクスに基づいて Amazon Simple Notification Service (Amazon SNS) 通知を受信するには

  1. AWS マネジメントコンソール にサインインし、https://console.aws.amazon.com/cloudfront/ にある、CloudFront コンソールを開きます。

  2. ナビゲーションペインで、 [Alarms] をクリックし、ディストリビューションを選択します。

  3. [Alarms] ページで、既存のアラームのリストを展開して、作成しようとするアラームが既に存在していないことを確認します。

  4. [Create Alarm] をクリックします。

  5. [Create Alarm] ダイアログボックスで、以下の値を指定します。

    Metric

    アラームを作成する対象のメトリクスを選択します。

    Distribution

    アラームを作成する対象の CloudFront ディストリビューションを選択します。

    アラーム名

    アラームの名前を入力します。

    Send notification to

    このメトリクスのステータスによってアラームがトリガーされた場合に、通知を送信する対象の既存の Amazon SNS トピックを選択します。

    Whenever metric operator value

    CloudWatch がアラームをトリガーして指定されたメールリストに通知を送信する条件を指定します。たとえば、5xx エラー率が 1% を超えたときに通知を受信するには、次のように指定します。

    Whenever Average of 5xxErrorRate > 1

    value の値を指定する際には、次の点に注意します。

    • 区切り文字を使用せず、整数のみを入力します。たとえば、1,000 を指定する場合は、「1000」と入力します。

    • 4xx、5xx、および合計エラー発生率の場合、指定する値はパーセンテージです。

    • リクエスト、ダウンロードされたバイト数、アップロードされたバイト数の場合、指定する値は特定の単位 (1000000000 バイトなど) です。

    期間の連続した少なくとも x 期間

    メトリクスが基準を満たした、指定した長さの期間が連続して何回続いたときに、CloudWatch から通知を送信するかを指定します。値を選択する際には、一時的な問題についても頻繁に通知が生成されるような値と、重要な問題に関する通知の生成が遅れるような値との間で、適切なバランスを見つける必要があります。

  6. 新しい Amazon SNS トピックを作成した場合、[Create] をクリックすると、新しいトピックに関する情報が Amazon SNS からメールで届きます。メールの指示に従います。

Amazon CloudFront メトリクス

AWS/CloudFront 名前空間には、次のメトリクスが含まれます。

注記

各メトリクスに適用できる統計は 1 つ (Average または Sum) のみですが、コンソール、API、AWS Command Line Interface では、すべての統計を利用できます。次の表に、各メトリクスに適用可能な有効な統計を示します。

メトリクス 説明

Requests

すべての HTTP メソッドと HTTP および HTTPS リクエストの両方のリクエストの数。

有効な統計: Sum

単位: なし

BytesDownloaded

GETHEAD、および OPTIONS リクエストで閲覧者がダウンロードしたバイト数。

有効な統計: Sum

単位: なし

BytesUploaded

POST および PUT リクエストを使用して CloudFront でオリジンにアップロードされたバイト数。

有効な統計: Sum

単位: なし

TotalErrorRate

HTTP ステータスコードが 4xx または 5xx であるすべてのリクエストの割合。

有効な統計: Average

単位: パーセント

4xxErrorRate

HTTP ステータスコードが 4xx であるすべてのリクエストの割合。

有効な統計: Average

単位: パーセント

5xxErrorRate

HTTP ステータスコードが 5xx であるすべてのリクエストの割合。

有効な統計: Average

単位: パーセント

CloudFront メトリクスのディメンション

CloudFront メトリクスは CloudFront 名前空間を使用して、2 つのディメンションのメトリクスを提供します。

ディメンション 説明

DistributionId

メトリクスを表示するディストリビューションの CloudFront ID。

Region

メトリクスを表示するリージョン。この値は、Global である必要があります。Region ディメンションは、CloudFront のメトリクスが保存されているリージョン (米国東部(バージニア北部)) とは異なります。