元々、CloudFrontのアクセスログは、設定すればS3に出力する事が可能でしたが、4時間(最大24時間)程度遅れて保存される問題(特徴?)がありました。
後日のアクセス解析では問題ないのですが、リアルタイムで欲しい場合に簡単に行う方法がありませんでした。
(JavaScriptでKinesis Data Streamsに流そうと考えていましたが、それより楽そう)

CloudFrontの設定で、「Real-time Logs」の項目を見付けたのが先でしたが、下記でアナウンスされいます。
Amazon CloudFront がリアルタイムログを発表

今回は、Kinesis Data Streamsに流すまでを書きます。
実際は解析までしたいですが、Kinesis Data Analyticsは勉強中なので、また別の機会に書きます。
Kinesis Data Firehoseも難しくないけど、今回は不要(今までのログでOK)なので別の機会に。

Kinesis Data Streamsの設定

CloudFrontがグローバル(≒バージニア北部)の関係で、東京リージョンに作っても使えないので注意。

https://console.aws.amazon.com/kinesis/home?region=us-east-1#/home
(サービス -> Kinesis -> バージニア北部)

●Kinesis Data Streams
[データストリームを作成]

データストリームの設定
	データストリーム名: (ドメイン名)	※何でも良さそう
データストリームの容量
	開いているシャード数: (秒間の書き込み数と量で算出)	※キャパになるので運用後に増えるようであれば見直し必要
[データストリームの作成]

CoundFrontの設定

今回は構築済みのDistributionに追加します。

https://console.aws.amazon.com/cloudfront/home?region=us-east-1
(サービス -> CoundFront)

Logs
	Real-time log configurations
		[Create configuration]
Create real-time log configuration
	Configuration settings
		Name: (ドメイン名)	※何でも良さそう
		Fields: timestamp, c-ip, sc-status, cs-method, cs-uri-stem, cs-user-agent, cs-referer	※このぐらいで十分そう。必要に応じて変更
		Endpoint: (上記で作成したKinesis Data Streamsのを選択)
	Distribution
		CloudFront distribution: (対象にするDistributionを選択)
		Cache behavior(s): Default (*)	※他にもbehavior作成している場合は必要に応じて選択
	[Create configuration]

動作確認

Kinesis Data Streamsのモニタリングで確認します。
アクセスがないと出ないので、対象のURLにブラウザ等でアクセスします。

https://console.aws.amazon.com/kinesis/home?region=us-east-1#/streams/list
(サービス -> Kinesis -> バージニア北部 -> データストリーム)

データストリーム
	(対象にストリームを選択)
モニタリング
	※受信データやPutレコードのグラフが表示

CloudFrontのリアルタイムログを試す” に対して3件のコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です