

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

# 流量日誌記錄
<a name="flow-log-records"></a>

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

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

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

**Topics**
+ [彙總時間間隔](#flow-logs-aggregration-interval)
+ [預設格式](#flow-logs-default)
+ [自訂格式](#flow-logs-custom)
+ [可用的欄位](#flow-logs-fields)

## 彙總時間間隔
<a name="flow-logs-aggregration-interval"></a>

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

當網路介面連線至 [Nitro 型執行個體](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)時，無論指定的最大彙總時間間隔為何，彙總時間間隔一律為 1 分鐘或更短。

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

## 預設格式
<a name="flow-logs-default"></a>

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

## 自訂格式
<a name="flow-logs-custom"></a>

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

## 可用的欄位
<a name="flow-logs-fields"></a>

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

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

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


| 欄位 | 描述 | 版本 | 
| --- | --- | --- | 
| version | VPC 流量日誌版本。如果您使用預設格式，則版本為 2。如果您使用自訂格式，則版本為指定欄位中的最高版本。例如，如果您只指定版本 2 中的欄位，則版本為 2。如果您指定的欄位混合了版本 2、3 和 4 的欄位，則版本為 4。<br />**Parquet 資料類型：**INT\_32 | 2 | 
| account-id | 記錄流量之來源網路介面擁有者 AWS 的帳戶 ID。如果網路介面是由 AWS 服務建立，例如在建立 VPC 端點或 Network Load Balancer 時，可能會unknown顯示此欄位的記錄。<br />**Parquet 資料類型：**STRING | 2 | 
| interface-id | 要記錄流量的網路介面 ID。對於與區域 NAT 閘道相關聯的流程，傳回 '-' 符號。<br />**Parquet 資料類型：**STRING | 2 | 
| srcaddr |  對於傳入流量，此欄位顯示流量的來源 IP 位址。對於傳出流量，此欄位顯示傳送流量之網路介面的私有 IPv4 位址或 IPv6 位址。對於來自區域 NAT 閘道的傳出流量，這是與 中相同的封包層級來源 IP 地址pkt-srcaddr。另請參閱pkt-srcaddr。<br />**Parquet 資料類型：**STRING | 2 | 
| dstaddr | 網路介面上傳出流量的目標地址，或傳入流量網路介面的 IPv4 或 IPv6 地址。網路介面的 IPv4 地址永遠都是其私有 IPv4 地址。對於傳入區域 NAT 閘道的流量，這是與 中相同的封包層級目的地 IP 地址pkt-dstaddr。另請參閱pkt-dstaddr。<br />**Parquet 資料類型：**STRING | 2 | 
| srcport | 流量的來源連接埠。<br />**Parquet 資料類型：**INT\_32 | 2 | 
| dstport | 流量的目標連接埠。<br />**Parquet 資料類型：**INT\_32 | 2 | 
| protocol | 流量的 IANA 通訊協定號碼。如需詳細資訊，請參閱[指派的網際網路通訊協定號碼](http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)。<br />**Parquet 資料類型：**INT\_32 | 2 | 
| packets | 在流量期間傳輸的封包數。<br />**Parquet 資料類型：**INT\_64 | 2 | 
| bytes | 在流量期間傳輸的位元組數。<br />**Parquet 資料類型：**INT\_64 | 2 | 
| start | 彙總時間間隔內接收到第一個流量封包的時間 (以 Unix 秒為單位)。這可能是在網路界面上接收封包前最多 60 秒，或封包傳輸後最多 60 秒。<br />**Parquet 資料類型：**INT\_64 | 2 | 
| end | 彙總時間間隔內接收到最後一個流量封包的時間 (以 Unix 秒為單位)。這個時間最長可能是在網路介面上傳送或接收封包之後 60 秒。<br />**Parquet 資料類型：**INT\_64 | 2 | 
| action | 與流量相關聯的動作：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/vpc/latest/userguide/flow-log-records.html)<br />**Parquet 資料類型：**STRING | 2 | 
| log-status | 流量日誌的記錄狀態：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/vpc/latest/userguide/flow-log-records.html)<br />**Parquet 資料類型：**STRING | 2 | 
| vpc-id | 包含要記錄流量之網路介面的 VPC ID。<br />**Parquet 資料類型：**STRING | 3 | 
| subnet-id | 包含要記錄流量之網路介面的子網 ID。傳回與區域 NAT 閘道相關聯之流程的 '-' 符號。<br />**Parquet 資料類型：**STRING | 3 | 
| instance-id | 如果您擁有執行個體，則為與要記錄流量之網路介面相關聯的執行個體 ID。傳回[請求者管理網路介面](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/requester-managed-eni.html)的 '-' 符號，例如 NAT 閘道的網路介面。<br />**Parquet 資料類型：**STRING | 3 | 
| tcp-flags | 下列 TCP 標記的位元遮罩值：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/vpc/latest/userguide/flow-log-records.html)如果沒有記錄支援的旗標，TCP 旗標值則為 0。例如，由於 tcp-flags 不支援記錄 ACK 或 PSH 旗標，具有這些不支援旗標的流量紀錄會導致 tcp-flags 值 0。但是，如果不支援的旗標附帶支援的旗標，我們將報告支援旗標的值。例如，如果 ACK 是 SYN-ACK 的一部分，則會報告 18。如果有 SYN\+ECE 等紀錄，由於 SYN 是支援的旗標，而 ECE 不是，TCP 旗標值是 2。如果由於某種原因旗標組合無效且無法計算值，則值為 '-'。如果沒有傳送旗標，則 TCP 旗標值為 0。<br />彙總時間間隔內的 TCP 標記可用 OR 運算彙總。針對短暫連線，標記可能和流量日誌記錄設在同一行，例如，SYN-ACK 和 FIN 為 19，而 SYN 和 FIN 為 3。如需範例，請參閱[TCP 標記序列](flow-logs-records-examples.md#flow-log-example-tcp-flag)。<br />如需有關 TCP 標記的一般資訊 (如 FIN、SYN 和 ACK 等標記的含義)，請參閱 Wikipedia 上的 [TCP segment structure](https://en.wikipedia.org/wiki/Transmission_Control_Protocol#TCP_segment_structure) (TCP 區段結構)。<br />**Parquet 資料類型：**INT\_32 | 3 | 
| type | 流量類型。可能的值為：IPv4 \| IPv6 \| EFA。如需詳細資訊，請參閱 [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)。<br />**Parquet 資料類型：**STRING | 3 | 
| pkt-srcaddr | 流量的封包層級 (原始) 來源 IP 地址。使用此欄位搭配 srcaddr 欄位來分辨流量流經之中繼 layer 的 IP 地址，以及流量的原始來源 IP 地址。例如，當流量流經 [NAT 閘道的網路介面](flow-logs-records-examples.md#flow-log-example-nat)時，或 Amazon EKS 的 Pod IP 地址和 Pod 執行 (用於 VPC 內部通訊) 所在執行個體節點的網路介面 IP 地址不同時。<br />**Parquet 資料類型：**STRING | 3 | 
| pkt-dstaddr | 流量的封包層級 (原始) 目標 IP 地址。使用此欄位搭配 dstaddr 欄位來分辨流量流經之中繼 layer 的 IP 地址，以及流量的最終目標 IP 地址。例如，當流量流經 [NAT 閘道的網路介面](flow-logs-records-examples.md#flow-log-example-nat)時，或 Amazon EKS 的 Pod IP 地址和 Pod 執行 (用於 VPC 內部通訊) 所在執行個體節點的網路介面 IP 地址不同時。<br />**Parquet 資料類型：**STRING | 3 | 
| region | 包含記錄流量之網路介面的區域。<br />**Parquet 資料類型：**STRING | 4 | 
| az-id | 可用區域的 ID，其中包含記錄流量的網路介面。如果流量來自子位置，記錄會顯示此欄位的 '-' 符號。<br />**Parquet 資料類型：**STRING | 4 | 
| sublocation-type | 在 sublocation-id 欄位中傳回的子位置類型。可能的值為：[波長](https://aws.amazon.com/wavelength/) \| [outpost](https://docs.aws.amazon.com/outposts/latest/userguide/) \| [本機區域](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-local-zones)。如果流量不是來自子位置，則記錄會在此欄位顯示 '-' 符號。<br />**Parquet 資料類型：**STRING | 4 | 
| sublocation-id | 包含要記錄流量之網路介面的子位置 ID。如果流量不是來自子位置，則記錄會在此欄位顯示 '-' 符號。<br />**Parquet 資料類型：**STRING | 4 | 
| pkt-src-aws-service | 如果來源 IP 地址適用於 AWS 服務，pkt-srcaddr 欄位的 [IP 地址範圍](aws-ip-ranges.md)的子集名稱。如果來源 IP 地址屬於[重疊的範圍](aws-ip-syntax.md#aws-ip-range-overlaps)，則 只會pkt-src-aws-service顯示其中一個 AWS 服務代碼。可能的值為：`AMAZON` \| `AMAZON_APPFLOW` \| `AMAZON_CONNECT` \| `API_GATEWAY` \| `AURORA_DSQL` \| `CHIME_MEETINGS` \| `CHIME_VOICECONNECTOR` \| `CLOUD9` \| `CLOUDFRONT` \| `CLOUDFRONT_ORIGIN_FACING` \| `CODEBUILD` \| `DYNAMODB` \| `EBS` \| `EC2` \| `EC2_INSTANCE_CONNECT` \| `GLOBALACCELERATOR` \| `IVS_LOW_LATENCY` \| `IVS_REALTIME` \| `KINESIS_VIDEO_STREAMS` \| `MEDIA_PACKAGE_V2` \| `ROUTE53` \| `ROUTE53_HEALTHCHECKS` \| `ROUTE53_HEALTHCHECKS_PUBLISHING` \| `ROUTE53_RESOLVER` \| `S3` \| `WORKSPACES_GATEWAYS`。<br />**Parquet 資料類型：**STRING | 5 | 
| pkt-dst-aws-service | 如果目的地 IP 地址是 AWS 服務，則pkt-dstaddr欄位的 IP 地址範圍子集名稱。如需可能值的清單，請參閱 pkt-src-aws-service 欄位。<br />**Parquet 資料類型：**STRING | 5 | 
| flow-direction | 關於擷取流量的介面的流程方向。可能的值為：ingress \| egress。<br />**Parquet 資料類型：**STRING | 5 | 
| traffic-path | 出口流量前往目的地的路徑。若要判斷流量是否為出口流量，請查看 flow-direction 欄位。可能的值如下。如果沒有任何值套用，則欄位會設定為 -。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/vpc/latest/userguide/flow-log-records.html)<br />**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 | 如果流量來自 EC2 執行個體上正在執行的 ECS 任務，則此欄位表示 ECS 容器執行個體的 ARN。如果容量提供者為 AWS Fargate，則此欄位將為 '-'。若要在訂閱中包含此欄位，您需要呼叫 ecs:ListClusters 和 ecs:ListContainerInstances 的許可。Parquet 資料類型：STRING | 7 | 
| ecs-container-instance-id | 如果流量來自 EC2 執行個體上正在執行的 ECS 任務，則此欄位表示 ECS 容器執行個體的 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 | 如果流量來自正在執行的 ECS 任務，則此欄位表示 ECS 任務定義的 ARN。若要在訂閱中包含此欄位，您需要呼叫 ecs:ListClusters 和 ecs:ListTaskDefinitions 的許可。Parquet 資料類型：STRING | 7 | 
| ecs-task-arn | 如果流量來自正在執行的 ECS 任務，則此欄位表示 ECS 任務的 ARN。若要在訂閱中包含此欄位，您需要擁有呼叫 ecs:ListClusters 和 ecs:ListTasks 的許可。Parquet 資料類型：STRING | 7 | 
| ecs-task-id | 如果流量來自正在執行的 ECS 任務，則此欄位表示 ECS 任務的 ID。若要在訂閱中包含此欄位，您需要呼叫 ecs:ListClusters 和 ecs:ListTasks 的許可。Parquet 資料類型：STRING | 7 | 
| reject-reason | 流量遭拒的原因。可能的值：BPA、EC。對於其他任何拒絕原因，傳回 '-'。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/vpc/latest/userguide/flow-log-records.html)<br />**Parquet 資料類型：**STRING | 8 | 
| resource-id | 區域 NAT 閘道的 ID，其中包含記錄流量的網路界面。對於與區域 NAT 閘道無關的流量，傳回 '-' 符號。如需區域 NAT 閘道的詳細資訊，請參閱 [用於自動多可用區域擴展的區域 NAT 閘道](nat-gateways-regional.md)。<br />**Parquet 資料類型：**STRING | 9 | 
| encryption-status | 流程的加密狀態。如需 VPC 加密控制的詳細資訊，請參閱 [強制執行傳輸中的 VPC 加密](vpc-encryption-controls.md)。可能值如下：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/vpc/latest/userguide/flow-log-records.html)<br />如果未啟用 VPC 加密控制，或 FlowLog 無法取得狀態，則值為 '-'。 \* 對於介面和閘道端點， AWS 不會查看封包資料來判斷加密狀態，而是依賴用來取得加密狀態的連接埠。 <br />\*\* 對於指定的 AWS 受管端點，根據服務組態中的 TLS 需求 AWS 來確定加密狀態。 <br />**Parquet 資料類型：**INT\_32 | 10 | 