流量日誌記錄 - Amazon Virtual Private Cloud

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

流量日誌記錄

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

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

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

彙總時間間隔

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

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

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

預設格式

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

自訂格式

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

可用的欄位

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

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

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

欄位 描述 版本

version

VPC 流程日誌版本。如果您使用預設格式,則版本為 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。

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

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

Parquet 資料類型:INT_32

3

type

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

Parquet 資料類型: STRING

3

pkt-srcaddr

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

Parquet 資料類型: STRING

3

pkt-dstaddr

流量的封包層級 (原始) 目標 IP 地址。使用此欄位搭配 dstaddr 欄位來分辨流量流經之中間層的 IP 地址,以及流量的最終目標 IP 地址。例如,當流量流經NAT閘道 的網路介面,或 Amazon 中 Pod 的 IP 地址與執行 Pod 之執行個體節點的網路介面的 IP 地址EKS不同時 (用於 內的通訊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則服務只會顯示其中一個 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 如果流量來自執行中的ECS任務,則為ECS叢集的資源名稱 (ARN)。若要在訂閱中包含此欄位,您需要呼叫 ecs 的許可:ListClusters。

Parquet 資料類型: STRING

7

ecs-cluster-name

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

Parquet 資料類型: STRING

7

ecs-container-instance-arn

ARN 如果流量來自執行個體上執行中的ECS任務,則為ECS容器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任務是由 ECS 服務啟動,則服務的名稱。如果ECS任務不是由 ECS服務啟動,則此欄位將為 '-'。若要在訂閱中包含此欄位,您需要呼叫 ecs: ListClusters 和 ecs: 的許可ListServices。

Parquet 資料類型: STRING

7

ecs-task-definition-arn

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

Parquet 資料類型: STRING

7

ecs-task-arn

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

Parquet 資料類型: STRING

7

ecs-task-id

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

Parquet 資料類型: STRING

7