フローログレコード
フローログレコードは、VPC のネットワークの流れを表します。デフォルトでは、各レコードは、集約間隔 (キャプチャウィンドウとも呼ばれる) 内で発生するネットワークインターネットプロトコル (IP) トラフィックフロー (ネットワークインターフェイスごとに 5 タプルによって特徴付けられる) をキャプチャします。
各レコードは、スペースで区切られたフィールドから成る文字列です。送信元、送信先、プロトコルなど、レコードには IP フローのさまざまなコンポーネントの値が含まれています。
フローログを作成するときは、フローログレコードのデフォルトの形式を使用するか、カスタム形式を指定できます。
集約間隔
集約間隔は、特定のフローがキャプチャされ、フローログレコードに集約される期間です。デフォルトでは、最大の集約間隔が 10 分に設定されています。フローログを作成する場合、オプションで最大集約間隔を 1 分に指定できます。最大集約間隔が 1 分のフローログでは、最大集約間隔が 10 分のフローログよりも多くのフローログレコードが生成されます。
ネットワークインターフェイスが Nitro ベースのインスタンスにアタッチされている場合、指定した最大集約間隔に関係なく、集約間隔は常に 1 分以下になります。
集約間隔内にデータが取得された後、データの処理および CloudWatch Logs または Amazon S3 へのパブリッシュにさらに時間がかかります。フローログサービスは、通常、約 5 分で CloudWatch Logs に、約 10 分で Amazon S3 にログを配信します。ただし、ログの配信はベストエフォートベースであり、通常の配信時間を超えてログが遅れる可能性があります。
デフォルトの形式
デフォルトの形式では、フローログレコードには、使用可能なフィールドテーブルに表示される順序でバージョン 2 のフィールドが含まれます 。デフォルトの形式をカスタマイズまたは変更することはできません。使用可能なすべてのフィールドまたはフィールドの異なるサブセットをキャプチャするには、代わりにカスタム形式を指定します。
カスタム形式
カスタム形式を使用して、フローログレコードに含めるフィールドと順序を指定します。これにより、ニーズに合ったフローログを作成し、関連のないフィールドを省略できます。カスタム形式を使用すると、発行されたフローログから特定の情報を抽出する別個のプロセスが不要になります。使用可能なフローログフィールドは任意の数指定できますが、少なくとも 1 つ指定する必要があります。
使用可能なフィールド
次に表に、フローログレコードの使用可能なすべてのフィールドを示します。[Version (バージョン)] 列には、フィールドが導入された VPC フローログのバージョンが表示されます。デフォルトの形式には、すべてのバージョン 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 |
トラフィックに関連付けられたアクション:
Parquet データ型: STRING |
2 |
log-status |
フローログのロギングステータス。
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 フラグのビットマスク値:
TCP フラグは、集約間隔内に OR 処理することができます。短い接続の場合、フラグがフローログレコードの同じ行に設定されることがあります (例えば、SYN-ACK と FIN の場合は 19、SYN と FIN の場合は 3 など)。例については、「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 内のポッドの IP アドレスが、ポッドが実行されているインスタンスノードのネットワークインターフェイスの IP アドレスとは異なる場合などです (VPC 内の通信の場合)。 Parquet データ型: STRING |
3 |
pkt-dstaddr |
トラフィックのパケットレベルの (元の) 送信先 IP アドレス。dstaddr フィールドとともにこのフィールドを使用し、トラフィックが通過する中間レイヤーの IP アドレスとトラフィックの最終的な送信元 IP アドレスを区別します。例えば、トラフィックが NAT ゲートウェイのネットワークインターフェイスを通過する場合や、Amazon EKS 内のポッドの IP アドレスが、ポッドが実行されているインスタンスノードのネットワークインターフェイスの IP アドレスとは異なる場合などです (VPC 内の通信の場合)。 Parquet データ型: STRING |
3 |
region |
トラフィックが記録されるネットワークインターフェイスが含まれるリージョン。 Parquet データ型: STRING |
4 |
az-id |
トラフィックが記録されるネットワークインターフェイスが含まれるアベイラビリティーゾーンの ID。トラフィックがサブロケーションからの場合、レコードにはこのフィールドに「-」記号が表示されます。 Parquet データ型: STRING |
4 |
sublocation-type |
sublocation-id フィールドに返されるサブロケーションのタイプ。指定可能な値は次のとおりです: wavelength Parquet データ型: STRING |
4 |
sublocation-id |
トラフィックが記録されるネットワークインターフェイスが含まれるサブロケーションの ID。トラフィックがサブロケーションからではない場合、レコードにはこのフィールドに「-」記号が表示されます。 Parquet データ型: STRING |
4 |
pkt-src-aws-service |
pkt-srcaddr フィールド用の IP アドレスの範囲のサブセットの名前 (送信元 IP アドレスが AWS のサービス用の場合)。pkt-srcaddr が重複範囲に属している場合、pkt-src-aws-service には AWS サービスコードの 1 つだけが表示されます。指定可能な値は次のとおりです: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 |
pkt-dstaddr フィールド用の IP アドレスの範囲のサブセットの名前 (送信先 IP アドレスが AWS のサービス用の場合)。可能な値の一覧については、pkt-src-aws-service フィールドをご参照ください。 Parquet データ型: STRING |
5 |
flow-direction |
トラフィックがキャプチャされるインターフェイスに対するフローの方向。指定できる値は次のとおりです: ingress | egress。 Parquet データ型: STRING |
5 |
traffic-path |
出力トラフィックが送信先につながるパス。トラフィックが出力トラフィックであるかどうかを判断するには、flow-direction フィールドを確認します。指定できる値は次のとおりです。いずれの値も適用されない場合、フィールドは - に設定されます。
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。他の拒否理由の場合は「-」を返します。VPC ブロックパブリックアクセス (BPA) についての詳細は、「VPC とサブネットへのパブリックアクセスをブロックする」を参照してください。 Parquet データ型: STRING |
8 |