如何在 Amazon S3 中查找 Classic Load Balancer 或 Application Load Balancer 的 ELB 访问日志文件?

上次更新时间:2019 年 5 月 31 日

我需要找到配置所用的 Amazon Simple Storage Service (Amazon S3) 存储桶中的 Elastic Load Balancing (ELB) 访问日志。如何找到 Classic Load Balancer 或 Application Load Balancer 的 ELB 访问日志文件?

解决方法

  1. 打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台
  2. 在导航窗格中,选择 Load Balancing 下的 Load Balancers
  3. 选择要用于搜索访问日志文件的负载均衡器。
  4. Description 选项卡上,滚动到 Attributes 部分,然后在 Access logs 中记下 Amazon S3 位置值。
    注意:位置值使用 s3bucket/前缀格式。但是,并非所有位置值都包含前缀。
  5. 打开 Amazon S3 控制台,然后在 Search for buckets 中输入不带前缀(如果包含)的存储桶名称 。
  6. 选择您的 S3 存储桶,打开 Bucket 页面。
  7. 如果您的存储桶名称包含前缀,请在 Amazon S3 搜索中输入前缀。然后,从搜索结果中选择相应的前缀名称。
  8. 选择路径 AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/,其中:
    aws-account-id = 负载均衡器所在的账户 ID
    region = 负载均衡器所在的区域
    yyyy/mm/dd = 日期
  9. 显示指定日期的所有日志。如果有多个负载均衡器将日志存储到此位置,请使用搜索栏查找特定负载均衡器的日志。从头输入文件名,直到包括负载均衡器名称。
    注意:请务必针对 Classic Load BalancerApplication Load Balancer 使用适当的文件名格式。对于 Classic Load Balancer 来说,load-balancer-name 是 Classic Load Balancer 的名称。对于 Application Load Balancer 来说,load-balancer-id 是 Application Load Balancer ARN 的最后三个元素(所有斜杠替换为句点)。
  10. 按名称筛选日志后,使用文件名中的时间戳查找指定时间范围内的日志。
    注意:文件名中的时间戳表示日志记录间隔的结束时间(采用 UTC)。但是,Amazon S3 控制台中的时间戳设置为本地计算机的时区。
  11. 您可能会看到多个日志具有相同的结束时间。多个节点可用于请求,每个节点会为其接收的请求发出自己的日志。将这些单独的日志聚合在一起,以便在指定时间内获得更完整的请求视图。