

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

# AWS 傳輸閘道流程日誌
<a name="tgw-flow-logs"></a>

傳輸閘道流量日誌是 AWS 傳輸閘道的一項功能，可讓您擷取進出傳輸閘道之 IP 流量的相關資訊。流程日誌資料可以發佈到 Amazon CloudWatch Logs、Amazon S3 或 Firehose。建立流量日誌之後，您可以在選擇的目標中擷取及檢視其資料。流量日誌資料是在網路流量路徑之外收集，因此不會影響網路輸送量或延遲。您可以建立或刪除流量日誌，而不會影響網路效能。傳輸閘道流量日誌擷取僅與傳輸閘道相關的資訊，如 [傳輸閘道流量日誌記錄](#flow-log-records) 中所述。如果您想要擷取您 VPC 中傳入和傳出網路介面之 IP 流量資訊，請使用 VPC 流量日誌。如需詳細資訊，請參閱 *Amazon VPC 使用者指南*中的[使用 VPC 流量日誌記錄 IP 流量](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)。

**注意**  
若要建立傳輸閘道流程日誌，您必須是傳輸閘道的擁有者。如果您不是擁有者，傳輸閘道擁有者必須授予您許可。

所監控傳輸閘道的流量日誌將記錄為*流量日誌記錄*，即由描述流量的欄位組成的日誌事件。如需詳細資訊，請參閱[傳輸閘道流量日誌記錄](#flow-log-records)。

若要建立流量日誌，您要指定：
+ 要建立流量日誌的資源
+ 流量日誌資料的發佈目標

在您建立流量日誌之後，其可能需要數分鐘的時間，才會開始收集資料並將資料發佈至選擇的目標。流量日誌不會擷取您傳輸閘道的即時日誌串流。

您可以將標籤套用至流量日誌。每個標籤皆包含由您定義的一個索引鍵與一個選用值。標籤可協助您整理流量日誌，例如依據用途或擁有者整理日誌。

如果您不再需要流量日誌，即可將其刪除。刪除流量日誌會停用資源的流量日誌服務，並且將不會再建立新的流量日誌記錄或將其發佈至 CloudWatch Logs 或 Amazon S3。刪除流量日誌不會刪除傳輸閘道的任何現有流量日誌記錄或日誌串流 (適用於 CloudWatch Logs) 或日誌檔案物件 (適用於 Amazon S3)。若要刪除現有的日誌串流，請使用 CloudWatch Logs 主控台。若要刪除現有的檔案物件，請使用 Amazon S3 主控台。在您刪除流量日誌之後，它可能需要數分鐘的時間，才會停止收集資料。如需詳細資訊，請參閱[刪除 AWS 傳輸閘道流量日誌記錄](delete-flow-log.md)。

您可以為傳輸閘道建立流程日誌，將資料發佈至 CloudWatch Logs、Amazon S3 或 Amazon Data Firehose。如需詳細資訊，請參閱下列內容：
+  [建立發佈至 CloudWatch Logs 的流程日誌 ](flow-logs-cwl-create-flow-log.md)
+ [建立發佈至 Amazon S3 的流程日誌](flowlog-s3-create.md)
+ [建立發佈至 Firehose 的流程日誌](flow-logs-kinesis-create.md)

## 限制
<a name="flow-logs-limits"></a>

下列限制適用於傳輸閘道流量日誌：
+  不支援多點傳送流量。
+ 不支援連線附件。所有 Connect 流程日誌都會出現在傳輸附件下，因此必須在傳輸閘道或 Connect 傳輸附件上啟用。
+ Transit Gateway Flow Logs 支援每個帳戶每個資源最多 250 個訂閱。若要在已達到此限制的資源上建立其他訂閱，您必須先刪除現有的訂閱。

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

流量日誌記錄代表您傳輸閘道中的網路流。每筆記錄都是包含欄位的字串，其中欄位會由空格分隔。記錄包含流量不同元件的值，例如來源、目標和通訊協定。

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

**Topics**
+ [預設格式](#flow-logs-default)
+ [自訂格式](#flow-logs-custom)
+ [可用的欄位](#flow-logs-fields)

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

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

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

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

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

下表描述傳輸閘道流量日誌記錄的所有可用欄位。**Version** (版本) 欄表示導入此欄位的版本。

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

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


| 欄位 | 描述 | 版本 | 
| --- | --- | --- | 
| version | 表示導入此欄位的版本。預設格式包括所有版本 2 欄位，其顯示順序與表格中的順序相同。<br />**Parquet 資料類型：**INT\_32 | 2 | 
| resource-type | 建立訂閱的資源類型。對於傳輸閘道流量日誌，這會是 TransitGateway。Parquet 資料類型：STRING | 6 | 
| account-id | 來源傳輸閘道擁有者的 AWS 帳戶 ID。<br />**Parquet 資料類型：**STRING | 2 | 
| tgw-id | 正在記錄流量的傳輸閘道的 ID。**Parquet 資料類型：**STRING | 6 | 
| tgw-attachment-id | 正在記錄流量的傳輸閘道連接的 ID。**Parquet 資料類型：**STRING | 6 | 
| tgw-src-vpc-account-id | 來源 VPC 流量的 AWS 帳戶 ID。<br />**Parquet 資料類型：**STRING  | 6 | 
| tgw-dst-vpc-account-id | 目的地 VPC 流量的 AWS 帳戶 ID。<br />**Parquet 資料類型：**STRING  | 6 | 
| tgw-src-vpc-id |  傳輸閘道的來源 VPC ID **Parquet 資料類型：**STRING  | 6 | 
| tgw-dst-vpc-id | 傳輸閘道的目標 VPC ID。<br />**Parquet 資料類型：**STRING  | 6 | 
| tgw-src-subnet-id | 傳輸閘道來源流量的子網路 ID。<br />**Parquet 資料類型：**STRING  | 6 | 
| tgw-dst-subnet-id | 傳輸閘道目標流量的子網路 ID。<br />**Parquet 資料類型：**STRING  | 6 | 
| tgw-src-eni | 面向流程的來源傳輸閘道連接 ENI 的 ID。<br />**Parquet 資料類型：**STRING  | 6 | 
| tgw-dst-eni | 面向流程的目的地傳輸閘道連接 ENI 的 ID。**Parquet 資料類型：**STRING  | 6 | 
| tgw-src-az-id | 可用區域的 ID，其中包含記錄流量的來源傳輸閘道。如果流量來自子位置，記錄會顯示此欄位的 '-' 符號。<br />**Parquet 資料類型：**STRING | 6 | 
| tgw-dst-az-id | 可用區域的 ID，其中包含記錄流量的目標傳輸閘道。<br />**Parquet 資料類型：**STRING | 6 | 
| tgw-pair-attachment-id |  根據流動方向，這是流程的傳出和傳入連接 ID。<br />**Parquet 資料類型：**STRING | 6 | 
| srcaddr | 傳入流量的來源位址。<br />**Parquet 資料類型：**STRING | 2 | 
| 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 秒。<br />**Parquet 資料類型：**INT\_64 | 2 | 
| end | 彙總時間間隔內接收到最後一個流量封包的時間 (以 Unix 秒為單位)。這個時間最長可能是在傳輸閘道上傳送或接收封包之後 60 秒。<br />**Parquet 資料類型：**INT\_64 | 2 | 
| log-status | 流量日誌的狀態：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/vpc/latest/tgw/tgw-flow-logs.html)<br />**Parquet 資料類型：**STRING | 2 | 
| type | 流量類型。可能的值為：IPv4 \| IPv6 \| EFA。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的 [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)。<br />**Parquet 資料類型：**STRING | 3 | 
| packets-lost-no-route | 封包因未指定路由而遺失。<br />**Parquet 資料類型：**INT\_64  | 6 | 
| packets-lost-blackhole | 封包因黑洞而遺失。<br />**Parquet 資料類型：**INT\_64  | 6 | 
| packets-lost-mtu-exceeded | 封包因大小超過 MTU 而遺失。<br />**Parquet 資料類型：**INT\_64  | 6 | 
| packets-lost-ttl-expired | 封包因存留時間過期而遺失。<br />**Parquet 資料類型：**INT\_64  | 6 | 
| tcp-flags | 下列 TCP 標記的位元遮罩值：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/vpc/latest/tgw/tgw-flow-logs.html) 若流量日誌項目僅包含 ACK 封包，則標記值為 0，而不是 16。 <br />如需有關 TCP 標記的一般資訊 (如 FIN、SYN 和 ACK 等標記的含義)，請參閱 Wikipedia 上的 [TCP segment structure](https://en.wikipedia.org/wiki/Transmission_Control_Protocol#TCP_segment_structure) (TCP 區段結構)。<br />彙總時間間隔內的 TCP 標記可用 OR 運算彙總。針對短暫連線，標記可能和流量日誌記錄設在同一行，例如，SYN-ACK 和 FIN 為 19，而 SYN 和 FIN 為 3。<br />**Parquet 資料類型：**INT\_32 | 3 | 
| region | 包含記錄流量的傳輸閘道的區域。<br />**Parquet 資料類型：**STRING | 4 | 
| flow-direction | 相對於傳輸閘道的流程方向。可能的值為：ingress \| egress。<br />**Parquet 資料類型：**STRING | 5 | 
| pkt-src-aws-service | srcaddr 如果來源 [IP 地址是 服務，則 的 IP 地址範圍](https://docs.aws.amazon.com/vpc/latest/userguide/aws-ip-ranges.html)子集名稱。 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。<br />**Parquet 資料類型：**STRING | 5 | 
| pkt-dst-aws-service | 如果目的地 IP 地址是用於 AWS 服務，則dstaddr欄位的 IP 地址範圍子集名稱。如需可能值的清單，請參閱 pkt-src-aws-service 欄位。Parquet 資料類型：STRING | 5 | 

## 控制流量日誌的使用方式
<a name="controlling-use-of-flow-logs"></a>

根據預設， 使用者沒有使用流程日誌的許可。您可以建立使用者政策，將建立、描述和刪除流程日誌的許可授予使用者。如需詳細資訊，請參閱 *Amazon EC2 API 參考*中的[授予 IAM 使用者需要的 Amazon EC2 資源許可](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ec2-api-permissions.html)。

以下是授予使用者建立、描述、刪除流量日誌等完整許可的範例政策。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DeleteFlowLogs",
        "ec2:CreateFlowLogs",
        "ec2:DescribeFlowLogs"
      ],
      "Resource": "*"
    }
  ]
}
```

------

視要發佈至 CloudWatch Logs 或 Amazon S3 而定，您將需要一些額外的 IAM 角色與許可組態。如需詳細資訊，請參閱[AWS Amazon CloudWatch Logs 中的傳輸閘道流程日誌記錄](flow-logs-cwl.md)及[AWS Amazon S3 中的傳輸閘道流程日誌記錄](flow-logs-s3.md)。

## 傳輸閘道流量日誌定價
<a name="flow-logs-tgw-pricing"></a>

若發佈傳輸閘道流量日誌，會套用付費日誌的資料擷取和儲存費用。如需有關發佈付費記錄時的定價詳細資訊，請開啟 [Amazon CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing/)，在**付費方案**下，選取**日誌**並尋找**付費日誌**。