ヘルプ CloudFront ログ

Lambda関数を使用したAmazon CloudFrontのログ収集

CloudFrontのログには、CloudFrontが受け取るすべてのユーザリクエストに関する情報が含まれており、Cloudfrontが提供するWebプロパティ全体での利用パターンを識別できます。また、Lambda関数を通して監視するために、S3バケットに保存されているCloudfrontログを収集して、Site24x7へ送信できます。ここでは、Cloudfrontログでのログ監視を有効にするための、Site24x7アカウント設定方法について説明します。

ログプロファイルの作成

CloudTrailログを収集するには、まずログプロファイルを作成する必要があります。[AppLogs]>[ログプロファイル]>[ログプロファイルの追加]へ進み、以下の項目を入力します:

  1. プロファイル名: ログプロファイル名を入力します。
  2. ログタイプ: CloudFrontログを選択します。AWSアカウントでCloudFrontログを有効にしていない場合は、こちらをご覧ください。
  3. ログソース: Amazon Lambdaを選択します。
  4. タイムゾーン: ログのタイムゾーンを選択します。
  5. [保存]をクリックします。
  6. こちらの手順に従って、Lambda関数を設定します。

AWS設定

1. Lambdaコードの取得

Lambda関数で必要なコードは、以下のリンクから取得できます:

https://github.com/site24x7/applogs-aws-lambda/blob/master/s3/s3-sender.py

2. Lambda関数の設定

  • [サービス]のドロップダウンリストから、[Lambda]を選択し、[関数の作成]をクリックします。スクラッチから著者を選択し、関数の名前を入力し、ランタイムとしてPython 3.7を選択します。
  • アクセス権限: 既存のIAMロールを選択するか、AWS[ポリシーテンプレート]から新規ロールを作成します。[ポリシーテンプレート]のドロップダウンメニューから[Amazon S3オブジェクト読み込み専用アクセス権]および[ロール名]を選択します。また、新規ユーザーロールを作成し、他のサービスにもアクセス権限を拡張できるオプションもあります。
  • トリガーの追加: スクロールダウンして[S3バケット]を選択します。S3バケットに追加されたログファイルは、Lambda関数によってSite24x7へ送られます。
  • トリガーの設定
    • バケット:ログを収集するS3バケット名を入力します。
    • イベントタイプ: [すべてのオブジェクト作成]イベントを選択します。
    • [追加]をクリックします。
  • 以下のように表示されるウィンドウで、[Lambda関数]をクリックします:
  • エディターまでスクロールし、以下リンクにあるコードを入力します:
https://github.com/site24x7/applogs-aws-lambda/blob/master/s3/s3-sender.py
  • コードを入力したら、Site24x7 Webクライアントに移動し、[管理]>[Applogs] >[ログプロファイル]へ進みます。作成した[ログプロファイル]を選択し、[環境変数]フィールド下の画面に変数logtypeConfigの入力として表示されるコードをコピーします。

CloudFrontロギングの設定

[サービス]のドロップダウンリストから、[CloudFront]を選択し、CloudFrontディストリビューションおよびディストリビューション設定を選択します。[編集]をクリックし、[ロギング]を有効にして、ログを収集するS3バケットの名前を選択します。

関連するログタイプ