

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ヘルスチェックログ
<a name="load-balancer-health-check-logs"></a>

Elastic Load Balancing は、ヘルスチェックが失敗した場合の失敗の理由など、登録されたターゲットのヘルスチェックステータスに関する詳細情報をキャプチャするヘルスチェックログを提供します。ヘルスチェックログは、EC2 インスタンス、IP アドレス、Lambda 関数ターゲットでサポートされています。各ログエントリには、ヘルスチェックリクエストタイプまたは接続、タイムスタンプ、ターゲットアドレス、ターゲットグループ ID、ヘルスステータス、理由コードなどの情報が含まれます。これらのヘルスチェックログを使用して、ターゲットヘルスパターンの分析、ヘルス遷移のモニタリング、問題のトラブルシューティングを行うことができます。

ヘルスチェックログは、デフォルトで無効になっているオプション機能です。ロードバランサーのヘルスチェックログを有効にすると、Elastic Load Balancing はログをキャプチャし、指定した Amazon S3 バケットに圧縮ファイルとして保存します。ヘルスチェックログはいつでも無効にできます。

Amazon S3 のストレージコストは発生しますが、Amazon S3 にログファイルを送信するために Elastic Load Balancing が使用する帯域については料金は発生しません。ストレージコストの詳細については、[Amazon S3 の料金](https://aws.amazon.com/s3/pricing/)を参照してください。

**Topics**
+ [ヘルスチェックログファイル](#health-check-log-file-format)
+ [ヘルスチェックログエントリ](#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)

## ヘルスチェックログファイル
<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 または Zulu 時間の 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)」を参照してください。

## ヘルスチェックログエントリ
<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>

次の表は、ヘルスチェックログエントリのフィールドを順番にまとめたものです。すべてのフィールドはスペースで区切られています。新しいフィールドを追加すると、ログエントリの末尾に追加されます。新しいフィールドをリリースする準備をすると、フィールドがリリースされる前に、末尾に追加の「-」が表示されることがあります。最後に文書化されたフィールドの後に停止するようにログ解析を設定し、新しいフィールドをリリースした後にログ解析を更新してください。


| フィールド (位置) | 説明 | 
| --- | --- | 
| タイプ (1) | ヘルスチェックリクエストまたは接続のタイプ。有効な値は次のとおりです (その他の値は無視してください)。[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/load-balancer-health-check-logs.html) | 
| 時間 (2) | ターゲットでヘルスチェックが開始された時刻の ISO 8601 形式のタイムスタンプ。 | 
| レイテンシー (3) | 現在のヘルスチェックを完了するまでの合計経過時間 （秒単位）。 | 
| target\_addr (4) | IP:Port 形式のターゲットの IP アドレスとポート。ターゲットが Lambda 関数である場合の Lambda の ARN。 | 
| target\_group\_id (5) | ターゲットが関連付けられているターゲットグループの名前。 | 
| ステータス (6) | ヘルスチェックのステータス。この値は、 `PASS` ヘルスチェックが成功した場合です。ヘルスチェックが失敗した場合、値は です。 `FAIL` | 
| status\_code (7) | ヘルスチェックリクエストのターゲットから受信したレスポンスコード。 | 
| reason\_code (8) | ヘルスチェックが失敗した場合の失敗の理由。「[エラー理由コード](#health-check-error-reason-codes)」を参照してください。 | 

### エラー理由コード
<a name="health-check-error-reason-codes"></a>

ターゲットヘルスチェックが失敗した場合、ロードバランサーはヘルスチェックログに次のいずれかの理由コードを記録します。


| コード | 説明 | 
| --- | --- | 
| `TimedOut` | ターゲットへの接続試行がタイムアウトしたか、設定されたヘルスチェックタイムアウト期間内にターゲットが応答しなかったため、ヘルスチェックに失敗しました。これは、ターゲットのセキュリティグループがヘルスチェックポートのインバウンドトラフィックをブロックした場合、ターゲットの応答が遅い場合、または TLS ハンドシェイクが時間内に完了しなかった場合に発生する可能性があります。 | 
| `ConnectionReset` | ターゲットがリセットされたか、有効なレスポンスが返される前に接続が正常に閉じられたため、ヘルスチェックに失敗しました | 
| `ResponseCodeMismatch` | ヘルスチェックリクエストに対するターゲットのレスポンスの HTTP ステータスコードが、設定されたステータスコードと一致しませんでした | 
| `ResponseStringMismatch` | ターゲットによって返されたレスポンス本文に、ターゲットグループのヘルスチェック設定で設定された文字列が含まれていませんでした | 
| `InternalError` | 内部ロードバランサーエラー | 
| `TargetError` | ターゲットは、ヘルスチェックリクエストに応答して 5xx エラーコードを返します | 
| `GRPCStatusHeaderEmpty` | GRPC ターゲットレスポンスに値のない grpc-status ヘッダーがある | 
| `GRPCUnexpectedStatus` | GRPC ターゲットが予期しない grpc-status で応答する | 

**注記**  
新しい`TimedOut`エラー理由コードは、 `RequestTimedOut`および `ConnectionTimedOut`理由コードを置き換えます。

## ログエントリの例
<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>

Elastic Load Balancing が S3 バケットにログを配信するときに通知を受け取るには、Amazon S3 イベント通知を使用します。Elastic Load Balancing は、[PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)、[CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)、および [POST Object](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 のデータ量のログファイルが生成されることがあります。このような大容量のデータは、行単位で処理できない場合があります。このため、場合によっては、並列処理ソリューションを提供する分析ツールを使用する必要があります。たとえば、次の分析ツールを使用してヘルスチェックログを分析および処理できます。
+ 「Amazon Athena」は、Amazon S3 内のデータを標準 SQL を使用して簡単に分析できるインタラクティブなクエリサービスです。
+ [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/)