[アップデート] VPC フローログのカスタム形式で Cloudwatch Logs がサポートされました。

VPC フローログの Cloudwatch Logs 出力でカスタム形式がサポートされました。不要なフィールドを削ってコスト削減に使えそうですね!余談ですが、AWS Local Zones はじめて使ってみました。
2020.05.06

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

本日のアップデートで、VPC フローログに新たなフィールドが追加されています。また、これまでカスタム形式のログ出力は S3 のみ利用可能でしたが、Cloudwatch Logs でもサポートされるようになりました。

30分前に以下、同アップデートに関して岩城の記事があがっていましたが、書いてしまったのでそのまま投稿します!

何が嬉しいのか

今回のアップデート内容は以下の 2 点です。

  • 新たなログフィールドの追加
  • Cloudwatch Logs でのカスタム形式サポート

新たなログフィールドの追加

今回のアップデートで追加されたフィールドは下記のとおりです。

フィールド 説明
region トラフィックが記録されるネットワークインターフェースが含まれるリージョン
az-id トラフィックが記録されるネットワークインターフェースが含まれる AZ の ID。トラフィックがサブロケーションからのものである場合、このフィールドには「-」記号が表示される
sublocation-type sublocation-id のサブロケーションタイプ。
・wavelengt
・outpost
・localzone
トラフィックがサブロケーションからのものでない場合、このフィールドには「-」記号が表示される
sublocation-id トラフィックが記録されるネットワークインターフェイスを含むサブロケーションの ID。トラフィックがサブロケーションからのものでない場合、このフィールドに「-」記号が表示される

リージョンおよび AZ のフィールドに加え、sublocation-type の説明で判るとおり、re:Invent2019 で発表された「AWS Wavelength」「Amazon Outposts」「AWS Local Zones」に対応する内容が追加されています。

Cloudwatch Logs でのカスタム形式サポート

これまでログフィールドの順序を変更したり、関係のないフィールドを削除するといったログフォーマットのカスタマイズは S3 のみサポートされており、Cloudwatch Logs では利用できませんでした。

今回、Cloudwatch Logs でカスタム形式が利用可能となりましたので、例えば Cloudwatch Logs には CloudWatch Logs Insights や CloudWatch Contributor Insights など、即時の確認および分析に必要なフィールドのみに絞り込み、全体のフィールドは後から Athena 等で分析できるように S3 に出力します。

Cloudwatch Logs はデータの取り込みに 〜0.76USD/GB, 保存に 0.033USD/GB が発生しますので、カスタム形式で不要なフィールドを除外することでコスト削減が期待できます。(料金はいずれも東京リージョン)

ちなみに、今回のアップデートによって以前まで S3 のみの出力とされていた vpc-id/subnet-id/instance-id/tcp-flags/type/pkt-srcaddr/pkt-dstaddr も Cloudwatch Logs に出力可能となっています。(フィールドの説明は公式ガイドを参照ください)

注意事項

VPC フローログは作成後に、その設定やフローログレコードの形式を変更することはできません。よって、新しいフィールドや、カスタム形式を利用したい場合は新たに VPC フローログを設定する必要があります。

確認

今回はオレゴンリージョンの Local Zones に起動した EC2 を使って、確認してみました。

VPC フローログの作成メニューで CloudWatch ログへの送信 を選択していますが、Csutom format が指定できています。また、新規に追加されたフィールド region/az-id/sublocation-type/sublocation-id の選択ができるようになっています。

出力を確認すると、カスタム形式で指定したフィールドが出力されていることが判りますね。また、Local zone の通信ログのフィールド出力も確認することができました。

検証は以上です。

さいごに

「AWS Wavelength」「Amazon Outposts」「AWS Local Zones」といった AWS における新たなネットワーク形態に対応するためのフィールドが追加されました。新サービスについては、まだ GA されていなかったり、東京リージョンでは使えなかったりで恩恵に預かるのはもう少し先の話になりそうですね。

一方で、Cloudwatch Logs のカスタム形式サポートは嬉しいですね。これまで Cloudwatch Logs に対応していないフィールドを検索するには Athena を使うなど多少の手間がありましたが、これからは S3 と同等のフィールドを扱うことができるようになりましたので、テンポラリー用途でフィールドを追加して CloudWatch Logs Insights だけサクッと検索することも出来ます。

また、その反対にカスタム形式サポートによってフィールドを削ることも可能です。Cloudwatch Logs はログ取り込みコストが高いので、VPC フローログのログ取り込み料金に悩んでいる場合は、フィールドの選別を検討してみてはいかがでしょうか?

以上!大阪オフィスの丸毛(@marumo1981)でした!