翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Application Load Balancer のアクセスログ
Elastic Load Balancing は、ロードバランサーに送信されるリクエストについての詳細情報をキャプチャしたアクセスログを提供します。各ログには、リクエストを受け取った時刻、クライアントの IP アドレス、レイテンシー、リクエストのパス、サーバーレスポンスなどの情報が含まれます。これらのアクセスログを使用して、トラフィックパターンを分析し、問題のトラブルシューティングを行えます。
アクセスログは、Elastic Load Balancing のオプション機能であり、デフォルトでは無効化されています。ロードバランサーのアクセスログを有効にすると、Elastic Load Balancing はログをキャプチャし、圧縮ファイルとして指定した Amazon S3 バケット内に保存します。アクセスログはいつでも無効にできます。
Amazon S3 のストレージコストは発生しますが、Amazon S3 にログファイルを送信するために Elastic Load Balancing が使用する帯域については料金は発生しません。ストレージコストの詳細については、Amazon S3 の料金
アクセスログファイル
Elastic Load Balancing は各ロードバランサーノードのログファイルを 5 分ごとに発行します。ログ配信には結果整合性があります。ロードバランサーでは、同じ期間について複数のログが発行されることがあります。これは通常、サイトに高トラフィックがある場合に発生します。
アクセスログのファイル名には次の形式を使用します。
bucket
[/prefix
]/AWSLogs/aws-account-id
/elasticloadbalancing/region
/yyyy
/mm
/dd
/aws-account-id
_elasticloadbalancing_region
_app.load-balancer-id
_end-time
_ip-address
_random-string
.log.gz
- bucket (バケット)
-
S3 バケットの名前。
- prefix
-
(オプション)バケットのプレフィックス (論理階層)。指定するプレフィックスに文字列
AWSLogs
を含めることはできません。詳細については、「プレフィックスを使用してオブジェクトを整理する」を参照してください。 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://my-bucket/my-prefix/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz
プレフィックスが付いていないログファイル名の例は次のようになります。
s3://my-bucket/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz
必要な場合はログファイルを自身のバケットに保管できますが、ログファイルを自動的にアーカイブまたは削除するにように Amazon S3 ライフサイクルルールを定義することもできます。詳細については、Amazon Simple Storage Service ユーザーガイドの「オブジェクトのライフサイクルの管理」を参照してください。
アクセスログのエントリ
Elastic Load Balancing は、ターゲットに到達しなかったリクエストを含め、ロードバランサーに送信されたリクエストを記録します。たとえば、クライアントが誤った形式のリクエストを送信した場合や、リクエストに応答できる正常に動作しているターゲットがない場合も、そのリクエストは記録されます。Elastic Load Balancing はヘルスチェックリクエストをログに記録しません。
各ログエントリには、ロードバランサーに対して行われた単一のリクエスト (または の場合は接続 WebSockets) の詳細が含まれます。の場合 WebSockets、エントリは接続が閉じられた後にのみ書き込まれます。アップグレードされた接続を確立できない場合、エントリは HTTPまたは HTTPSリクエストの場合と同じです。
重要
Elastic Load Balancing はベストエフォートベースでリクエストを記録します アクセスログは、すべてのリクエストを完全に報告するためのものではなく、リクエストの本質を把握するものとして使用することをお勧めします。
構文
次の表は、アクセスログのエントリのフィールドを順に示しています。すべてのフィールドはスペースで区切られています。新しいフィールドが導入されると、ログエントリの最後に追加されます。予期していなかったログエントリの最後のフィールドは無視する必要があります。
フィールド | 説明 |
---|---|
type |
リクエストまたは接続のタイプ。有効な値は次のとおりです (その他の値は無視してください)。
|
time |
ロードバランサーがクライアントに 8601 ISO 形式のレスポンスを生成した時刻。の場合 WebSockets、これは接続が閉じられた時刻です。 |
elb |
ロードバランサーのリソース ID。アクセスログエントリを解析する場合は、リソースにスラッシュ (/) を含めるIDsことができることに注意してください。 |
client:port |
リクエストを送信したクライアントの IP アドレスとポート。ロードバランサーの前にプロキシがある場合、このフィールドにはプロキシの IP アドレスが含まれています。 |
target:port |
このリクエストを処理したターゲットの IP アドレスとポート。 クライアントがリクエスト全体を送信しなかった場合、ロードバランサーはターゲットにリクエストをディスパッチできず、この値が - に設定されます。 ターゲットが Lambda 関数の場合、この値は - に設定されます。 リクエストが によってブロックされている場合 AWS WAF、この値は - に設定され、elb_status_code の値は 403 に設定されます。 |
request_processing_time |
ロードバランサーがリクエストを受け取った時点からターゲットにリクエストを送信するまでの合計経過時間 (ミリ秒精度の秒単位)。 ロードバランサーがリクエストをターゲットにディスパッチできない場合、この値は -1 に設定されます。この状況が発生するのは、ターゲットがアイドルタイムアウト前に接続を閉じた場合か、クライアントが誤った形式のリクエストを送信した場合です。 この値は、10 秒TCPの接続タイムアウトに達する前にターゲットとTCPの接続を確立できない場合にも -1 に設定できます。 Application Load Balancer で AWS WAF が有効になっているか、ターゲットタイプが Lambda 関数の場合、クライアントがPOSTリクエストに必要なデータを送信するのにかかる時間は にカウントされます |
target_processing_time |
ロードバランサーがターゲットにリクエストを送信した時点から、そのターゲットが応答ヘッダーの送信を開始した時点までの合計経過時間 (ミリ秒精度の秒単位)。 ロードバランサーがリクエストをターゲットにディスパッチできない場合、この値は -1 に設定されます。この状況が発生するのは、ターゲットがアイドルタイムアウト前に接続を閉じた場合か、クライアントが誤った形式のリクエストを送信した場合です。 登録済みターゲットからアイドルタイムアウトまで応答がない場合にも、この値は -1 に設定される場合があります。 AWS WAF が Application Load Balancer に対して有効になっていない場合、クライアントがPOSTリクエストに必要なデータを送信するのにかかる時間は にカウントされます |
response_processing_time |
ロードバランサーがターゲットから応答ヘッダーを受け取った時点から、クライアントへの応答の送信を開始した時点までの合計経過時間 (ミリ秒精度の秒単位)。これには、ロードバランサーでの待機時間と、ロードバランサーからクライアントへの接続の取得時間の両方が含まれます。 ロードバランサーがターゲットから応答を受け取らない場合、この値は -1 に設定されます。この状況が発生するのは、ターゲットがアイドルタイムアウト前に接続を閉じた場合か、クライアントが誤った形式のリクエストを送信した場合です。 |
elb_status_code |
ロードバランサー、固定レスポンスルール、またはブロックアクションの AWS WAF カスタムレスポンスコードによって生成されたレスポンスのステータスコード。 |
target_status_code |
ターゲットから応答のステータスコード。この値は、ターゲットへの接続が確立され、ターゲットが応答を送信した場合のみ記録されます。それ以外の場合は、- に設定されます。 |
received_bytes |
クライアント (リクエスタ) から受け取ったリクエストのサイズ (バイト単位)。HTTP リクエストの場合、これには ヘッダーが含まれます。の場合 WebSockets、これは接続でクライアントから受信した合計バイト数です。 |
sent_bytes |
クライアント (リクエスタ) に返される応答のサイズ (バイト単位)。HTTP リクエストの場合、これには ヘッダーが含まれます。の場合 WebSockets、これは接続でクライアントに送信された合計バイト数です。 |
"request" |
クライアントからのリクエスト行。二重引用符で囲まれ、次の形式を使用してログに記録されます: HTTP method + protocol://host:port/uri + HTTP version。ロードバランサーは、リクエスト を記録するときに、クライアントからURL送信された をそのまま保持しますURI。アクセスログファイルのコンテンツタイプは設定されません。このフィールドを処理するときは、クライアントが をどのように送信したかを検討してくださいURL。 |
"user_agent" |
リクエスト元のクライアントを特定する User-Agent 文字列 (二重引用符で囲まれます)。この文字列は、1 つ以上の製品 ID (製品[/バージョン]) から構成されます。文字列が 8 KB より長い場合は切り捨てられます。 |
ssl_cipher |
〔HTTPS リスナー] SSL 暗号。リスナーがリスナーでない場合、この値は - に設定されますHTTPS。 |
ssl_protocol |
〔HTTPS リスナー] SSLプロトコル。リスナーがリスナーでない場合、この値は - に設定されますHTTPS。 |
target_group_arn |
ターゲットグループの Amazon リソースネーム (ARN)。 |
"trace_id" |
X-Amzn-Trace-Id ヘッダーのコンテンツ (二重引用符で囲まれます)。 |
"domain_name" |
〔HTTPSリスナー] TLSハンドシェイク中にクライアントによって提供され、二重引用符で囲まれたSNIドメイン。この値は に設定されます。クライアントが をサポートしていない場合、SNIまたはドメインが証明書と一致しない場合、デフォルトの証明書がクライアントに提示されます。 |
"chosen_cert_arn" |
〔HTTPSリスナー] クライアントに提示された証明書ARNの で、二重引用符で囲まれています。セッションが再利用される場合、この値は |
matched_rule_priority |
リクエストに一致したルールの優先度の値。ルールが一致した場合、この値は 1~50,000 になります。一致するルールがなく、デフォルトのアクションが実行された場合、この値は 0 に設定されます。ルールの評価中にエラーが発生した場合は、-1 に設定されます。その他のエラーの場合は、- に設定されます。 |
request_creation_time |
ロードバランサーがクライアントからリクエストを 8601 ISO 形式で受信した時刻。 |
"actions_executed" |
リクエストの処理時に実行されるアクション (二重引用符で囲まれます)。この値は、実行されるアクション で説明されている値を含めることができるカンマ区切りリストです。形式が正しくないリクエストなどでアクションが実行されない場合、この値は - に設定されます。 |
"redirect_url" |
二重引用符で囲まれたHTTPレスポンスの場所ヘッダーのURLリダイレクトターゲットの 。リダイレクトアクションが実行されなかった場合、この値は - に設定されます。 |
"error_reason" |
エラー理由コード (二重引用符で囲まれます)。リクエストが失敗した場合、これは エラー理由コード で説明されているいずれかのエラーコードになります。実行されたアクションが認証アクションを含まない、またはターゲットが Lambda 関数ではない場合、この値は - に設定されます。 |
"target:port_list" |
このリクエストを処理したターゲットの IP アドレスとポートのスペース区切りのリスト (二重引用符で囲まれます)。現在、このリストには 1 つの項目を含めることができ、target:port フィールドと一致します。 クライアントがリクエスト全体を送信しなかった場合、ロードバランサーはターゲットにリクエストをディスパッチできず、この値が - に設定されます。 ターゲットが Lambda 関数の場合、この値は - に設定されます。 リクエストが によってブロックされている場合 AWS WAF、この値は - に設定され、elb_status_code の値は 403 に設定されます。 |
"target_status_code_list" |
ターゲットの応答からのステータスコードのスペース区切りのリスト (二重引用符で囲まれます)。現在、このリストには 1 つの項目を含めることができ、target_status_code フィールドと一致します。 この値は、ターゲットへの接続が確立され、ターゲットが応答を送信した場合のみ記録されます。それ以外の場合は、- に設定されます。 |
"classification" |
desync 緩和の分類 (二重引用符で囲まれます)。リクエストが 7230 RFC に準拠していない場合、指定できる値は Acceptable、Ambiguous、Severe です。 リクエストが 7230 RFC に準拠している場合、この値は - に設定されます。 |
"classification_reason" |
分類理由コード (二重引用符で囲まれます)。リクエストが 7230 RFC に準拠していない場合、これは で説明されている分類コードの 1 つです分類の理由。リクエストが 7230 RFC に準拠している場合、この値は - に設定されます。 |
conn_trace_id |
接続のトレーサビリティ ID は、各接続を識別するために使用される一意の不透明な ID です。クライアントとの接続が確立されると、このクライアントからの後続のリクエストには、それぞれのアクセスログエントリにこの ID が含まれます。この ID は、接続ログとアクセスログ間のリンクを作成するための外部キーとして機能します。 |
実行されるアクション
ロードバランサーは、実行されたアクションをアクセスログの actions_executed フィールドに格納します。
-
authenticate
— ロードバランサーは、ルール設定で指定されているように、セッションを検証し、ユーザーを認証し、ユーザー情報をリクエストヘッダーに追加しました。 -
fixed-response
— ロードバランサーは、ルール設定で指定された固定レスポンスを発行しました。 -
forward
— ロードバランサーは、ルール設定で指定されているように、リクエストをターゲットに転送しました。 -
redirect
— ロードバランサーはURL、ルール設定で指定された別の にリクエストをリダイレクトしました。 -
waf
— ロードバランサーは、リクエストをターゲットに転送する必要があるかどうかを判別するために、リクエストを AWS WAF に転送しました。これが最後のアクションである場合、 はリクエストを拒否する必要がある AWS WAF と判断しました。デフォルトでは、 によって拒否されたリクエスト AWS WAF はelb_status_code
フィールドに「403」として記録されます。 AWS WAF がカスタムレスポンスコードでリクエストを拒否するように設定されている場合、elb_status_code
フィールドには設定されたレスポンスコードが反映されます。 -
waf-failed
— ロードバランサーはリクエストを に転送しようとしましたが AWS WAF、このプロセスは失敗しました。
分類の理由
リクエストが 7230 RFC に準拠していない場合、ロードバランサーはアクセスログの classification_reason フィールドに次のいずれかのコードを保存します。詳細については、「Desync 軽減モード」を参照してください。
コード | 説明 | 分類 |
---|---|---|
|
リクエストURIにはコントロール文字が含まれています。 |
Ambiguous |
|
Content-Length ヘッダーに解析できない値または無効な数値が含まれています。 |
Severe |
|
ヘッダーに NULL 文字またはキャリッジリターンが含まれています。 |
Severe |
|
Transfer-Encoding ヘッダーに不正な値が含まれています。 |
Severe |
|
リクエストに null 文字またはキャリッジリターンURIが含まれています。 |
Severe |
|
リクエストメソッドの形式が正しくありません。 |
Severe |
|
リクエストバージョンの形式が正しくありません。 |
Severe |
|
リクエストに Transfer-Encoding ヘッダーと Content-Length ヘッダーの両方が含まれています。 |
Ambiguous |
|
同じ値を持つ複数の Content-Length ヘッダーがあります。 |
Ambiguous |
|
ヘッダーが空であるか、スペースのみを含む行があります。 |
Ambiguous |
|
GET または HEADリクエストの値が 0 の Content-Length ヘッダーがあります。 |
Acceptable |
|
異なる値を持つ複数の Content-Length ヘッダーがあります。 |
Severe |
|
複数の Transfer-Encoding: chunked ヘッダーがあります。 |
Severe |
|
ヘッダーには、 または ASCII以外のコントロール文字が含まれます。 |
Acceptable |
|
リクエストバージョンに不正な値が含まれています。 |
Acceptable |
|
リクエストには、URLエンコードされていないスペースURIが含まれています。 |
Acceptable |
|
一般的なテキスト正規化技術を使用して、Transfer-Encoding または Content-Length に正規化できるヘッダーがあります。 |
Ambiguous |
|
GET または HEADリクエストに Content-Length ヘッダーが定義されています。 |
Ambiguous |
|
Transfer-Encoding ヘッダーは、 GETまたは HEADリクエストに対して定義されています。 |
Ambiguous |
エラー理由コード
ロードバランサーが認証アクションを完了できない場合、ロードバランサーはアクセスログの error_reason フィールドに次のいずれかの理由コードを保存します。ロードバランサーは、対応する CloudWatch メトリクスもインクリメントします。詳細については、「Application Load Balancer を使用してユーザーを認証する」を参照してください。
コード | 説明 | メトリクス |
---|---|---|
|
認証 Cookie が無効です。 |
|
|
トークンエンドポイントからの認証付与コードが無効です。 |
|
|
ID トークンが無効です。 |
|
|
状態パラメータが無効です。 |
|
|
トークンエンドポイントからのレスポンスが無効です。 |
|
|
ユーザー情報エンドポイントからのレスポンスが無効です。 |
|
|
認証エンドポイントからの認証レスポンスに、「code」という名前のクエリパラメータがありません。 |
|
|
認証エンドポイントからの認証レスポンスに、ホストヘッダーフィールドがありません。 |
|
|
認証エンドポイントからの認証レスポンスに、「state」という名前のクエリパラメータがありません。 |
|
|
トークンエンドポイントからエラーレスポンス (2XX 以外) があります。 |
|
|
ロードバランサーは、トークンエンドポイントと通信できません。 |
|
|
ロードバランサーで処理されない例外が発生しました。 |
|
|
IdP ユーザー情報エンドポイントからエラーレスポンス (2XX 以外) があります。 |
|
|
ロードバランサーは、IdP ユーザー情報エンドポイントと通信できません。 |
|
|
IdP から返されたクレームのサイズが 11K バイトを超えました。 |
|
加重ターゲットグループへのリクエストが失敗した場合、ロードバランサーはアクセスログの error_reason フィールドに次のいずれかのエラーコードを保存します。
コード | 説明 |
---|---|
|
加重ターゲットグループで使用される AWSALBTG Cookie は無効です。例えば、Cookie 値がURLエンコードされると、ロードバランサーはこのエラーを返します。 |
|
ロードバランサーで処理されない例外が発生しました。 |
Lambda 関数へのリクエストが失敗した場合、ロードバランサーはアクセスログの error_reason フィールドに次のいずれかの理由コードを保存します。ロードバランサーは、対応する CloudWatch メトリクスもインクリメントします。詳細については、Lambda 呼び出しアクションを参照してください。
コード | 説明 | メトリクス |
---|---|---|
|
ロードバランサーに、Lambda 関数を呼び出すアクセス権限がありませんでした。 |
|
|
クライアントリクエストヘッダーまたは本文に UTF-8 文字のみが含まれていなかったため、Lambda 呼び出しに失敗しました。 |
|
|
ロードバランサーが Lambda に接続できません。 |
|
|
Lambda への接続がタイムアウトしました。 |
|
|
Amazon は、関数の初期化中に Lambda へのアクセスEC2を拒否しました。 |
|
|
Amazon は関数の初期化中に Lambda EC2をスロットリングしました。 |
|
|
Amazon で関数の初期化中に予期しない例外EC2が発生しました。 |
|
|
ネットワークインターフェイスの制限を超えたため、Lambda は Lambda 関数の設定でVPC指定された にネットワークインターフェイスを作成できませんでした。 |
|
|
Lambda 関数からのレスポンスの形式が間違っているか、必須フィールドが含まれていません。 |
|
|
指定されたバージョンの Lambda ランタイムはサポートされていません。 |
|
|
Lambda 関数の設定で指定されたセキュリティグループ ID が無効です。 |
|
|
Lambda 関数の設定で指定されたサブネット ID が無効です。 |
|
|
Lambda は指定された関数の zip ファイルを解凍できませんでした。 |
|
|
KMS キーへのアクセスが拒否されたため、Lambda は環境変数を復号できませんでした。Lambda 関数のKMSアクセス許可を確認します。 |
|
|
指定されたKMSキーが無効になっているため、Lambda は環境変数を復号できませんでした。Lambda 関数のKMSキー設定を確認します。 |
|
|
KMS キーの状態が無効であるため、Lambda は環境変数を復号できませんでした。Lambda 関数のKMSキー設定を確認します。 |
|
|
KMS キーが見つからなかったため、Lambda は環境変数を復号できませんでした。Lambda 関数のKMSキー設定を確認します。 |
|
|
リクエストボディのサイズは 1 MB を超えています。 |
|
|
Lambda 関数は見つかりませんでした。 |
|
|
レスポンスのサイズは 1 MB を超えています。 |
|
|
Lambda 内部エラーが発生しました。 |
|
|
1 つ以上のサブネットに使用可能な IP アドレスがないため、Lambda は Lambda 関数VPCへのアクセスを設定できませんでした。 |
|
|
リクエストが多すぎるため、Lambda 関数が調整されました。 |
|
|
Lambda 関数で処理されない例外が発生しました。 |
|
|
ロードバランサーで処理されない例外が発生しました。 |
|
|
WebSockets は Lambda ではサポートされていません。 |
|
ロードバランサーは、 へのリクエストの転送時にエラーが発生した場合 AWS WAF、次のいずれかのエラーコードをアクセスログの error_reason フィールドに保存します。
コード | 説明 |
---|---|
|
ロードバランサーは に接続できません AWS WAF。 |
|
への接続がタイムアウト AWS WAF しました。 |
|
へのリクエストがタイムアウト AWS WAF しました。 |
|
AWS WAF は 5XX エラーを返しました。 |
|
ロードバランサーで処理されない例外が発生しました。 |
ログエントリの例
以下にログエントリの例を示します。読みやすくするためだけの目的で、テキストは複数の行に表示されています。
HTTP エントリの例
以下は、HTTPリスナー (ポート 80 からポート 80) のログエントリの例です。
http 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188
192.168.131.39:2817 10.0.0.1:80 0.000 0.001 0.000 200 200 34 366
"GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - -
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337262-36d228ad5d99923122bbe354" "-" "-"
0 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.0.1:80" "200" "-" "-"
HTTPS エントリの例
HTTPS リスナー (ポート 443 からポート 80) のログエントリの例を次に示します。
https 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188
192.168.131.39:2817 10.0.0.1:80 0.086 0.048 0.037 200 200 0 57
"GET https://www.example.com:443/ HTTP/1.1" "curl/7.46.0" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337281-1d84f3d73c47ec4e58577259" "www.example.com" "arn:aws:acm:us-east-2:123456789012:certificate/12345678-1234-1234-1234-123456789012"
1 2018-07-02T22:22:48.364000Z "authenticate,forward" "-" "-" "10.0.0.1:80" "200" "-" "-" TID_123456
例 HTTP/2 エントリ
以下は、HTTP/2 ストリームのログエントリの例です。
h2 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188
10.0.1.252:48160 10.0.0.66:9000 0.000 0.002 0.000 200 200 5 257
"GET https://10.0.2.105:773/ HTTP/2.0" "curl/7.46.0" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337327-72bd00b0343d75b906739c42" "-" "-"
1 2018-07-02T22:22:48.364000Z "redirect" "https://example.com:80/" "-" "10.0.0.66:9000" "200" "-" "-"
WebSockets エントリの例
WebSockets 接続のログエントリの例を次に示します。
ws 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188
10.0.0.140:40914 10.0.1.192:8010 0.001 0.003 0.000 101 101 218 587
"GET http://10.0.0.30:80/ HTTP/1.1" "-" - -
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-"
1 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.1.192:8010" "101" "-" "-"
セキュア WebSockets エントリの例
以下は、セキュリティで保護された WebSockets接続のログエントリの例です。
wss 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188
10.0.0.140:44244 10.0.0.171:8010 0.000 0.001 0.000 101 101 218 786
"GET https://10.0.0.30:443/ HTTP/1.1" "-" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2
arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-"
1 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.0.171:8010" "101" "-" "-"
Lambda の関数のエントリの例。
成功した Lambda 関数へのリクエストのログエントリ例を次に示します。
http 2018-11-30T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188
192.168.131.39:2817 - 0.000 0.001 0.000 200 200 34 366
"GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - -
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-"
0 2018-11-30T22:22:48.364000Z "forward" "-" "-" "-" "-" "-" "-"
失敗した Lambda 関数へのリクエストのログエントリ例を次に示します。
http 2018-11-30T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188
192.168.131.39:2817 - 0.000 0.001 0.000 502 - 34 366
"GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - -
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-"
0 2018-11-30T22:22:48.364000Z "forward" "-" "LambdaInvalidResponse" "-" "-" "-" "-"
アクセスログファイルの処理
アクセスログファイルは圧縮されます。ファイルをダウンロードする場合、情報を表示するには解凍する必要があります。
ウェブサイトの需要が大きい場合は、ロードバランサーによって数 GB のデータ量のログファイルが生成されることがあります。処理を使用して、このような大量のデータを line-by-line 処理できない場合があります。このため、場合によっては、並列処理ソリューションを提供する分析ツールを使用する必要があります。例えば、次の分析ツールを使用するとアクセスログの分析と処理を行うことができます。
-
Amazon Athena は、標準 を使用して Amazon S3 内のデータを簡単に分析できるインタラクティブなクエリサービスですSQL。詳細については、Amazon Athena ユーザーガイドの Querying Application Load Balancer logs を参照してください。