CONTACT
お問い合わせ

AWS CLIを用いたALBログの取得

AWS CLIを用いたALBログの取得方法を記述する。

目次

AWS CLIを用いたALBログの取得

  1. 概要
    1-1.システム構成イメージ
    1-2.S3に蓄積されるALBログイメージ
    1-3.実行イメージ
  2. ログ収集スクリプト
    2-1.実行手順

1.概要

ALB経由でEC2上のWebサーバにアクセスする構成において、
S3に蓄積されたALBのログ(多数のファイル群)をAWS CLIを用いて1ファイルに集約し参照しやすくする。

システム構成イメージ

EC2でWebサーバを動作させ、ALBで負荷分散・SSLオフロードする。
ALBのログをS3に保管する。
通信コスト圧縮のため、EC2からS3へのアクセスはVPCエンドポイント経由とする。

S3に蓄積されるALBログイメージ

5分毎程度にGZ圧縮形式でログファイルが保管される。
全てのログを時系列で参照するには、全てのログを取得・解凍・結合する必要がある。

実行イメージ

EC2からS3へはVPCエンドポイント経由でCLIでS3にアクセスし、
S3に蓄積されるS3のログをEC2に取得・回答・結合を行い1ファイルとする。

2.ログ収集スクリプト

alb-log-concat.sh

#!/bin/bash

rm -rf /tmp/alb-log/
aws  s3   sync s3:/<S3バケット名>/01_ALB_LOG/AWSLogs/<SID>/elasticloadbalancing/ap-northeast-1/  /tmp/alb-log
gunzip  -rf /tmp/alb-log/
for file in `find /tmp/alb-log/  -name '*.log'`; do cat $file >> /tmp/alb-log-concat.log ;  done

実行手順

①スクリプト実行

[root@ip-10-10-201-10 ~]# ./alb-log-concat.sh

②ログ確認

[root@ip-10-10-201-10 ~]# cat  /tmp/alb-log-concat.log