[アップデート] VPCフローログに新たなメタデータが追加されました!

VPCフローログに新たなメタデータが追加されました。VPC/Subnet/InstanceのIDやパケットレベルの送信元・宛先IPアドレス等が参照できるようになったため、トラブルシューティングなどの際の利便性が高まりそうです。
2019.10.05

AWSを愛する皆さま、こんにちは。コンサルティング部の西野(@xiye_gen)です。

VPCフローログに新たなメタデータが追加されました

2019年9月中旬にVPCフローログのアップデートがありました。 フローログとして取得できるメタデータの種類が増えています。

Amazon VPC フローログにメタデータを追加

おさらい:VPCフローログとは

VPCフローログとは、VPC内に存在するネットワークインターフェース間のIPトラフィックに関連する情報をキャプチャする機能です。 詳細については下記ページなどをご参照ください。

AWSドキュメント / VPC フローログ 【新機能】VPC Flow LogsでVPC内のIPトラフィックを監視することができるようになりました!

新たに追加されたメタデータ

新たに追加されたメタデータは下記のとおりです。

フィールド 内容
vpc-id ソースとなるネットワークインターフェースが存在するVPCのID
subnet-id ソースとなるネットワークインターフェースが存在するサブネットのID
instance-id ネットワークインターフェースが関連付けられたEC2インスタンスのID *1
tcp-flags TCPフラグのビットマスク
type トラフィックのタイプ(IPv4 / IPv6 / EFA *2
pkt-srcaddr パケットレベル(オリジナル)の送信元IPアドレス
pkt-dstaddr パケットレベル(オリジナル)の宛先IPアドレス

各項目の詳細については下記ドキュメントをご参照ください。 Flow Log Records (2019/10/05現在、追加部分の日本語ドキュメントなし)

やってみた

今回追加されたメタデータを含むVPCフローログを設定し、IPトラフィックをキャプチャしてみました。

VPCフローログの作成

送信先としてS3バケットへの送信を選択します。 *3

Custom formatにチェックをいれた後、ユースケースに応じたフィールドを選択します。 今回は下記のフィールドを選択しました。

vpc-id subnet-id instance-id protocol dstaddr pkt-dstaddr srcaddr pkt-srcaddr

某サイトをcurlで叩く

プライベートサブネットに立てたEC2インスタンスからNAT Gateway経由で某サイトにHTTPアクセスしてみます。

[ec2-user@ip-172-16-64-65 ~]$ curl AAA.AAA.AAA.AAA

結果

実際にキャプチャされたものをまとめた表がこちらです。 ※vpc-id subnet-id instance-id は便宜上書き換えて記載しております。フローログには実際のIDが記録されます。

新たに追加されたメタデータがしっかり記録されています。 NAT GatewayでNATされている様子もうかがえますね。(2〜3行目)

終わりに

かねてよりVPCフローログはトラブルシューティングなどの際にとても有効な機能でした。 今回のアップデートでより利便性が高まったのではないでしょうか。

このブログがほんの少しでも世界を良くできれば嬉しいです。 コンサルティング部の西野(@xiye_gen)がお送りしました。

脚注

  1. AWSサービスにより自動的に配置されたネットワークインターフェース(RDS / NAT Gateway / PrivateLink / ECSのtaskなど)である場合、この項目は'-'として記録されます。
  2. https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/efa.html
  3. 新たに追加されたメタデータを含むVPCフローログを取得する場合、ログの保存先としてCloudWatch Logsを選択できません。