流量日誌記錄 - Amazon Virtual Private Cloud

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

流量日誌記錄

流程日誌記錄代表 VPC 中的網路流程。根據預設,每筆記錄會擷取發生在彙總時間間隔 (也稱為擷取時段) 內的網際網路通訊協定 (IP) 流量 (特徵為每個網路介面一個 5 元組)。

每筆記錄都是包含欄位的字串,其中欄位會由空格分隔。記錄包含 IP 流程不同元件的值,例如來源、目標和通訊協定。

建立流量日誌時,您可以使用流量日誌記錄的預設格式,或指定自訂格式。

彙總時間間隔

彙總時間間隔是指擷取特定流程並彙總至流量日誌記錄的一段期間。根據預設,最大彙總時間間隔為 10 分鐘。建立流量日誌時,您可以選擇指定最大彙總時間間隔為 1 分鐘。最大彙總時間間隔 1 分鐘的流量日誌所產生的流量日誌記錄量會高於最大彙總時間間隔 10 分鐘的流量日誌。

當網路介面連線至 Nitro 型執行個體時,無論指定的最大彙總時間間隔為何,彙總時間間隔一律為 1 分鐘或更短。

在彙總間隔內擷取資料後,需要額外的時間來處理和發佈資料至 CloudWatch Logs 或 Amazon S3。流程日誌服務通常會在約 5 分鐘內將日誌傳送至 CloudWatch Logs,並在約 10 分鐘內傳送至 Amazon S3。不過,日誌傳遞是最大努力的基礎,而您的日誌可能會延遲超過一般傳遞時間。

預設格式

使用預設格式時,流量日誌記錄會依照可用欄位表格中顯示的順序,包括版本 2 欄位。您無法自訂或變更預設格式。若要擷取其他欄位或不同的欄位子集,請改為指定自訂格式。

自訂格式

使用自訂格式時,您可以指定流量日誌記錄中包含哪些欄位以及順序。這樣可讓您建立專門針對需求的流量日誌,省略不相關的欄位。使用自訂格式可以減少個別處理程序從已發佈的流量日誌擷取特定資訊的需求。您可指定任何數量的可用流量日誌欄位,但至少必須指定一個。

可用的欄位

下表描述 流量日誌記錄的所有可用欄位。版本欄指出欄位導入的 VPC Flow Logs 版本。預設格式包括所有版本 2 欄位,其顯示順序與表格中的順序相同。

將流量日誌資料發佈到 Amazon S3 時,欄位的資料類型取決於流量日誌格式。如果格式為純文字,則所有欄位都是 類型 STRING。 如果格式為 Parquet,請參閱 欄位資料類型的資料表。

如果欄位不適用或無法計算特定記錄,則記錄會針對該項目顯示一個 '-' 符號。非直接來自封包標頭的中繼資料欄位是最佳近似值,而且它們的值可能會遺失或不正確。

欄位 描述 版本

version

VPC Flow Logs 版本。如果您使用預設格式,則版本為 2。如果您使用自訂格式,則版本為指定欄位中的最高版本。例如,如果您只指定版本 2 中的欄位,則版本為 2。如果您指定的欄位混合了版本 2、3 和 4 的欄位,則版本為 4。

Parquet 資料類型:INT_32

2

account-id

記錄流量之來源網路介面擁有者 AWS 的帳戶 ID。如果 AWS 服務建立網路介面,例如在建立 VPC 端點或 Network Load Balancer 時,記錄可能會顯示 unknown 在此欄位顯示 。

Parquet 資料類型:STRING

2

interface-id

要記錄流量的網路介面 ID。

Parquet 資料類型:STRING

2

srcaddr

傳入流量的來源地址,或網路介面上傳出流量的網路介面的 IPv4 或 IPv6 地址。網路介面的 IPv4 地址一律是其私有 IPv4 地址。另請參閱 pkt-srcaddr.

Parquet 資料類型:STRING

2

dstaddr

傳出流量的目的地地址,或網路介面上傳入流量的網路介面的 IPv4 或 IPv6 地址。網路介面的 IPv4 地址一律是其私有 IPv4 地址。另請參閱 pkt-dstaddr.

Parquet 資料類型:STRING

2

srcport

流量的來源連接埠。

Parquet 資料類型:INT_32

2

dstport

流量的目標連接埠。

Parquet 資料類型:INT_32

2

protocol

流量的 IANA 通訊協定編號。如需詳細資訊,請參閱指派的網際網路通訊協定號碼

Parquet 資料類型:INT_32

2

packets

在流量期間傳輸的封包數。

Parquet 資料類型:INT_64

2

bytes

在流量期間傳輸的位元組數。

Parquet 資料類型:INT_64

2

start

彙總時間間隔內接收到第一個流量封包的時間 (以 Unix 秒為單位)。這個時間最長可能是在網路介面上傳送或接收封包之後 60 秒。

Parquet 資料類型:INT_64

2

end

彙總時間間隔內接收到最後一個流量封包的時間 (以 Unix 秒為單位)。這個時間最長可能是在網路介面上傳送或接收封包之後 60 秒。

Parquet 資料類型:INT_64

2

action

與流量相關聯的動作:

  • ACCEPT — 已接受流量。

  • REJECT — 流量遭拒。例如,安全群組或網路 ACLs 不允許流量,或在連線關閉後到達的封包。

Parquet 資料類型:STRING

2

log-status

流量日誌的記錄狀態:

  • OK — 資料正常記錄至選擇的目的地。

  • NODATA — 在彙總時間間隔內沒有任何流入或流出網路界面的網路流量。

  • SKIPDATA — 在彙總時間間隔內曾跳過一部分流量日誌紀錄。這可能是因為內部容量的條件約束,或是內部錯誤。

    在彙總間隔期間,可能會略過某些流程日誌記錄 (請參閱 中的日誌狀態可用的欄位)。這可能是由於內部 AWS 容量限制或內部錯誤所造成。如果您使用 AWS Cost Explorer 來檢視 VPC 流量日誌費用,且在流量日誌彙總間隔期間略過某些流量日誌,在 中報告的流量日誌數目 AWS Cost Explorer 將高於 Amazon VPC 發佈的流量日誌數目。

Parquet 資料類型:STRING

2

vpc-id

包含記錄流量之網路介面的 VPC ID。

Parquet 資料類型:STRING

3

subnet-id

包含要記錄流量之網路介面的子網 ID。

Parquet 資料類型:STRING

3

instance-id

如果您擁有執行個體,則為與要記錄流量之網路介面相關聯的執行個體 ID。傳回請求者受管網路介面的 '-' 符號;例如 NAT 閘道的網路介面。

Parquet 資料類型:STRING

3

tcp-flags

下列 TCP 旗標的位元遮罩值:

  • FIN — 1

  • SYN — 2

  • RST — 4

  • SYN-ACK — 18

如果未記錄任何支援的旗標,則 TCP 旗標值為 0。例如,由於 tcp-flags 不支援記錄 ACK 或 PSH 旗標,具有這些不支援旗標的流量記錄將導致 tcp-flags 值 0。但是,如果不支援的旗標附帶支援的旗標,我們將報告支援旗標的值。例如,如果 ACK 是 SYN-ACK 的一部分,則會報告 18。而且,如果有類似 SYN+ECE 的記錄,因為 SYN 是支援的旗標,而 ECE 不是,則 TCP 旗標值為 2。如果因為某些原因,旗標組合無效且無法計算值,則值為 '-'。如果未傳送旗標,則 TCP 旗標值為 0。

在彙總間隔期間,可以 OR-ed TCP旗標。對於短連線,旗標可能會設定在流程日誌記錄的同一行,例如 19 表示 SYN-ACK 和 FIN,3 表示 SYN 和 FIN。如需範例,請參閱TCP旗標序列

如需 TCP 旗標的一般資訊 (例如 FIN、SYN 和 ACK 等旗標的意義),請參閱 Wikipedia 上的 TCP 區段結構

Parquet 資料類型:INT_32

3

type

流量類型。可能值如下:IPv4 | IPv6 | EFA。 如需詳細資訊,請參閱 Elastic Fabric Adapter

Parquet 資料類型:STRING

3

pkt-srcaddr

流量的封包層級 (原始) 來源 IP 地址。使用此欄位搭配 srcaddr 欄位來分辨流量流經之中間層的 IP 地址,以及流量的原始來源 IP 地址。例如,當流量流經 NAT 閘道的網路介面,或 Amazon EKS 中 Pod 的 IP 地址與執行 Pod 之執行個體節點的網路介面的 IP 地址不同 (用於 VPC 內的通訊)。

Parquet 資料類型:STRING

3

pkt-dstaddr

流量的封包層級 (原始) 目標 IP 地址。使用此欄位搭配 dstaddr 欄位來分辨流量流經之中間層的 IP 地址,以及流量的最終目標 IP 地址。例如,當流量流經 NAT 閘道的網路介面,或 Amazon EKS 中 Pod 的 IP 地址與執行 Pod 之執行個體節點的網路介面的 IP 地址不同 (用於 VPC 內的通訊)。

Parquet 資料類型:STRING

3

region

包含記錄流量之網路介面的區域。

Parquet 資料類型:STRING

4

az-id

可用區域的 ID,其中包含記錄流量的網路介面。如果流量來自子位置,記錄會顯示此欄位的 '-' 符號。

Parquet 資料類型:STRING

4

sublocation-type

在 sublocation-id 欄位中傳回的子位置類型。可能的值為:波長 | outpost | 本機區域。如果流量不是來自子位置,則記錄會在此欄位顯示 '-' 符號。

Parquet 資料類型:STRING

4

sublocation-id

包含要記錄流量之網路介面的子位置 ID。如果流量不是來自子位置,則記錄會在此欄位顯示 '-' 符號。

Parquet 資料類型:STRING

4

pkt-src-aws-service

欄位的 IP 地址範圍的子集名稱,pkt-srcaddr 欄位,如果來源 IP 地址是 AWS 服務。如果 pkt-srcaddr 屬於重疊範圍, pkt-src-aws-service 只會顯示其中一個 AWS 服務代碼。可能值如下:AMAZON | AMAZON_APPFLOW | AMAZON_CONNECT | API_GATEWAY | CHIME_MEETINGS | CHIME_VOICECONNECTOR | CLOUD9 | CLOUDFRONT | CODEBUILD | DYNAMODB | EBS | EC2 | EC2_INSTANCE_CONNECT | GLOBALACCELERATOR | KINESIS_VIDEO_STREAMS | ROUTE53 | ROUTE53_HEALTHCHECKS | ROUTE53_HEALTHCHECKS_PUBLISHING | ROUTE53_RESOLVER | S3 | WORKSPACES_GATEWAYS.

Parquet 資料類型:STRING

5

pkt-dst-aws-service

欄位的 IP 地址範圍的子集名稱,pkt-dstaddr 欄位,如果目的地 IP 地址是 AWS 服務。如需可能值的清單,請參閱 pkt-src-aws-service 欄位中傳回的子位置類型。

Parquet 資料類型:STRING

5

flow-direction

關於擷取流量的介面的流程方向。可能值如下:ingress | egress.

Parquet 資料類型:STRING

5

traffic-path

出口流量前往目的地的路徑。若要判斷流量是否為出口流量,請查看 flow-direction 欄位中傳回的子位置類型。可能的值如下。如果沒有任何值套用,則欄位會設定為 -。

  • 1 — 透過相同 VPC 中的其他資源,包括在 VPC 中建立網路介面的資源

  • 2 — 透過網際網路閘道或閘道 VPC 端點

  • 3 – 透過虛擬私有閘道

  • 4 — 透過區域內 VPC 對等互連

  • 5 — 透過跨區域 VPC 對等互連

  • 6 – 透過本機閘道

  • 7 — 透過閘道 VPC 端點 (僅限 Nitro 型執行個體)

  • 8 – 透過網際網路閘道 (僅限 Nitro 執行個體)

Parquet 資料類型:INT_32

5

ecs-cluster-arn

AWS 如果流量來自執行中的 ARN 任務,則 ECS 叢集的資源名稱 (ECS)。若要在訂閱中包含此欄位,您需要呼叫 ecs:ListClusters 的許可。

Parquet 資料類型:STRING

7

ecs-cluster-name

如果流量來自執行中的 ECS 任務,則 ECS 叢集的名稱。若要在訂閱中包含此欄位,您需要呼叫 ecs:ListClusters 的許可。

Parquet 資料類型:STRING

7

ecs-container-instance-arn

如果流量來自 ECS ARN 執行個體上執行的 ECS 任務,則為 Word 容器執行個體的 EC2。如果容量提供者為 AWS Fargate,則此欄位將為 '-'。若要在訂閱中包含此欄位,您需要呼叫 ecs:ListClusters 和 ecs:ListContainerInstances 的許可。

Parquet 資料類型:STRING

7

ecs-container-instance-id

如果流量來自 ECS 執行個體上執行的 ECS 任務,則為 EC2 容器執行個體的 ID。如果容量提供者為 AWS Fargate,則此欄位將為 '-'。若要在訂閱中包含此欄位,您需要呼叫 ecs:ListClusters 和 ecs:ListContainerInstances 的許可。

Parquet 資料類型:STRING

7

ecs-container-id

如果流量來自執行中的 ECS 任務,則為容器的 Docker 執行期 ID。如果 ECS 任務中有一或多個容器,這將是第一個容器的 Docker 執行期 ID。若要在訂閱中包含此欄位,您需要呼叫 ecs:ListClusters 的許可。

Parquet 資料類型:STRING

7

ecs-second-container-id

如果流量來自執行中的 ECS 任務,則為容器的 Docker 執行期 ID。如果 ECS 任務中有多個容器,這將是第二個容器的 Docker 執行期 ID。若要在訂閱中包含此欄位,您需要呼叫 ecs:ListClusters 的許可。

Parquet 資料類型:STRING

7

ecs-service-name

ECS 如果流量來自執行中的 ECS 任務,且 ECS 任務是由 Word 服務啟動,則 ECS 服務的名稱。如果 ECS 任務不是由 ECS 服務啟動,則此欄位將為 '-'。若要在訂閱中包含此欄位,您需要呼叫 ecs:ListClusters 和 ecs:ListServices 的許可。

Parquet 資料類型:STRING

7

ecs-task-definition-arn

如果流量來自執行ARN中的 ECS 任務,則為 Word 任務定義的 ECS。若要在訂閱中包含此欄位,您需要呼叫 ecs:ListClusters 和 ecs:ListTaskDefinitions 的許可

Parquet 資料類型:STRING

7

ecs-task-arn

如果流量來自執行中的 ECS 任務,則為 Word 任務ARN的 ECS。若要在訂閱中包含此欄位,您需要呼叫 ecs:ListClusters 和 ecs:ListTasks 的許可。

Parquet 資料類型:STRING

7

ecs-task-id

如果流量來自執行中的 ECS 任務,則為 ECS 任務的 ID。若要在訂閱中包含此欄位,您需要呼叫 ecs:ListClusters 和 ecs:ListTasks 的許可。

Parquet 資料類型:STRING

7

拒絕原因

拒絕流量的原因。可能的值:BPA。因任何其他拒絕原因傳回 '-'。如需 VPC Block Public Access (BPA) 的詳細資訊,請參閱 封鎖對 VPCs 和子網路的公開存取

Parquet 資料類型:STRING

8