【新機能】Amazon CloudFrontのアクセスログに新フィールドが追加されました!

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

先日、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つです。

  • SSLv3
  • TLSv1
  • TLSv1.1
  • TLSv1.2

HTTPでアクセスされた場合には「-」(ハイフォン)がセットされます。

ssl-cipher クライアントがHTTPSでアクセスした場合、の項目にはSSL Cipher(暗号スイート)がセットされます。具体的には以下の内容になります。

  • ECDHE-RSA-AES128-GCM-SHA256
  • ECDHE-RSA-AES128-SHA256
  • ECDHE-RSA-AES128-SHA
  • ECDHE-RSA-AES256-GCM-SHA384
  • ECDHE-RSA-AES256-SHA384
  • ECDHE-RSA-AES256-SHA
  • AES128-GCM-SHA256
  • AES256-GCM-SHA384
  • AES128-SHA256
  • AES256-SHA
  • AES128-SHA
  • DES-CBC3-SHA
  • RC4-MD5

HTTPでアクセスされた場合には「-」(ハイフォン)がセットされます。

x-edge-response-result-type CloudFrontがクライアントからのリクエストに対して応答を返す前に判断していた結果タイプ。実際にクライアントに返した結果タイプはx-edge-result-typeに格納されています。セットされる結果タイプは以下の通り。

  • Hit
  • RefreshHit
  • Miss
  • LimitExceeded
  • CapacityExceeded
  • Error

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のアクセスログですが、気づけば様々な種類のフィールドが追加されていました。アクセス分析が捗りますね!