Network Load Balancer 的存取日誌 - Elastic Load Balancing

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Network Load Balancer 的存取日誌

Elastic Load Balancing 提供存取日誌,可擷取使用 Network Load Balancer 建立之 TLS 連線的詳細資訊。您可以使用這些存取日誌來分析流量模式和排除問題。

重要

雖然傳統的「舊版」存取日誌 (本節中所述) 仍然可用,但 Network Load Balancer 現在透過 CloudWatch Logs 提供增強型記錄選項。CloudWatch Logs 提供更靈活的交付選項,包括 Amazon CloudWatch Logs、Amazon Data Firehose 和 Amazon Simple Storage Service。若要設定這些改進的記錄選項,請造訪負載平衡器的整合索引標籤。如需 CloudWatch Logs 的詳細資訊,請參閱 Network Load Balancer 的 CloudWatch 日誌

重要

只有在負載平衡器具有 TLS 接聽程式,且日誌僅包含 TLS 請求的相關資訊時,才會建立存取日誌。盡最大努力存取日誌記錄請求。建議您使用存取日誌來了解請求的性質,而不是為了全面解釋所有請求。

存取記錄是 Elastic Load Balancing 的選用功能,預設為停用。在啟動負載平衡器的存取日誌之後,Elastic Load Balancing 會擷取日誌為壓縮檔案並存放在您指定的 Amazon S3 儲存貯體。您可以隨時停用存取記錄。

您可利用 Amazon S3 受管的加密金鑰 (SSE-S3) 來啟用伺服器端加密,或針對 S3 儲存貯體搭配客戶受管金鑰 (SSE-KMS CMK) 採用金鑰管理服務。每個存取日誌檔在存放於 S3 儲存貯體之前會自動加密,並於您存取它時解密。存取加密或未加密日誌檔的方式沒有不同,所以您不需要採取任何動作。每個日誌檔案都會使用唯一的金鑰加密,該金鑰本身會使用定期輪換的 KMS 金鑰加密。如需詳細資訊,請參閱《Amazon S3 使用者指南》中的指定 Amazon S3 加密 (SSE-S3)使用 AWS KMS (SSE-KMS) 指定伺服器端加密Amazon S3

存取日誌無需額外收費。您將需支付 Amazon S3 的儲存成本,但 Elastic Load Balancing 傳送日誌檔到 Amazon S3 所使用的頻寬不需付費。如需儲存成本的詳細資訊,請參閱 Amazon S3 定價

存取日誌檔

Elastic Load Balancing 每 5 分鐘發佈每個負載平衡器節點的日誌檔。日誌傳遞最終會達到一致。負載平衡器可能在相同期間傳遞多個日誌。這通常是在網站的流量很高時才會發生。

存取日誌的檔案名稱使用以下格式:

bucket[/prefix]/AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/aws-account-id_elasticloadbalancing_region_net.load-balancer-id_end-time_random-string.log.gz
bucket

S3 儲存貯體的名稱。

prefix

儲存貯體中的字首 (邏輯階層)。如果不指定字首,日誌會放在儲存貯體的根層級。

aws-account-id

擁有者的 AWS 帳戶 ID。

region

負載平衡器和 S3 儲存貯體的區域。

yyyy/mm/dd

傳遞日誌的日期。

load-balancer-id

負載平衡器的資源 ID。如果資源 ID 包含任何斜線 (/),斜線會換成句點 (.)。

end-time

記錄間隔結束的日期和時間。例如,結束時間 20181220T2340Z 包含在 23:35 和 23:40 之間所提出之請求的項目。

random-string

系統產生的隨機字串。

以下是日誌檔名稱範例:

s3://my-bucket/prefix/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2020/05/01/123456789012_elasticloadbalancing_us-east-2_net.my-loadbalancer.1234567890abcdef_20200501T0000Z_20sg8hgm.log.gz

日誌檔案可存放於儲存貯體任意長時間,但您也可以定義 Amazon S3 生命週期規則,自動封存或刪除日誌檔案。如需詳細資訊,請參閱《Amazon S3 使用者指南》的管儲存生命週期

存取日誌項目

下表依序說明存取日誌項目的欄位。所有欄位以空格分隔。引進的新欄位會新增到日誌項目尾端。處理日誌檔案時,您應該忽略日誌項目尾端任何非預期的欄位。

欄位 說明

type

接聽程式的類型。支援的值為 tls

version

日誌項目的版本。目前版本是 2.0。

time

在 TLS 連線結束時記錄的時間,採用 ISO 8601 格式。

elb

負載平衡器的資源 ID。

接聽程式

適用於連線的 TLS 接聽程式資源 ID。

client_port

用戶端的 IP 地址和連接埠。

destination_port

目的地的 IP 地址和連接埠。如果用戶端直接連線至負載平衡器,則目的地就是接聽程式。如果用戶端使用 VPC 端點服務連線,則目的地就是 VPC 端點。

connection_time

連線從開始到結束的完成時間,以毫秒計。

tls_handshake_time

​TCP 連線建立後,TLS 交握完成的總時間,包括用戶端的延遲,以毫秒計。此時間包含在 connection_time 欄位中。如果沒有 TLS 交握或 TLS 交握失敗,此值會設為 -

received_bytes

負載平衡器從用戶端接收的解密後位元數。

sent_bytes

負載平衡器向用戶端傳送的加密前位元數。

incoming_tls_alert

負載平衡器從用戶端接收的 TLS 提醒整數值 (若有)。否則,此值會設為 -

chosen_cert_arn

向用戶端所提供憑證的 ARN。如果未傳送有效的用戶端 hello 訊息,此值會設為 -

chosen_cert_serial

保留以供日後使用。此值一律設定為 -

tls_cipher

與用戶端交涉的密碼套件,採用 OpenSSL 格式。如果 TLS 交涉未完成,此值會設為 -

tls_protocol_version

與用戶端交涉的 TLS 通訊協定,採用字串格式。可能值為 tlsv10tlsv11tlsv12tlsv13。如果 TLS 交涉未完成,此值會設為 -

tls_keyexchange

TLS 或 PQ-TLS 交握期間使用的金鑰交換。如果 TLS 或 PQ-TLS 交涉未完成,此值會設為 -

domain_name

server_name 副檔名的值位於用戶端 hello 訊息中。此值為 URL 編碼格式。如果沒有傳送有效的用戶端 hello 訊息或延伸模組不存在,則此值會設為 -

alpn_fe_protocol

與用戶端交涉的應用程式通訊協定,採用字串格式。可能的值為 h2http/1.1http/1.0。如果在 TLS 接聽程式中未設定 ALPN 政策、找不到相符的通訊協定,或未傳送有效的通訊協定清單,則此值會設為 -

alpn_be_protocol

與目標交涉的應用程式通訊協定,採用字串格式。可能的值為 h2http/1.1http/1.0。如果在 TLS 接聽程式中未設定 ALPN 政策、找不到相符的通訊協定,或未傳送有效的通訊協定清單,則此值會設為 -

alpn_client_preference_list

用戶端您好訊息中的 application_layer_protocol_negotiation 延伸的值。此值為 URL 編碼格式。每個通訊協定用雙引號括起來,並以逗號分隔。如果 TLS 接聽程式中未設定 ALPN 政策、未傳送任何有效的用戶端 hello 訊息,或擴充功能不存在,則此值會設為 -。如果字串長度超過 256 個位元組,則會被截斷。

tls_connection_creation_time

在 TLS 連線開始時記錄的時間,採用 ISO 8601 格式。

範例日誌項目

以下為日誌項目範例。請注意,分成多行顯示文字只是為了更輕鬆閱讀。

以下是不含 ALPN 政策的 TLS 接聽程式範例。

tls 2.0 2018-12-20T02:59:40 net/my-network-loadbalancer/c6e77e28c25b2234 g3d4b5e8bb8464cd 72.21.218.154:51341 172.100.100.185:443 5 2 98 246 - arn:aws:acm:us-east-2:671290407336:certificate/2a108f19-aded-46b0-8493-c63eb1ef4a99 - ECDHE-RSA-AES128-SHA tlsv12 - my-network-loadbalancer-c6e77e28c25b2234.elb.us-east-2.amazonaws.com - - - 2018-12-20T02:59:30

以下是具有 ALPN 政策的 TLS 接聽程式範例。

tls 2.0 2020-04-01T08:51:42 net/my-network-loadbalancer/c6e77e28c25b2234 g3d4b5e8bb8464cd 72.21.218.154:51341 172.100.100.185:443 5 2 98 246 - arn:aws:acm:us-east-2:671290407336:certificate/2a108f19-aded-46b0-8493-c63eb1ef4a99 - ECDHE-RSA-AES128-SHA tlsv12 - my-network-loadbalancer-c6e77e28c25b2234.elb.us-east-2.amazonaws.com h2 h2 "h2","http/1.1" 2020-04-01T08:51:20

處理存取日誌檔

存取日誌檔已壓縮。如您利用 Amazon S3 主控台開啟檔案,則會解壓縮檔案並顯示資訊。如果您下載檔案,則必須先將其解壓縮才能看到資訊。

如果您的網站上有許多需求,負載平衡器產生的日誌檔可能有好幾 GB 的資料。您可能無法逐行處理這麼龐大的資料。因此,您可能需要使用提供平行處理解決方案的分析工具。例如,您可以使用以下分析工具來分析和處理存取日誌: