Elastic Load Balancing
传统负载均衡器
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

传统负载均衡器的 AWS CloudTrail 日志记录

Elastic Load Balancing 与 AWS CloudTrail 集成,该服务捕获 API 调用并将日志文件传输到您指定的 Amazon S3 存储桶。使用 CloudTrail 不产生任何费用。但是,将按照 Amazon S3 的标准费率收费。

每当您直接使用或通过 AWS 管理控制台间接使用 AWS API (包括 Elastic Load Balancing API) 时,CloudTrail 将记录对这些 API 的调用。您可以使用 CloudTrail 收集的信息,来确定发出了哪些 API 调用、使用了哪个源 IP 地址、发出调用的用户以及发出调用的时间等。您可以使用 AWS CloudTrail 捕获由您的 AWS 账户或代表您的 AWS 账户向 Elastic Load Balancing API 发出的调用的相关信息。有关 Elastic Load Balancing API 操作的完整列表,请参阅 Elastic Load Balancing API Reference version 2012-06-01

要监控负载均衡器的其他操作 (例如,当客户端向负载均衡器发出请求时),请使用访问日志。有关更多信息,请参阅 传统负载均衡器的访问日志

启用 CloudTrail 事件日志记录

如果您还没有为您的账户启用 CloudTrail 事件日志记录,请按照下面的步骤操作。

启用 CloudTrail 事件日志记录

  1. https://console.amazonaws.cn/cloudtrail/ 打开 CloudTrail 控制台。

  2. 选择 Get Started Now

  3. 对于 Trail name,键入跟踪的名称。

  4. Apply trail to all regions 保留为 Yes

  5. 为您的 CloudTrail 日志文件选择现有的 S3 存储桶,或者创建新存储桶。要创建新的存储桶,请在 S3 bucket 中指定唯一名称。要使用现有存储桶,请将 Create a new S3 bucket 更改为 No,然后从 S3 bucket 中选择您的存储桶。

  6. 选择 Turn on

日志文件写入到 S3 存储桶中的以下位置:

my-bucket/AWSLogs/123456789012/CloudTrail/region/yyyy/mm/dd/

有关更多信息,请参阅 AWS CloudTrail User Guide

Elastic Load Balancing 事件信息

CloudTrail 中的日志文件包含以 JSON 格式表示的事件信息。一条事件记录表示一次 AWS API 调用,并包含有关所请求操作的信息,例如请求操作的用户、请求的日期和时间、请求参数以及响应元素等。

这些日志文件包含 AWS 账户的所有 AWS API 调用 (而不只是 Elastic Load Balancing API 调用) 的事件记录。但是,您可以使用值为 elasticloadbalancing.amazonaws.comeventSource 元素读取日志文件并扫描对 Elastic Load Balancing API 的调用。要查看有关特定 ELB API (如 CreateLoadBalancer) 的信息,请在 eventName 元素中扫描该 API 名称。

以下示例显示了一位用户的 CloudTrail 日志记录,该用户使用 AWS CLI 创建了一个负载均衡器,然后又删除了该负载均衡器。用户由 userIdentity 元素标识。CLI 由 userAgent 元素标识。请求的 API 调用 (CreateLoadBalancerDeleteLoadBalancer) 由每条记录的 eventName 元素标识。有关 CloudTrail 日志文件中的不同元素和值的更多信息,请参阅 AWS CloudTrail User Guide 中的 CloudTrail 事件参考

{ "Records": [ { "eventVersion": "1.03", "userIdentity": { "type": "IAMUser", "principalId": "AIDAJDPLRKLG7UEXAMPLE", "arn": "arn:aws-cn:iam::123456789012:user/Alice", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "Alice" }, "eventTime": "2016-04-01T15:31:48Z", "eventSource": "elasticloadbalancing.amazonaws.com", "eventName": "CreateLoadBalancer", "awsRegion": "us-west-2", "sourceIPAddress": "198.51.100.1", "userAgent": "aws-cli/1.10.10 Python/2.7.9 Windows/7 botocore/1.4.1", "requestParameters": { "subnets": ["subnet-12345678","subnet-76543210"], "loadBalancerName": "my-load-balancer", "listeners": [{ "protocol: "HTTP", "loadBalancerPort": 80, "instanceProtocol": "HTTP", "instancePort": 80 }] }, "responseElements": { "dNSName": "my-loadbalancer-1234567890.elb.amazonaws.com" }, "requestID": "b9960276-b9b2-11e3-8a13-f1ef1EXAMPLE", "eventID": "6f4ab5bd-2daa-4d00-be14-d92efEXAMPLE", "eventType": "AwsApiCall", "apiVersion": "2012-06-01", "recipientAccountId": "123456789012" }, { "eventVersion: "1.03", "userIdentity": { "type": "IAMUser", "principalId": "AIDAJDPLRKLG7UEXAMPLE", "arn": "arn:aws-cn:iam::123456789012:user/Alice", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "Alice" }, "eventTime": "2016-04-08T12:39:25Z", "eventSource": "elasticloadbalancing.amazonaws.com", "eventName": "DeleteLoadBalancer", "awsRegion": "us-west-2", "sourceIPAddress": "198.51.100.1", "userAgent": "aws-cli/1.10.10 Python/2.7.9 Windows/7 botocore/1.4.1", "requestParameters": { "loadBalancerName": "my-load-balancer" }, "responseElements": null, "requestID": "f0f17bb6-b9ba-11e3-9b20-999fdEXAMPLE", "eventID": "4f99f0e8-5cf8-4c30-b6da-3b69fEXAMPLE" "eventType": "AwsApiCall", "apiVersion": "2012-06-01", "recipientAccountId": "123456789012" }, . . . ]}

您还可以使用与 CloudTrail 集成的 Amazon 合作伙伴解决方案之一来读取和分析 CloudTrail 日志文件。有关更多信息,请参阅 AWS 合作伙伴页面。