

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

# Health 检查日志
<a name="load-balancer-health-check-logs"></a>

Elastic Load Balancing 提供运行状况检查日志，用于捕获有关注册目标运行状况检查状态的详细信息，包括运行状况检查失败时的失败原因。EC2 实例、IP 地址和 Lambda 函数目标都支持运行状况检查日志。每个日志条目都包含运行状况检查请求类型或连接、时间戳、目标地址、目标组 ID、健康状态和原因代码等信息。您可以使用这些运行状况检查日志来分析目标运行状况模式、监控运行状况变化并解决问题。

Health check 日志是一项可选功能，默认情况下处于禁用状态。为负载均衡器启用运行状况检查日志后，Elastic Load Balancing 会捕获日志并将其作为压缩文件存储在您指定的 Amazon S3 存储桶中。您可以随时禁用运行状况检查日志。

您需要支付 Amazon S3 的存储费用，但无需支付 Elastic Load Balancing 用以将日志文件发送到 Amazon S3 的带宽费用。有关存储成本的更多信息，请参阅 [Amazon S3 定价](https://aws.amazon.com/s3/pricing/)。

**Topics**
+ [Health 检查日志文件](#health-check-log-file-format)
+ [Health check 日志条目](#health-check-log-entry-format)
+ [示例 日志条目](#health-check-log-file-entries)
+ [配置日志传输通知](#health-check-log-event-notifications)
+ [处理运行状况检查日志文件](#health-check-log-processing-tools)
+ [为 Application Load Balancer 启用运行状况检查日志](enable-health-check-logging.md)
+ [禁用 Application Load Balancer 的运行状况检查日志](disable-health-check-logging.md)

## Health 检查日志文件
<a name="health-check-log-file-format"></a>

Elastic Load Balancing 每 5 分钟为每个负载均衡器节点发布一次日志文件。当有大量目标连接到负载均衡器或配置了较小的运行状况检查间隔（例如，每 5 秒）时，负载均衡器可以在同一时间段内传送多个日志。

运行状况检查日志的文件名使用以下格式：

```
bucket[/prefix]/AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/health_check_log_aws-account-id_elasticloadbalancing_region_app.load-balancer-id_end-time_ip-address_random-string.log.gz
```

*bucket*  
S3 存储桶的名称。

*prefix*  
（可选）存储桶的前缀（逻辑层级结构）。您指定的前缀不得包含字符串 `AWSLogs`。要获取更多信息，请参阅[使用前缀整理对象](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)。

`AWSLogs`  
我们会在您指定的存储桶名称和可选前缀后添加以 `AWSLogs` 开头的文件名部分。

*aws-account-id*  
所有者的 AWS 账户 ID。

*region*  
负载均衡器和 S3 存储桶所在的区域。

*yyyy*/*mm*/*dd*  
传输日志的日期。

*load-balancer-id*  
负载均衡器的资源 ID。如果资源 ID 包含任何正斜杠 (/)，这些正斜杠将替换为句点 (.)。

*end-time*  
日志记录间隔结束的日期和时间。例如，结束时间 20140215T2340Z 包含在 UTC 时间（即祖鲁时间）23:35 和 23:40 之间发出的请求的条目。

*ip-address*  
处理请求的负载均衡器节点的 IP 地址。对于内部负载均衡器，这是私有 IP 地址。

*random-string*  
系统生成的随机字符串。

以下是一个带前缀的日志文件名示例：

```
s3://amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/health_check_log_123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz
```

以下是一个不带前缀的日志文件名示例：

```
s3://amzn-s3-demo-logging-bucket/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/health_check_log_123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz
```

日志文件可以在存储桶中存储任意长时间，不过您也可以定义 Amazon S3 生命周期规则以自动存档或删除日志文件。有关更多信息，请参阅《Amazon S3 用户指南》中的[对象生命周期管理](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)**。

## Health check 日志条目
<a name="health-check-log-entry-format"></a>

Elastic Load Balancing 记录目标运行状况检查结果，包括该负载均衡器的所有注册目标的失败原因。每个日志条目都包含对注册目标进行的单个运行状况检查结果的详细信息。

**Topics**
+ [语法](#health-check-log-entry-syntax)
+ [错误原因代码](#health-check-error-reason-codes)

### 语法
<a name="health-check-log-entry-syntax"></a>

下表按顺序描述了运行状况检查日志条目的字段。使用空格分隔所有字段。添加新字段时，我们会将其添加到日志条目的末尾。当我们准备发布新字段时，您可能会在该字段发布之前看到一个额外的尾号“-”。务必要将日志解析配置为在最后一个记录的字段之后停止，并在我们发布新字段后更新日志解析。


| 字段（位置） | 说明 | 
| --- | --- | 
|  type（1）  |  运行状况检查请求或连接的类型。可能的值如下 (忽略任何其他值)： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/application/load-balancer-health-check-logs.html)  | 
|  time（2）  |  对目标启动运行状况检查的时间戳，格式为 ISO 8601。  | 
|  延迟 (3)  |  完成当前运行状况检查所用的总时间（以秒为单位）。  | 
|  target\$1addr (4)  |  目标的 IP 地址和端口，格式为 IP: 端口。如果目标是 Lambda 函数，则为 Lambda 的 ARN。  | 
|  目标群组 ID (5)  |  与目标关联的目标组的名称。  | 
|  状态 (6)  |  运行状况检查的状态。`PASS`如果运行状况检查成功，则此值为。运行状况检查失败时，该值为 `FAIL`  | 
|  状态码 (7)  |  从目标收到的运行状况检查请求的响应代码。  | 
|  原因代码 (8)  |  如果运行状况检查失败，则失败的原因。请参阅 [错误原因代码](#health-check-error-reason-codes)。  | 

### 错误原因代码
<a name="health-check-error-reason-codes"></a>

如果目标运行状况检查失败，负载均衡器将在运行状况检查日志中记录以下原因代码之一。


| 代码 | 说明 | 
| --- | --- | 
|  `RequestTimedOut`  |  Health 检查请求在等待响应时超时  | 
|  `ConnectionTimedOut`  |  由于 TCP 连接尝试超时，Health 检查失败  | 
|  `ConnectionReset`  |  由于连接重置，Health 检查失败  | 
|  `ResponseCodeMismatch`  |  目标对运行状况检查请求的响应的 HTTP 状态代码与配置的状态码不匹配  | 
|  `ResponseStringMismatch`  |  目标返回的响应正文不包含目标组运行状况检查配置中配置的字符串  | 
|  `InternalError`  |  内部负载均衡器错误  | 
|  `TargetError`  |  Target 在响应运行状况检查请求时返回 5xx 错误代码  | 
|  `GRPCStatusHeaderEmpty`  |  GRPC 目标响应有一个没有值的 grpc-status 标头  | 
|  `GRPCUnexpectedStatus`  |  GRPC 目标以意外的 grpc 状态进行响应  | 

## 示例 日志条目
<a name="health-check-log-file-entries"></a>

以下是运行状况检查日志条目的示例。请注意，示例文本以多行形式显示，这只是为了更方便阅读。

以下是成功运行状况检查的日志条目示例。

```
http 2025-10-31T12:44:59.875678Z 0.019584011 172.31.20.97:80 HCLogsTestIPs PASS 200 -
```

以下是运行状况检查失败的示例日志条目。

```
http 2025-10-31T12:44:58.901409Z 1.121980746 172.31.31.9:80 HCLogsTestIPs FAIL 502 TargetError
```

## 配置日志传输通知
<a name="health-check-log-event-notifications"></a>

要在弹性负载均衡将日志传输到 S3 存储桶时收到通知，请使用 Amazon S3 事件通知功能。Elastic Load Balancing 使用[PutObject[CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)、和 [POST 对象](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html)将日志传输到 Amazon S3。为确保您收到所有日志传输通知，请在配置中包含所有这些对象创建事件。

有关更多信息，请参阅《Amazon Simple Storage Service 用户指南》中的 [Amazon S3 事件通知](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventNotifications.html)**。

## 处理运行状况检查日志文件
<a name="health-check-log-processing-tools"></a>

运行状况检查日志文件已压缩。如果您下载这些文件，则必须对其进行解压才能查看信息。

如果您的网站上有大量需求，则负载均衡器可以生成包含大量数据的日志文件 (以 GB 为单位)。您可能无法使用处理来 line-by-line处理如此大量的数据。因此，您可能必须使用提供并行处理解决方案的分析工具。例如，您可以使用以下分析工具来分析和处理运行状况检查日志：
+ Amazon Athena 是一种交互式查询服务，方便使用标准 SQL 分析 Amazon S3 的数据。
+ [Loggly](https://documentation.solarwinds.com/en/success_center/loggly/content/admin/s3-ingestion-auto.htm)
+ [Splunk](https://splunk.github.io/splunk-add-on-for-amazon-web-services/)
+ [Sumo Logic](https://www.sumologic.com/application/elb/)

# 为 Application Load Balancer 启用运行状况检查日志
<a name="enable-health-check-logging"></a>

为负载均衡器启用运行状况检查日志时，必须指定负载均衡器将存储日志的 S3 存储桶的名称。存储桶必须具有为 Elastic Load Balancing 授予写入存储桶的权限的存储桶策略。

**Topics**
+ [步骤 1：创建 S3 存储桶](#health-check-log-create-bucket)
+ [步骤 2：将策略附加到 S3 存储桶](#attach-bucket-policy-health-check)
+ [步骤 3：配置运行状况检查日志](#enable-health-check-logs)
+ [步骤 4：确认存储桶权限](#verify-bucket-permissions-health-check)
+ [问题排查](#bucket-permissions-troubleshooting-health-check)

## 步骤 1：创建 S3 存储桶
<a name="health-check-log-create-bucket"></a>

启用运行状况检查日志时，必须为运行状况检查日志指定 S3 存储桶。您可以使用现有的存储桶，也可以创建专门用于运行状况检查日志的存储桶。存储桶必须满足以下要求。

**要求**
+ 存储桶必须位于与负载均衡器相同的区域中。该存储桶和负载均衡器可由不同的账户拥有。
+ 唯一支持的服务器端加密选项是 Amazon S3 托管密钥 (SSE-S3) 有关更多信息，请参阅 [Amazon S3 托管的加密密钥 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html)。

**使用 Amazon S3 控制台创建 S3 存储桶。**

1. 打开 Amazon S3 控制台，网址为 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 选择 **Create bucket (创建存储桶)**。

1. 在 **Create a bucket (创建存储桶)** 页上，执行以下操作：

   1. 对于**存储桶名称**，请输入存储桶的名称。此名称在 Amazon S3 内所有现有存储桶名称中必须唯一。在某些区域，可能对存储桶名称有其他限制。有关更多信息，请参阅*《Amazon S3 用户指南》*中的[存储桶限制](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html)。

   1. 对于 **AWS 区域**，选择在其中创建负载均衡器的区域。

   1. 对于**默认加密**，选择 **Amazon S3 托管式密钥（SSE-S3）**。

   1. 选择 **创建存储桶 **。

## 步骤 2：将策略附加到 S3 存储桶
<a name="attach-bucket-policy-health-check"></a>

您的 S3 存储桶必须具有存储桶策略，该策略授予 Elastic Load Balancing 将运行状况检查日志写入存储桶的权限。存储桶策略是 JSON 语句的集合，这些语句以访问策略语言编写，用于为存储桶定义访问权限。每个语句都包括有关单个权限的信息并包含一系列元素。

如果您使用的是已附加策略的现有存储桶，则可以将 Elastic Load Balancing 运行状况检查日志的语句添加到策略中。如果您这样做，我们建议您评估生成的权限集，以确保它们适用于需要访问存储桶以获取运行状况检查日志的用户。

### 存储桶策略
<a name="bucket-policy-logdelivery-health-check"></a>

该策略向指定的日志传送服务授予权限。

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "logdelivery.elasticloadbalancing.amazonaws.com"
      },
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*"
    }
  ]
}
```

对于 `Resource`，使用示例策略中显示的格式，输入访问日志所在位置的 ARN。请务必在 S3 存储桶 ARN 的资源路径中，包含该负载均衡器所在账户的账户 ID。这样可以确保只有来自指定账户的负载均衡器才能将访问日志写入 S3 存储桶。

您指定的 ARN 取决于您是否计划在[步骤 3](enable-access-logging.md#enable-access-logs) 中启用访问日志时包含前缀。

**带前缀的 S3 存储桶 ARN 示例**  
S3 存储桶名称为 amzn-s3-demo-logging-bucket，前缀为 logging-prefix。

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**AWS GovCloud (US)**：以下示例使用 AWS GovCloud (US) Regions的 ARN 语法。

```
arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**不带前缀的 S3 存储桶 ARN 示例**  
S3 存储桶名称为 amzn-s3-demo-logging-bucket。S3 存储桶 ARN 中没有前缀部分。

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

**AWS GovCloud (US)**：以下示例使用 AWS GovCloud (US) Regions的 ARN 语法。

```
arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

### 传统存储桶策略
<a name="legacy-bucket-policy"></a>

在此之前，对于 2022 年 8 月之前可用的区域，我们要求向该区域特定的弹性负载均衡账户授予权限的策略。此旧版策略仍然受到支持，但我们建议您将其替换为上述新版策略。当然如果您愿意，也可以继续使用旧版策略（此处未显示）。

 以下是要在 IDs 旧策略中指定的 Elastic Load Balanc `Principal` ing 账户供参考。请注意，不在此列表中的区域不支持旧版策略。
+ 美国东部（弗吉尼亚州北部）– 127311923021
+ 美国东部（俄亥俄州）– 033677994240
+ 美国西部（北加利福尼亚）– 027434742980
+ 美国西部（俄勒冈州）– 797873946194
+ 非洲（开普敦）– 098369216593
+ 亚太地区（香港）– 754344448648
+ 亚太地区（雅加达）– 589379963580
+ 亚太地区（孟买）– 718504428378
+ 亚太地区（大阪）– 383597477331
+ 亚太地区（首尔）– 600734575887
+ 亚太地区（新加坡）– 114774131450
+ 亚太地区（悉尼）– 783225319266
+ 亚太地区（东京）– 582318560864
+ 加拿大（中部）– 985666609251
+ 欧洲（法兰克福）– 054676820928
+ 欧洲（爱尔兰）– 156460612806
+ 欧洲（伦敦）– 652711504416
+ 欧洲（米兰）– 635631232127
+ 欧洲（巴黎）– 009996457667
+ 欧洲（斯德哥尔摩）– 897822967062
+ 中东（巴林）– 076674570225
+ 南美洲（圣保罗）– 507241528517
+ AWS GovCloud （美国东部）— 190560391635
+ AWS GovCloud （美国西部）— 048591011584

### Outposts 区域
<a name="bucket-policy-outposts"></a>

以下策略向指定的日志传送服务授予权限。将此策略用于 Outposts 区域中的负载均衡器。

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "logdelivery.elb.amazonaws.com"
    },
    "Action": "s3:PutObject",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*"
    "Condition": {
        "StringEquals": {
            "s3:x-amz-acl": "bucket-owner-full-control"
        }
    }
}
```

对于 `Resource`，请输入访问日志所在位置的 ARN。请务必在 S3 存储桶 ARN 的资源路径中，包含该负载均衡器所在账户的账户 ID。这样可以确保只有来自指定账户的负载均衡器才能将访问日志写入 S3 存储桶。

您指定的 ARN 取决于您是否计划在[步骤 3](enable-access-logging.md#enable-access-logs) 中启用访问日志时包含前缀。

**带前缀的 S3 存储桶 ARN 示例**  
S3 存储桶名称为 amzn-s3-demo-logging-bucket，前缀为 logging-prefix。

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**不带前缀的 S3 存储桶 ARN 示例**  
S3 存储桶名称为 amzn-s3-demo-logging-bucket。S3 存储桶 ARN 中没有前缀部分。

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

### 安全最佳实践
<a name="bucket-policy-security-best-practices"></a>

为了增强安全性，请使用精确的 S3 存储桶 ARNs。
+ 使用完整的资源路径，而不仅仅是 S3 存储桶 ARN。
+ 包括 S3 存储桶 ARN 的账户 ID 部分。
+ 请勿在 S3 存储桶 ARN 的账户 ID 部分使用通配符（\$1）。

创建存储桶策略后，使用 Amazon S3 接口（例如 Amazon S3 控制台或 AWS CLI 命令）将您的存储桶策略附加到 S3 存储桶。

------
#### [ Console ]

**将您的存储桶策略附加到 S3 存储桶**

1. 打开 Amazon S3 控制台，网址为 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 选择存储桶的名称以打开其详细信息页面。

1. 选择 **Permissions**（权限），然后选择 **Bucket policy**（存储桶策略)、**Edit**（编辑）。

1. 更新存储桶策略以授予所需权限。

1. 选择**保存更改**。

------
#### [ AWS CLI ]

**将您的存储桶策略附加到 S3 存储桶**  
使用 [put-bucket-policy](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-policy.html) 命令。在此示例中，存储桶策略已保存到指定的 .json 文件中。

```
aws s3api put-bucket-policy \
    --bucket amzn-s3-demo-bucket \
    --policy file://access-log-policy.json
```

------

## 步骤 3：配置运行状况检查日志
<a name="enable-health-check-logs"></a>

使用以下过程配置运行状况检查日志，以捕获日志文件并将其传送到您的 S3 存储桶。

**要求**  
存储桶必须满足[第 1 步](#health-check-log-create-bucket)中所描述的要求，并且必须附加[第 2 步](#attach-bucket-policy-health-check)中所描述的存储桶策略。如果指定前缀，则前缀不得包含字符串 “AWSLogs”。

**管理运行状况检查日志的 S3 存储桶**  
在删除为运行状况检查日志配置的存储桶之前，请务必禁用运行状况检查日志。否则，如果有一个新的存储桶名称和所需的存储桶策略，但是在您不拥有的存储桶中创建的，Elastic Load Balan AWS 账户 cing 可能会将您的负载均衡器的运行状况检查日志写入这个新存储桶。

------
#### [ Console ]

**启用运行状况检查日志**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**负载均衡器**。

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

1. 在**属性**选项卡上，选择**编辑**。

1. 对于**监控**，请打开 Healt **h Check 日志**。

1. 对于 **S3 URI**，输入日志文件的 S3 URI。您指定的 URI 取决于您是否使用前缀。
   + 带有前缀的 URI：`s3://bucket-name/prefix`
   + 不带前缀的 URI：`s3://bucket-name`

1. 选择**保存更改**。

------
#### [ AWS CLI ]

**启用运行状况检查日志**  
使用带有相关属性的[modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html)命令。

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn load-balancer-arn \
    --attributes \
        Key=health_check_logs.s3.enabled,Value=true \
        Key=health_check_logs.s3.bucket,Value=amzn-s3-demo-logging-bucket \
        Key=health_check_logs.s3.prefix,Value=logging-prefix
```

------
#### [ CloudFormation ]

**启用运行状况检查日志**  
更新[AWS::ElasticLoadBalancingV2::LoadBalancer](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-loadbalancer.html)资源以包含相关属性。

```
Resources:
  myLoadBalancer:
    Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
    Properties:
      Name: my-alb
      Type: application
      Scheme: internal
      Subnets: 
        - !Ref subnet-AZ1
        - !Ref subnet-AZ2
      SecurityGroups: 
        - !Ref mySecurityGroup
      LoadBalancerAttributes: 
        - Key: "health_check_logs.s3.enabled"
          Value: "true"
        - Key: "health_check_logs.s3.bucket"
          Value: "amzn-s3-demo-logging-bucket"
        - Key: "health_check_logs.s3.prefix"
          Value: "logging-prefix"
```

------

## 步骤 4：确认存储桶权限
<a name="verify-bucket-permissions-health-check"></a>

为您的负载均衡器启用运行状况检查日志后，Elastic Load Balancing 会验证 S3 存储桶并创建一个测试文件以确保存储桶策略指定了所需的权限。您可以使用 Amazon S3 控制台验证是否已创建测试文件。测试文件不是实际的运行状况检查日志文件；它不包含示例记录。

**验证 Elastic Load Balancing 是否在 S3 存储桶中创建了测试文件**

1. 打开 Amazon S3 控制台，网址为 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 选择您为运行状况检查日志指定的存储桶的名称。

1. 导航到测试文件 `ELBHealthCheckLogTestFile`。位置取决于您是否使用前缀。
   + 带有前缀的位置：*amzn-s3-demo-logging-bucket**prefix*/AWSLogs/*123456789012*/ELBHealthCheckLogTestFile
   + 不带前缀的位置：*amzn-s3-demo-logging-bucket*/AWSLogs/*123456789012*/ELBHealthCheckLogTestFile

## 问题排查
<a name="bucket-permissions-troubleshooting-health-check"></a>

如果您遇到访问被拒绝错误，则可能的原因如下：
+ 存储桶策略不授予 Elastic Load Balancing 向存储桶写入运行状况检查日志的权限。确认您使用的是该区域正确的存储桶策略。确认资源 ARN 使用的存储桶名称与您在启用运行状况检查日志时指定的存储桶名称相同。如果您在启用运行状况检查日志时未指定前缀，请确认资源 ARN 不包含前缀。
+ 存储桶使用不支持的服务器端加密选项。该存储段必须使用 Amazon S3 托管密钥（SSE-S3）。

# 禁用 Application Load Balancer 的运行状况检查日志
<a name="disable-health-check-logging"></a>

您可以随时禁用负载均衡器的运行状况检查日志。禁用运行状况检查日志后，您的运行状况检查日志将保留在您的 S3 存储桶中，直到您将其删除。有关更多信息，请参阅《Amazon S3 用户指南》中的[创建、配置和使用存储桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html)**。

------
#### [ Console ]

**禁用运行状况检查日志**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**负载均衡器**。

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

1. 在**属性**选项卡上，选择**编辑**。

1. 对于**监控**，请关闭 **Health 检查日志**。

1. 选择**保存更改**。

------
#### [ AWS CLI ]

**禁用运行状况检查日志**  
使用 [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html) 命令。

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn load-balancer-arn \
    --attributes Key=health_check_logs.s3.enabled,Value=false
```

------