为网络负载均衡器启用访问日志 - Elastic Load Balancing
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为网络负载均衡器启用访问日志

在为负载均衡器启用访问日志记录时,您必须指定负载均衡器将在其中存储日志的 S3 存储桶的名称。存储桶必须具有为 Elastic Load Balancing 授予写入存储桶的权限的存储桶策略。

重要

仅当负载均衡器具有 TLS 侦听器且日志仅包含有关 TLS 请求的信息时,才创建访问日志。

存储桶要求

您可以使用现有存储桶,也可以创建专门用于访问日志的存储桶。存储桶必须满足以下要求。

要求
  • 存储桶必须位于与负载均衡器相同的区域中。该存储桶和负载均衡器可由不同的账户拥有。

  • 您指定的前缀不得包含 AWSLogs。我们会在您指定的存储桶名称和前缀后添加以 AWSLogs 开头的文件名部分。

  • 存储桶必须具有授予将访问日志写入存储桶的权限的存储桶策略。存储桶策略是 JSON 语句的集合,这些语句以访问策略语言编写,用于为存储桶定义访问权限。

存储桶策略的示例

以下是示例策略。对于Resource元素,请amzn-s3-demo-destination-bucket替换为访问日志的 S3 存储桶的名称。Prefix/如果您未使用存储桶前缀,请务必省略。对于aws:SourceAccount,请指定负载均衡器 Amazon 账户的 ID。对于aws:SourceArn,将region012345678912,分别替换为负载均衡器的区域和账户 ID。

{ "Version": "2012-10-17", "Id": "AWSLogDeliveryWrite", "Statement": [ { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket", "Condition": { "StringEquals": { "aws:SourceAccount": ["012345678912"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:region:012345678912:*"] } } }, { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/Prefix/AWSLogs/account-ID/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": ["012345678912"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:region:012345678912:*"] } } } ] }
加密

您可以使用下列任何一种方式为 Amazon S3 访问日志存储桶启用服务器端加密:

  • Amazon S3 托管式密钥(SSE-S3)

  • Amazon KMS 存储在 Amazon Key Management Service (SSE-KMS) 中的密钥†

† 对于 Network Load Balancer 访问日志,您无法使用 Amazon 托管密钥,必须使用客户托管密钥。

有关更多信息,请参阅 Amazon S3 用户指南中的指定 Amazon S3 加密 (SSE-S3) 和使用 Amazon KMS (SSE-KMS) 指定服务器端加密

密钥策略必须允许服务对日志进行加密和解密。以下是示例策略。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" } ] }

配置访问日志

使用以下过程配置访问日志,以捕获请求信息并将日志文件传输到 S3 存储桶。

使用控制台启用访问日志记录
  1. 打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择负载均衡器

  3. 选择您的负载均衡器的名称以打开其详细信息页面。

  4. 属性选项卡上,选择编辑

  5. 编辑负载均衡器属性页面上,执行以下操作:

    1. 对于监控,打开访问日志

    2. 选择浏览 S3 并选中要使用的桶。或者,输入 S3 桶的位置,包括任何前缀。

    3. 选择保存更改

要启用访问日志记录,请使用 Amazon CLI

使用 modify-load-balancer-attributes 命令。