FIXER cloud.config Tech Blog
AWSロードバランサーの応答時間をALBのログ分析で可視化する
2026年04月15日 15時00分更新
本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「ALB → ECS 構成でレスポンス時間を可視化する(AthenaでALBログ分析)」を再編集したものです。
AWSで以下のような構成のアプリを運用しています。
クライアント → NLB → ALB → ECS
その際に「リクエストが来てからレスポンスが返るまで遅い気がするけど、どこが遅いのか分からない」という問題にぶつかりました。
やりたかったこと
・NLBに到達してからレスポンスが返るまでの時間を知りたい
・どのAPIが遅いのかを特定したい
結論
NLB単体では厳しいので、ALBアクセスログをAthenaで分析するのが現実解でした。
ALBログには以下の3つの時間が含まれています。
・request_processing_time
→ ALBがリクエストを受け取ってから、ターゲット(ECS)に転送するまでの時間
・target_processing_time
→ ターゲット(ECS / アプリ)が処理して、レスポンスを返し始めるまでの時間
・response_processing_time
→ ALBがターゲットからのレスポンスを受け取って、クライアントへ返し始めるまでの時間
これを合計すると、
ALBに到達してからレスポンスを返すまでの時間
が分かります。
手順
1. ALBアクセスログをS3に出力
ALBの設定からアクセスログを有効化し、S3に出力します。
2. Athenaのクエリ結果出力先を設定
Athenaはデフォルトではクエリを実行できないため、S3に出力先を設定します。
・Athena コンソール → Settings
・「Query result location」にS3パスを設定
例:
s3://your-bucket/athena-results/
3. Athenaでテーブル作成
S3上のログ(gz形式)をそのままクエリできます。
CREATE DATABASE IF NOT EXISTS alb_log_db;
(※CREATE TABLEは公式の定義を使用)
4. レスポンス時間をクエリ
SELECT
request_url,
count(*) AS req_count,
avg(request_processing_time + target_processing_time + response_processing_time) AS avg_total_time,
max(request_processing_time + target_processing_time + response_processing_time) AS max_total_time
FROM alb_log_db.alb_access_logs
WHERE time >= '2026-03-23T00:00:00'
AND time < '2026-03-24T00:00:00'
GROUP BY request_url
ORDER BY avg_total_time DESC
LIMIT 50;
結果
実際に分析してみると、
・最大でも 約70ms
・多くは 5〜30ms
で、サーバ側は特に遅くないことが分かりました。
まとめ
今回はAthenaを使用したALBログの調査方法をまとめました。
実際にやってみると簡単かつ短時間でログの解析ができたのでぜひ試してみてください。
おまけ:遅いリクエストを直接見る
このあたりを整備しておくと、パフォーマンス調査がかなり楽になります。
日高祥矢/FIXER
「ひだか さちや」 2023年度入社の日高祥矢です。 出身は鹿児島県です。 高専を卒業しているんですけど工業高校から高専に編入しました。 小学校からバスケットをしていて、今も大好きです。
本記事はアフィリエイトプログラムによる収益を得ている場合があります


この連載の記事
-
TECH
Terraformのバージョン管理ツール、古いtfenvからtenvへの移行 -
TECH
3週間の自動テストが半日に! Playwrightの使い方の基本 -
TECH
Next.jsで静的テスト環境を構築し、GitHub Actionsで自動化してみた -
TECH
クイズ:正規表現で「0~255」のすべてにマッチするのはどれ? -
TECH
ミニPCサーバーにFluxを導入、GitOpsで自動デプロイする方法 -
TECH
アプリ開発の手戻りを防ぐ 「入力チェック(バリデーション)」の設計方法 -
TECH
Webアプリを使いやすく! 「入力チェック(バリデーション)」の正しい考え方 -
TECH
機械科卒・ITエンジニア就職から一年、やって良かったこと -
TECH
「SOSの出し方を知ろう」 新卒入社から1年、学んだことを振り返る -
TECH
MobSF(Mobile Security Framework)でできること、動かない理由 -
TECH
gitコマンド、長いしだるいしMMS(マジ・短く・したい) - この連載の一覧へ


