Logo
Section 1 / 8

服务器访问日志

了解如何使用 S3 服务器访问日志来管理访问日志。

导入

服务器访问日志

了解如何使用 S3 服务器访问日志来管理访问日志。

什么是服务器访问日志?

在 AWS S3 中,服务器访问日志功能用于记录对存储桶及其对象的访问情况。

访问请求可以由用户或 AWS 服务发起。通过启用服务器访问日志,这些访问请求会被以日志文件的形式保存下来,便于后续分析。

访问日志包含请求者信息、存储桶名称、请求时间、请求 ID、操作类型、请求者 IP 地址、响应状态码、错误代码等详细信息。

服务器访问日志默认是关闭的,日志文件会写入到一个指定的存储桶中。在为某个存储桶开启日志功能之前,必须先创建这个目标存储桶。建议专门创建一个独立的存储桶用于日志存储。


使用 AWS 控制台启用服务器访问日志

在启用服务器访问日志之前,需要先创建一个目标存储桶,用于接收源存储桶的访问日志。因此,应创建一个与源存储桶同区域的目标存储桶。具体操作如下:

  1. 选择需要开启访问日志的存储桶。
  2. 进入“属性”页面,编辑“服务器访问日志”设置。
  3. 选择“启用”,并指定用于存储日志的目标存储桶。
  4. 点击“保存更改”。
...
服务器访问日志

日志由 S3 日志投递组(S3 log delivery group)负责交付。当启用服务器访问日志时,S3 会自动更新目标存储桶的策略,允许该日志投递组写入数据。

日志投递需要一定时间,通常几小时后才能在目标存储桶中看到日志文件。如果源存储桶启用了静态网站托管功能,网站访问日志也会一并投递到目标存储桶。


服务器访问日志内容示例

在目标存储桶中,可以看到已投递的日志文件。您可以点击任意日志对象,下载并用任意文本编辑器打开查看日志内容:

1b914dfef0f625b8b34ffd1949acb3db8e1e594af02155b812f1108621 my-pets 2[27/Nov/2021:19:19:37 +0000] 103.51.10.89 arn:aws:iam::1234567890:user/admin 3CTAVXF4NR2ANXFMK REST.HEAD.BUCKET - "HEAD /my-pets HTTP/1.1" 200 - - - 20 20 4"-" "S3Console/0.4, aws-internal/3 aws-sdk-java/1.11.1030 5Linux/5.4.147-83.259.amzn2int.x86_64 OpenJDK_64-Bit_Server_VM/25.302-b08 6java/1.8.0_302 vendor/Oracle_Corporation cfg/retry-mode/standard" 7- 9XOFUoVt4EAjM4ZomHzt2c1+oaMmqFXdGShO1wlJJ0VPXsbZt4/TirUAqE3Ng0kP91Eo= 8SigV4 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader s3.amazonaws.com TLSv1.2 -

AWS 不会对启用服务器访问日志收取费用。但日志的存储和访问将按照 S3 的定价标准收费。

随着时间推移,根据源存储桶的访问频率,日志文件可能累积到非常大的规模。为了优化存储成本,可以配置生命周期规则,设定在指定时间后自动删除或归档日志文件。

使用 S3

理解生命周期规则