フローログの制限事項
フローログを使用するには、次の制限事項に注意する必要があります。
-
フローログの作成後は、選択したネットワークインターフェイス、サブネット、VPC のアクティブなトラフィックがあるまで、フローログデータは表示されません。
-
ピア VPC がアカウントにない限り、VPC とピアリング接続された VPC のフローログを有効にすることはできません。
-
フローログを作成後に、その設定やフローログレコードの形式を変更することはできません。例えば、異なる IAM ロールをフローログに関連付けたり、フローログレコードのフィールドを追加または削除したりすることはできません。代わりにフローログを削除し、必要な設定で新しいログを作成できます。
-
ネットワークインターフェイスに複数の IPv4 アドレスがある場合、トラフィックがセカンダリプライベート IPv4 アドレスに送信されても、フローログの
dstaddr
フィールドにはプライマリプライベート IPv4 アドレスが表示されます。元の送信先 IP アドレスをキャプチャするには、pkt-dstaddr
フィールドを含むフローログを作成します。 -
トラフィックがネットワークインターフェイスに送信され、送信先がネットワークインターフェイスの IP アドレスのいずれでもない場合、フローログの
dstaddr
フィールドにはプライマリプライベート IPv4 アドレスが表示されます。元の送信先 IP アドレスをキャプチャするには、pkt-dstaddr
フィールドを含むフローログを作成します。 -
トラフィックがネットワークインターフェイスから送信され、送信元がネットワークインターフェイスの IP アドレスのいずれでもない場合、フローログの
srcaddr
フィールドにはプライマリプライベート IPv4 アドレスが表示されます。元の送信元 IP アドレスをキャプチャするには、pkt-srcaddr
フィールドを含むフローログを作成します。 -
ネットワークインターフェイスとの間でトラフィックが送受信される場合、パケットの送信元または送信先にかかわらず、フローログの
srcaddr
フィールドとdstaddr
フィールドには常にプライマリのプライベート IPv4 アドレスが表示されます。パケットの送信元または送信先をキャプチャするには、pkt-srcaddr
フィールドとpkt-dstaddr
フィールドを含むフローログを作成します。 -
ネットワークインターフェイスが Nitro ベースのインスタンスにアタッチされている場合、指定した最大集約間隔に関係なく、集約間隔は常に 1 分以下になります。
-
pkt-srcaddr
とpkt-dstaddr
のフィールドについては、中間レイヤーでクライアント IP アドレスの保存が有効になっている場合、このフィールドに表示されるのが中間レイヤーの IP アドレスではなく、保存されたクライアント IP になることがあります。 集計間隔中に一部のフローログレコードがスキップされることがあります (使用可能なフィールド の log-status を参照)。これは、内部の AWS キャパシティの制限または内部エラーが原因で発生する場合があります。VPC フローログの請求金額を表示するために AWS Cost Explorer を使用しており、一部のフローログがフローログの集計間隔中にスキップされた場合は、AWS Cost Explorer で報告されるフローログの数が Amazon VPC により発行されたフローログの数よりも多くなります。
-
VPC ブロックパブリックアクセス (BPA) を使用している場合:
-
VPC BPA のフローログには、スキップされたレコードは含まれません。
-
VPC BPA のフローログには、フローログに
bytes
フィールドを含めた場合であっても、bytes は含まれません。
-
フローログですべての IP トラフィックはキャプチャされません。以下のトラフィックの種類は記録されません。
-
Amazon DNS サーバーに接続したときにインスタンスによって生成されるトラフィック。独自の DNS サーバーを使用する場合は、その DNS サーバーへのすべてのトラフィックが記録されます。
-
Amazon Windows ライセンスのアクティベーション用に Windows インスタンスによって生成されたトラフィック。
-
インスタンスメタデータ用に
169.254.169.254
との間を行き来するトラフィック。 -
Amazon Time Sync Service の
169.254.169.123
との間でやり取りされるトラフィック。 -
DHCP トラフィック。
-
トラフィックミラーリングされたソーストラフィック。トラフィックミラーリングされたターゲットトラフィックのみが表示されます。
-
デフォルト VPC ルーターの予約済み IP アドレスへのトラフィック。
-
エンドポイントのネットワークインターフェイスと Network Load Balancer のネットワークインターフェイスの間のトラフィック。
-
アドレス解決プロトコル (ARP) トラフィック。
バージョン 7 で利用可能な ECS フィールドに固有の制約事項:
ECS フィールドでフローログサブスクリプションを作成するには、アカウントに少なくとも 1 つの ECS クラスターが含まれている必要があります。
基盤となる ECS タスクがフローログサブスクリプションの所有者によって所有されていない場合、ECS フィールドは計算されません。例えば、サブネット (
SubnetA
) を別のアカウント (AccountB
) と共有し、SubnetA
のフローログサブスクリプションを作成する場合、AccountB
が共有サブネットで ECS タスクを起動すると、サブスクリプションはAccountB
によって起動された ECS タスクからトラフィックログを受信しますが、セキュリティ上の懸念から、これらのログの ECS フィールドは計算されません。VPC / サブネットリソースレベルで ECS フィールドを使用してフローログサブスクリプションを作成すると、ECS 以外のネットワークインターフェイス用に生成されたトラフィックもサブスクリプションに対して配信されます。ECS フィールドの値は、ECS 以外の IP トラフィックでは「-」になります。例えば、サブネット (
subnet-000000
) があり、ECS フィールド (fl-00000000
) を使用してこのサブネットのフローログサブスクリプションを作成する場合を考えてみます。subnet-000000
で、インターネットに接続され、IP トラフィックをアクティブに生成している EC2 インスタンス (i-0000000
) を起動します。また、同じサブネットで実行中の ECS タスク (ECS-Task-1
) を起動します。i-0000000
とECS-Task-1
の両方が IP トラフィックを生成しているため、フローログサブスクリプションfl-00000000
は両方のエンティティのトラフィックログを配信します。ただし、logFormat に含めた ECS フィールドの実際の ECS メタデータを取得するのはECS-Task-1
だけです。i-0000000
に関連するトラフィックの場合、これらのフィールドの値は「-」になります。ecs-container-id
とecs-second-container-id
の順序は、VPC フローログサービスが ECS イベントストリームからそれらを受信したときに基づきます。ECS コンソールまたは DescribeTask API コールで表示されるのと同じ順序であるとは限りません。タスクがまだ実行しているときにコンテナが STOPPED ステータスになると、このコンテナが引き続きログに表示されることがあります。ECS メタデータと IP トラフィックログは、2 つの異なるソースからのものです。アップストリームの依存関係から必要な情報をすべて取得すると、ECS トラフィックの計算がすぐに開始されます。新しいタスクを開始した後、ESC フィールドの計算は、1) 基盤となるネットワークインターフェイスの IP トラフィックを受信したとき、および 2) タスクが現在実行中であることを示す ECS タスクのメタデータを含む ECS イベントを受信したときに開始されます。タスクを停止した後、ESC フィールドの計算は、1) 基盤となるネットワークインターフェイスの IP トラフィックが受信されなくなったとき、および 2) タスクがもう実行中でなくなったことを示す ECS タスクのメタデータを含む ECS イベントを受信したときに停止します。
サポートされるのは、
awsvpc
ネットワークモードで起動した ECS タスクのみです。