概要
ALBにリクエストが来たことをログに出力する方法を簡単にまとめる。
また出力されるログの内容も本当に簡単にだけ説明する。(「こんな情報が出ます」レベルの共有です。)細かい項目に関しては別途ご自身でお調べいただきたい。
ALBで出力できるログ
ALBでは主に「アクセスログ」と「接続ログ」の出力をする事ができる。
ログはファイルとしてS3に出力される。
アクセスログ(Access Log)
「どのようなリクエストがきてどのくらい処理に時間がかかったか」が詳細に書いてあるログ
いっぱい情報が書かれてるから一行がながーい
接続ログ(Connection Log)
「誰が接続したか」が書いてあるログ
日時情報、IPアドレス、接続結果ステータスが書いてある
シンプル
ALBでログを出力させる方法
概要
先にも記載したがALBのログはS3にファイル形式で出力される。(たしかリクエストがあった場合5分刻みに区切ってファイルが出力されたはず。)
なのでバケットを用意するか、既存バケットにフォルダを作成しておこう。
筆者はログ単体のバケットを作成し、「access-log」と「connection-log」のフォルダを作成してそれぞれ格納した。
作業
S3の準備ができたら早速作業に取り掛かろう
-
ALBの詳細画面を開く。
-
「アクション」から「ロードバランサーの属性を編集」をクリックする。
-
遷移先画面で「アクセスログ」と「接続ログ」のスライダーがあるので両方とも「ON」にする。
-
S3 URIを使ってバケットとフォルダを指定することができるので指定する。
-
設定できたら「変更内容の保存」をクリックして保存をする。
これで準備完了だ。
ログを見てみる
上記の設定が行われている状態でALBにリクエストが来ると先ほど設定したS3のフォルダの中にログファイルが作られる。(ログファイルは5分間隔で作成される。なのでリクエストが来たからと言ってすぐファイルが出力されるわけではない。)
S3 URIで設定したフォルダ直下にログファイルができるわけではなくある程度深いディレクトリが作られてログファイルが設置されたはずである。(記憶違いだったら申し訳ない。)