CloudFront ディストリビューションとエッジ関数
CloudFront およびエッジ関数のメトリクスを CloudFront で表示するには
AWS Management Consoleにサインインし、https://console.aws.amazon.com/cloudfront/v4/home
で CloudFront コンソールを開きます。 -
ナビゲーションペインで、[モニタリング] を選択します。
-
特定の CloudFront ディストリビューションまたはエッジ関数のアクティビティに関するグラフを表示するには、いずれかを選択してから、[View distribution metrics] (ディストリビューションのメトリクスの表示) または [View metrics] (メトリクスの表示) を選択します。
-
次の手順を実行してグラフをカスタマイズできます。
-
グラフに表示される情報の時間範囲を変更するには、1h (1 時間)、3h (3 時間)、または別の範囲、またはカスタムの範囲を指定します。
-
CloudFront でグラフ内の情報を更新する頻度を変更するには、最新表示アイコンの横にある下矢印を選択してから、リフレッシュレートを選択します。デフォルトの更新間隔は 1 分ですが、他のオプションを選択することもできます。
-
-
CloudWatch コンソールで CloudFront グラフを表示するには、[Add to dashboard] (ダッシュボードに追加) を選択します。CloudWatch コンソールでグラフを表示するには、米国東部 (バージニア北部) リージョンを使用する必要があります。
トピック
CloudFront ディストリビューションのデフォルトメトリクス
すべての CloudFront ディストリビューションについて、以下のデフォルトメトリクスが追加料金なしで表示されます。
- リクエスト
-
すべての HTTP メソッド、および HTTP リクエストと HTTPS リクエストの両方について CloudFront が受信したビューワーリクエストの総数。
- ダウンロードされたバイト数
-
GET
リクエスト、HEAD
リクエスト、およびOPTIONS
リクエストに対してビューワーがダウンロードしたバイト総数。 - アップロードされたバイト数
-
ビューワーが
POST
リクエストとPUT
リクエストを使用して CloudFront にアップロードしたバイトの総数。 - 4xx エラー率
-
レスポンスの HTTP ステータスコードが
4xx
であるすべてのビューワーリクエストの割合 (%)。 - 5xx エラー率
-
レスポンスの HTTP ステータスコードが
5xx
であるすべてのビューワーリクエストの割合 (%)。 - 合計エラー率
-
レスポンスの HTTP ステータスコードが
4xx
または5xx
であるすべてのビューワーリクエストの割合 (%)。
これらのメトリクスは、CloudFront ディストリビューションごとにグラフとして、CloudFront コンソールの [モニタリング] ページに表示されます。各グラフでは、総数が 1 分単位で表示されます。グラフを表示するだけでなく、メトリクスレポートを CSV ファイルとしてダウンロードすることもできます。
CloudFront ディストリビューションの追加のメトリクスを有効にする
デフォルトメトリクスに加えて、追加のメトリクスを追加料金で有効にすることができます。料金の詳細については、「CloudFront の追加のメトリクスに関するコストを見積もる」を参照してください。
以下の追加のメトリクスは、ディストリビューションごとに個別に有効にする必要があります。
- キャッシュヒットレート
-
CloudFront がそのキャッシュからコンテンツを送信した対象のすべてのキャッシュ可能なリクエストの割合 (%)。HTTP
POST
/PUT
リクエストおよびエラーは、キャッシュ可能なリクエストとは見なされません。 - オリジンのレイテンシー
-
CloudFront キャッシュではなくオリジンから送信されたリクエストについて、CloudFront がリクエストを受信してからネットワーク (ビューワーではなく) にレスポンスを提供し始めるまでに費やした合計時間。これは、最初のバイトのレイテンシーまたは最初のバイトまでの時間と呼ばれます。
- ステータスコード別のエラー率
-
レスポンスの HTTP ステータスコードが
4xx
範囲または5xx
範囲内の特定のコードであるすべてのビューワーリクエストの割合 (%)。このメトリクスは、401
、403
、404
、502
、503
、および504
のすべてのエラーコードで使用できます。
追加のメトリクスは、CloudFront コンソール、AWS CloudFormation、AWS Command Line Interface (AWS CLI)、または CloudFront API で有効にすることができます。
追加のメトリクスを有効にするには
AWS Management Consoleにサインインし、https://console.aws.amazon.com/cloudfront/v4/home
で CloudFront コンソールを開きます。 -
ナビゲーションペインで、[モニタリング] を選択します。
-
追加のメトリクスを有効にするディストリビューションを選択し、[View distribution metrics] (ディストリビューションメトリクスの表示) を選択します。
-
[Manage additional metrics] (追加のメトリクスの管理) を選択します。
-
[Manage additional metrics] (追加のメトリクスの管理) ウィンドウで、[Enabled] (有効) をオンにします。追加のメトリクスを有効にしたら、[Manage additional metrics] (追加のメトリクスの管理) ウィンドウを閉じることができます。
有効にした追加のメトリクスがグラフに表示されます。各グラフでは、総数が 1 分単位で表示されます。グラフを表示するだけでなく、メトリクスレポートを CSV ファイルとしてダウンロードすることもできます。
CloudFront の追加のメトリクスに関するコストを見積もる
ディストリビューションの追加のメトリクスを有効にすると、CloudFront は最大 8 つのメトリクスを米国東部 (バージニア北部) リージョンで CloudWatch に送信します。CloudWatch では、メトリクスごとに低い固定料金が請求されます。この料金は、メトリクスごとに毎月 1 回のみ請求されます (ディストリビューションごとに最大 8 つのメトリクス)。これは固定レートであるため、CloudFront ディストリビューションが受信または送信するリクエストまたはレスポンスの数に関係なく、コストは同じままです。メトリクスごとの料金については、Amazon CloudWatch 料金ページ
Lambda@Edge 関数のデフォルトメトリクス
CloudWatch メトリクスを使用して、Lambda@Edge 関数の問題をリアルタイムでモニタリングできます。これらのメトリクスに対する追加料金はありません。
Lambda@Edge 関数を CloudFront ディストリビューションのキャッシュ動作にアタッチすると、Lambda はメトリクスを CloudWatch に自動的に送信し始めます メトリクスはすべての Lambda リージョンで利用可能ですが、CloudWatch コンソールでメトリクスを表示したり、CloudWatch API からメトリクスデータを取得したりするには、米国東部 (バージニア北部) リージョン (us-east-1
) を使用する必要があります。メトリクスグループ名は AWS/CloudFront/
の形式になります。ここで、distribution-ID
distribution-ID
は Lambda@Edge 関数が関連付けられている CloudFront ディストリビューションの ID です。Amazon CloudWatch メトリクスの詳細については、「Amazon CloudWatch ユーザーガイド」を参照してください。
以下のデフォルトメトリクスは、Lambda@Edge 関数ごとにグラフとして、CloudFront コンソールの [モニタリング] ページに表示されます。
-
Lambda@Edge の
5xx
エラー率 -
Lambda 実行エラー
-
Lambda 無効レスポンス
-
Lambda スロットリング
グラフには、呼び出し数、エラー数、スロットル数などが表示されます。各グラフでは、合計が 1 分単位で AWS リージョンごとにグループ化されて表示されます。
調査したいエラーが急増した場合は、問題が発生している関数と AWS リージョンを特定するまで、各関数を選択して AWS リージョン別にログファイルを表示できます。Lambda@Edge エラーのトラブルシューティングの詳細については、以下を参照してください。
-
AWS
でコンテンツ配信をデバッグする 4 つのステップ
CloudFront Functions のデフォルトメトリクス
CloudFront Functions は Amazon CloudWatch に運用メトリクスを送信し、関数をモニタリングできるようにします。これらのメトリクスを表示すると、問題のトラブルシューティング、追跡、およびデバッグに役立ちます。CloudFront Functions は、CloudWatch に次のメトリクスを公開します。
-
呼び出し (
FunctionInvocations
) - 指定された期間に関数が起動 (呼び出し) された回数。 -
検証エラー (
FunctionValidationErrors
) - 指定した期間内に関数によって生成された検証エラーの数。検証エラーは、関数は正常に実行されたが、無効なデータ (無効なイベントオブジェクト) を返した場合に発生します。 -
実行エラー (
FunctionExecutionErrors
) - 特定の期間に発生した実行エラーの数。実行エラーは、関数が正常に完了しなかった場合に発生します。 -
コンピューティング使用率 (
FunctionComputeUtilization
) - 関数の実行にかかった時間 (最大許容時間に対するパーセンテージ)。たとえば、値 35 は、関数が最大許容時間の 35% で完了したことを意味します。このメトリクスは、0から100までの数値です。この値が 100 に達するか、100 に近い場合、関数は許容実行時間を使い切ったか、それに近い状態であるため、以降のリクエストはスロットリングされる可能性があります。関数の使用率が 80% 以上になっている場合は、関数を見直して実行時間を短縮し、使用率を向上させることをお勧めします。例えば、エラーのみを記録したり、複雑な正規表現を単純化したり、複雑な JSON オブジェクトの不要な解析を除外したりできます。
-
スロットリング (
FunctionThrottles
) - 指定された期間に関数がスロットリングされた回数。関数は、次の理由でスロットリングできます。-
この関数は、実行に許容される最大時間を継続的に超えている
-
この関数によってコンパイルエラーが発生する
-
1 秒あたりのリクエスト数が異常に多い
-
CloudFront KeyValueStore は、以下のオペレーションメトリクスも Amazon CloudWatch に送信します。
-
読み取りリクエスト (
KvsReadRequests
) - 一定期間に関数がキー値ストアから正常に読み取った回数。 -
読み取りエラー (
KvsReadErrors
) - 一定期間に関数がキー値ストアからの読み取りに失敗した回数。
これらのメトリクスはすべて、米国東部 (バージニア北部) リージョン (us-east-1
) の CloudWatch に CloudFront 名前空間で発行されます。CloudWatch コンソールでこれらのメトリクスを表示することもできます。CloudWatch コンソールでは、関数ごと、またはディストリビューションごとの関数ごとのメトリクスを表示できます。
CloudWatch を使用して、これらのメトリクスに基づいたアラームを設定することもできます。例えば、実行時間 (FunctionComputeUilization
) メトリクスに基づいてアラームを設定できます。このメトリクスは、関数の実行にかかった許容時間の割合を表します。実行時間が特定期間の特定の値に達したとき。例えば、連続 15 分間のうち、選択した利用可能時間が 70% を超えると、アラームがトリガーされます。アラームの作成時に、アラームの値と時間単位を指定します。
注記
CloudFront Functions は、本番リクエストとレスポンスに応答して実行されるステージ LIVE
の関数のみ、メトリクスを CloudWatch に送信します。関数をテストするとき、CloudFront は CloudWatch にメトリクスを送信しません。テスト出力には、エラー、コンピューティング使用率、関数ログ (console.log()
ステートメント) に関する情報が表示されますが、この情報は CloudWatch に送信されません。
CloudWatch API でメトリクスを取得する方法についての詳細は、「Amazon CloudWatch API を使用してメトリクスを取得する」を参照してください。