下記のように、CloudFrontはログを出力することができます。

上記のキャプチャをご覧いただくとわかりますが、CloudFrontのログが選択したS3バケットの プレフィックスで指定したディレクトリに出力されていることが確認できます。

実際のログファイル名は下記のようになっており、gzipで圧縮もされています。

{Bucket}.s3.amazonaws.com/{Optional Prefix You Choose}/{Distribution ID}.{YYYY}-{MM}-{DD}-{HH}.{Unique ID}.gz

詳しくはFile Naming and Timing of File Deliveryを参照して下さい。

そして、下記の複数あるCloudFrontログファイルを、AWStatsのツールでマージとソート(日付)をしてみました。

$ ls -1
XXXXXXXXXXXXXX.2011-04-13-21.55w2iVnZ.gz
XXXXXXXXXXXXXX.2011-04-14-09.s8Bk8mlo.gz
...

ログファイルの中身は下記の通りです。

#Version: 1.0
#Fields: date time x-edge-location sc-bytes c-ip cs-method cs(Host) cs-uri-stem sc-status cs(Referer) cs(User-Agent) cs-uri-query
2010-07-20 10:05:00 NRT4 570 219.117.209.225 GET dhisjetezncwd.cloudfront.net /img/test.jpg 304 - Mozilla/5.0%20(Macintosh;%20U;%20Intel%20Mac%20OS%20X%2010_6_4;%20en-US)%20AppleWebKit/533.4%20(KHTML,%20like%20Gecko)%20Chrome/5.0.375.99%20Safari/533.4 -
2010-07-20 10:05:00 NRT4 872 219.117.209.225 GET dhisjetezncwd.cloudfront.net /favicon.ico 404 - Mozilla/5.0%20(Macintosh;%20U;%20Intel%20Mac%20OS%20X%2010_6_4;%20en-US)%20AppleWebKit/533.4%20(KHTML,%20like%20Gecko)%20Chrome/5.0.375.99%20Safari/533.4 -
...

今回はAWStatsをMacPortsからインストールしており、コマンドは下記の通りです。
(logresolvemerge.plを利用しています)

$ sudo port install awstats
$ /opt/local/www/awstats/tools/logresolvemerge.pl ./*
2011-04-21      13:14:54        MIA3    666     66.249.71.67    GET     dhisjetezncwd.cloudfront.net    /suz-lab.gif    304     -       Googlebot-Image/1.0 -
2011-04-23      03:57:47        FRA2    2681    95.108.241.252  GET     dhisjetezncwd.cloudfront.net    /       200     -       Mozilla/5.0%20(compatible;%20YandexBot/3.0;%20+http://yandex.com/bots)       -
...

上記で、複数のCloudFrontのログファイルをマージし、さらにソート(日付)することができました。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら