CloudFront とエッジ関数のログ記録
Amazon CloudFront では、さまざまな種類のログ記録が提供されます。CloudFront ディストリビューションに送信されるビューワーリクエスト、または AWS アカウントの CloudFront サービスアクティビティ (API アクティビティ) をログに記録することができます。CloudFront Functions および Lambda@Edge 関数からログを取得することもできます。
リクエストのログ記録
CloudFront には、ディストリビューションに送信されるリクエストをログに記録するために、次の方法が用意されています。
- アクセスログ (標準ログ)
-
CloudFront アクセスログは、ディストリビューションに対して行われたすべてのリクエストに関する詳細なレコードを提供します。ログは、セキュリティ監査やアクセス監査などのシナリオで使用できます。
CloudFront アクセスログは、指定した配信先に配信されます。
次が必要な場合、アクセスログを使用します。
-
履歴分析とレポート
-
セキュリティ監査とコンプライアンス要件
-
費用対効果の高い長期ログ保持
詳細については、「アクセスログ (標準ログ)」を参照してください。
-
- リアルタイムのアクセスログ
-
CloudFront リアルタイムアクセスログはリクエストを受信してから数秒以内に配信され、ディストリビューションに対して行われたリクエストに関する情報をリアルタイムで提供します。リアルタイムのアクセスログのサンプリングレート、つまり、リアルタイムのアクセスログ記録を受信するリクエストの割合を選択できます。ログ記録で受信が行われる特定のフィールドを選択することもできます。リアルタイムのアクセスログは、コンテンツ配信パフォーマンスのライブモニタリングに適しています。
CloudFront リアルタイムアクセスログは、Amazon Kinesis Data Streams で選択したデータストリームに配信されます。Kinesis Data Streams の使用料金に加えて、CloudFront でのリアルタイムアクセスログの料金が発生します。
次が必要な場合、リアルタイムのアクセスログを使用します。
-
リアルタイムのモニタリングとアラート
-
ライブダッシュボードと運用上のインサイト
詳細については、「リアルタイムのアクセスログを使用する」を参照してください。
-
- 接続ログ
-
接続ログは、mTLS が有効なディストリビューションのサーバーとクライアント間の接続に関する詳細情報を提供します。接続ログは、クライアント証明書情報、mTLS 認証の失敗の理由、接続が許可または拒否されたかどうかを可視化します。
アクセスログ (標準ログ) と同様に、接続ログは指定した配信先に配信されます。
注記
接続ログを有効にするには、まずディストリビューションの mTLS を有効にする必要があります。
次が必要な場合、接続ログを使用します。
-
TLS ハンドシェイク中に接続が成功または失敗した理由
-
クライアント証明書情報の可視性
詳細については、「接続ログを使用したオブザーバビリティ」を参照してください。
-
エッジ関数をログ記録する
Amazon CloudWatch Logs を使用して、Lambda@Edge 関数と CloudFront Functions の両方のエッジ関数のログを取得できます。ログには、CloudWatch コンソールまたは CloudWatch Logs API を使用してアクセスできます。詳しくは、「エッジ関数のログ」を参照してください。
サービスアクティビティのログ記録
AWS CloudTrail を使用して、AWS アカウントの CloudFront サービスアクティビティ (API アクティビティ) をログに記録できます。CloudTrail は、CloudFront のユーザー、ロール、または AWS のサービスによって実行された API アクションの記録を提供します。CloudTrail で収集された情報を使用して、CloudFront に対する API リクエスト、リクエスト元の IP アドレス、リクエスト者、リクエスト日時などの詳細を確認できます。
詳細については、「AWS CloudTrail を使用した Amazon CloudFront API コールのログ記録」を参照してください。
ログ記録の詳細については、以下のトピックを参照してください。