【新機能】Amazon CloudFrontのアクセスログに新フィールドが追加されました!
はじめに
先日、Amazon CloudFrontの新機能として、アクセスログに新フィールドが追加されました!
今回はこちらの変更内容をご紹介します!
追加されたこと
これまでのCloudFrontのアクセスログのフィールドは以下の通りでした。
#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 cs(Cookie) x-edge-result-type x-edge-request-id x-host-header cs-protocol cs-bytes time-taken
そして今回の新機能によって、以下のように変更されました。
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 cs(Cookie) x-edge-result-type x-edge-request-id x-host-header cs-protocol cs-bytes time-taken x-forwarded-for ssl-protocol ssl-cipher x-edge-response-result-type
追加されたフィールドの意味は以下の通りです。
フィールド | 説明 |
x-forwarded-for | CloudFrontにアクセスしたクライアントのIPアドレスはc-ipにセットされますが、クライアントがProxy経由の場合、c-ipはProxyのIPアドレスになってしまいます。この項目にはProxyの裏にいるアクセス元クライアントの実際のIPアドレスがセットされます。
Proxyが使われていない場合には「-」(ハイフォン)がセットされます。 |
ssl-protocol | クライアントがHTTPSでアクセスした場合、この項目にSSLプロトコル種別がセットされます。具体的には以下の4つです。
HTTPでアクセスされた場合には「-」(ハイフォン)がセットされます。 |
ssl-cipher | クライアントがHTTPSでアクセスした場合、の項目にはSSL Cipher(暗号スイート)がセットされます。具体的には以下の内容になります。
HTTPでアクセスされた場合には「-」(ハイフォン)がセットされます。 |
x-edge-response-result-type | CloudFrontがクライアントからのリクエストに対して応答を返す前に判断していた結果タイプ。実際にクライアントに返した結果タイプはx-edge-result-typeに格納されています。セットされる結果タイプは以下の通り。
x-edge-result-typeとx-edge-response-result-typeに差異が発生するケースとして、x-edge-response-result-typeではHitとして判断したものの、地理的ディストリビューションの制限に引っかかった為にErrorとなるパターンが考えられます。 |
追跡の観点ではx-forwarded-forが追加されたことが嬉しいですし、デバッグの観点ではx-edge-response-result-typeは重要だと思います。
さいごに
リリース直後はcs-uri-queryまでしかフィールドが無かったCloudFrontのアクセスログですが、気づけば様々な種類のフィールドが追加されていました。アクセス分析が捗りますね!