

# フローログレコード
<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>

カスタム形式を使用して、フローログレコードに含めるフィールドと順序を指定します。これにより、ニーズに合ったフローログを作成し、関連のないフィールドを省略できます。カスタム形式を使用すると、発行されたフローログから特定の情報を抽出する別個のプロセスが不要になります。使用可能なフローログフィールドは任意の数指定できますが、少なくとも 1 つ指定する必要があります。

## 使用可能なフィールド
<a name="flow-logs-fields"></a>

次に表に、フローログレコードの使用可能なすべてのフィールドを示します。[**Version (バージョン)**] 列には、フィールドが導入された 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 ゲートウェイからの送信トラフィックの場合、これは pkt-srcaddr と同じパケットレベルの送信元 IP アドレスです。pkt-srcaddr も参照してください。<br />**Parquet データ型:** STRING | 2 | 
| dstaddr | 送信トラフィックの送信先アドレスか、ネットワークインターフェイスにおける受信トラフィックのネットワークインターフェイスの IPv4 または IPv6 アドレス。ネットワークインターフェイスの IPv4 アドレスは常にそのプライベート IPv4 アドレスです。リージョン NAT ゲートウェイへの受信トラフィックの場合、これは pkt-dstaddr と同じパケットレベルの送信先 IP アドレスです。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/ja_jp/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/ja_jp/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/ja_jp/vpc/latest/userguide/flow-log-records.html)サポートされているフラグが記録されていない場合、TCP フラグ値は 0 です。例えば、tcp-flags は ACK または PSH フラグのロギングをサポートしていないため、これらのサポートされていないフラグを持つトラフィックのレコードは TCP フラグの値が 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 セグメント構造」](https://en.wikipedia.org/wiki/Transmission_Control_Protocol#TCP_segment_structure)を参照してください。<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 フィールドとともにこのフィールドを使用し、トラフィックが通過する中間レイヤーの IP アドレスとトラフィックの元の送信元 IP アドレスを区別します。例えば、トラフィックが [NAT ゲートウェイのネットワークインターフェイス](flow-logs-records-examples.md#flow-log-example-nat)を通過する場合や、Amazon EKS 内のポッドの IP アドレスが、ポッドが実行されているインスタンスノードのネットワークインターフェイスの IP アドレスとは異なる場合などです (VPC 内の通信の場合)。<br />**Parquet データ型:** STRING | 3 | 
| pkt-dstaddr | トラフィックのパケットレベルの (元の) 送信先 IP アドレス。dstaddr フィールドとともにこのフィールドを使用し、トラフィックが通過する中間レイヤーの IP アドレスとトラフィックの最終的な送信元 IP アドレスを区別します。例えば、トラフィックが [NAT ゲートウェイのネットワークインターフェイス](flow-logs-records-examples.md#flow-log-example-nat)を通過する場合や、Amazon EKS 内のポッドの IP アドレスが、ポッドが実行されているインスタンスノードのネットワークインターフェイスの IP アドレスとは異なる場合などです (VPC 内の通信の場合)。<br />**Parquet データ型:** STRING | 3 | 
| region | トラフィックが記録されるネットワークインターフェイスが含まれるリージョン。<br />**Parquet データ型:** STRING | 4 | 
| az-id | トラフィックが記録されるネットワークインターフェイスが含まれるアベイラビリティーゾーンの ID。トラフィックがサブロケーションからの場合、レコードにはこのフィールドに「-」記号が表示されます。<br />**Parquet データ型:** STRING | 4 | 
| sublocation-type | sublocation-id フィールドに返されるサブロケーションのタイプ。指定可能な値は次のとおりです: [wavelength](https://aws.amazon.com/wavelength/) \| [outpost](https://docs.aws.amazon.com/outposts/latest/userguide/) \| [localzone](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 | pkt-srcaddr フィールド用の [IP アドレスの範囲](aws-ip-ranges.md)のサブセットの名前 (送信元 IP アドレスが AWS のサービス用の場合)。ソース IP アドレスが[重複範囲](aws-ip-syntax.md#aws-ip-range-overlaps)内にある場合、pkt-src-aws-service には AWS サービスコードのいずれか 1 つだけが表示されます。指定できる値は、`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 | pkt-dstaddr フィールド用の IP アドレスの範囲のサブセットの名前 (送信先 IP アドレスが AWS のサービス用の場合)。可能な値の一覧については、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/ja_jp/vpc/latest/userguide/flow-log-records.html)<br />**Parquet データ型:** INT\_32 | 5 | 
| ecs-cluster-arn | トラフィックが実行中の ECS タスクからのものである場合の ECS クラスターの AWS リソースネーム (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 タスクに 1 つまたは複数のコンテナがある場合、これは最初のコンテナの Docker ランタイム ID になります。このフィールドをサブスクリプションに含めるには、ecs:ListClusters を呼び出すアクセス許可が必要です。Parquet データ型: STRING | 7 | 
| ecs-second-container-id | トラフィックが実行中の ECS タスクからのものである場合のコンテナの Docker ランタイム ID。ECS タスクに 1 つ以上のコンテナがある場合、これは 2 番目のコンテナの 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/ja_jp/vpc/latest/userguide/flow-log-records.html)<br />**Parquet データ型:** STRING | 8 | 
| resource-id | トラフィックが記録されるネットワークインターフェイスを含むリージョン NAT ゲートウェイの ID。リージョン NAT ゲートウェイに関連付けられていないトラフィックフローの「-」記号を返します。リージョン NAT ゲートウェイの詳細については、「[自動マルチ AZ 拡張用のリージョン 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/ja_jp/vpc/latest/userguide/flow-log-records.html)<br />VPC 暗号化コントロールが有効になっていない場合、または FlowLog がステータスを取得できない場合、値は「-」です。 \* インターフェイスエンドポイントとゲートウェイエンドポイントの場合、AWS はパケットデータを調べて暗号化ステータスを判断するのではなく、暗号化ステータスを引き受けるために使用されるポートに依存します。 <br />\*\* 指定された AWS マネージドエンドポイントの場合、AWS はサービス設定の TLS の要件に基づいて暗号化ステータスを決定します。 <br />**Parquet データ型:** INT\_32 | 10 | 