ELBv2ロードバランサーのアクセスログ設定の確認

使用するロードバランサーの種類とリスナーに合わせて、アクセスログを設定してください。

説明

ALBのアクセスログは、トラフィック分析や障害調査に役立つリクエスト情報を提供します。NLBのS3アクセスログはTLSリスナーのTLS接続が対象となるため、収集範囲を区別してください。

想定される影響

必要なログがないと、ロードバランサーに到達したトラフィックやエラーの調査が難しくなります。

対処方法

access_logsにS3バケットとプレフィックスを指定し、enabled = trueを設定してください。ログ配信を許可するバケットポリシーを設定し、ログが実際に届くことを確認してください。

例

以下は、ALBのS3アクセスログを有効にする例です。参照するネットワークリソースとバケットポリシーは別途定義します。

変更前

hcl
resource "aws_lb" "example" {
  name               = "test-lb-tf"
  internal           = false
  load_balancer_type = "application"
  security_groups    = [aws_security_group.lb_sg.id]
  subnets            = [for subnet in aws_subnet.public : subnet.id]

  access_logs {
    bucket  = aws_s3_bucket.lb_logs.id
    prefix  = "test-lb"
    enabled = false
  }
}

変更後

hcl
resource "aws_lb" "example" {
  name               = "test-lb-tf"
  internal           = false
  load_balancer_type = "application"
  security_groups    = [aws_security_group.lb_sg.id]
  subnets            = [for subnet in aws_subnet.public : subnet.id]

  access_logs {
    bucket  = aws_s3_bucket.lb_logs.id
    prefix  = "test-lb"
    enabled = true
  }
}

参考資料