[アップデート]VPC フローログに新しく 4 つのフィールドが追加され カスタムフォーマットのフローログをCloudWatch Logs に出力できるようになりました

VPC フローログに新しく 4 つのフィールドが追加されました。さらに、カスタム形式のフローログを CloudWatch Logs に出力できるようになりました。試してみます。
2020.05.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、岩城です。

本日、VPC フローログに新しく 4 つのフィールドが追加されました。さらに、カスタムフォーマットのフローログを CloudWatch Logs に出力できるようになりました。

Add enriched metadata to Amazon VPC flow logs published to CloudWatch Logs and S3

何ができるようになったのか?

新しく 4 つのフィールドが追加

VPC フローログに新しく以下の 4 つのフィールドが追加されました。ドキュメント上では、Version 4 となっている項目になります。

フィールド 説明
region トラフィックが記録されるネットワークインターフェースを含むリージョン
az-id トラフィックが記録されるネットワークインターフェースを含むアベイラビリティゾーンの IDトラフィックがサブロケーションからのものである場合、このフィールドは「 - 」が記録される
sublocation-type wavelength、outpost、localzone といったサブロケーションからのトラフィックの場合記録されるサブロケーションからのものでない場合、このフィールドは「 - 」が記録される
sublocation-id サブロケーションの ID が記録されるサブロケーションからのものでない場合、このフィールドは「 - 」が記録される

利用可能なフィールド

カスタムフォーマットのフローログを CloudWatch Logs に出力可能に

VPC フローログ出力は、S3 もしくは CloudWatch Logs に出力することができます。

ただし、カスタム形式のフローログは、これまで S3 に出力する場合のみサポートされていました。

今回のアップデートにより、CloudWatch Logs にもカスタム形式のフローログを出力できるようになりました。

試してみる

VPC フローログに記録するフィールドの指定は、VPC フローログ作成時のみ可能です。既に VPC フローログを既に作成している場合は、再度成する必要があるので注意してください。

今回の検証では、フローログの送信先を CloudWatch Logs とし、ログフォーマットはデフォルトフォーマットに新しい 4 つのフィールドを追加するカスタムフォーマットとしました。

${version} ${account-id} ${interface-id} ${srcaddr} ${dstaddr} ${srcport} ${dstport} ${protocol} ${packets} ${bytes} ${start} ${end} ${action} ${log-status} ${region} ${az-id} ${sublocation-type} ${sublocation-id}

VPC フローログ作成後、少し時間を置くと CloudWatch Logs にログが出力されます。

ログの一部を抜粋して確認してみましょう。

東京リージョンの ap-northeast-1a にあるネットワークインターフェースで記録されたログであることが分かります。

sublocation-typesublocation-id については、今回の検証でサブロケーションとなる wavelength、outpost、localzone を用意できなかったので「 - 」になっています。

おわりに

リージョンやアベイラビリティゾーンの情報をロギングできるようになるとログフォレンジックが捗るのではないでしょうか。嬉しいアップデートだと思います!

今回の検証では、あえて CloudWatch Logs に VPC フローログを出力させました。

VPC フローログは、常に確認しているものというよりは、有事の際ログフォレンジックに利用するような基本的に保存だけしておくケースが多いと思います。

ログの保存料金でいえば、CloudWatch Logs は S3 に比べてコスト高になるので、余程の理由がない限り S3 に出力することを検討してください。

本エントリがどなたかのお役に立てれば幸いです。