VPC のネットワークインターフェイスとの間で行き来する IP トラフィックに関する情報をキャプチャできるようにする機能として「VPCフローログ」というのがあります。
キャプチャしたログはS3やCloudWatchlogs、Kinesis Data Firehoseに出力することができます。
今回はVPCフローログをアカウントを跨いでS3バケットに格納してみます
構成イメージ
アカウントAのVPCフローログをからアカウントBのS3バケットに格納します。
複数アカウントのログを1つのS3バケットに集約したい場合に活用できます。

手順の流れ
以下の流れで実装します。
1.【アカウントB】S3バケット作成
2.【アカウントA】VPCフローログの作成
3.【アカウントB】ログの出力確認
1. 【アカウントB】S3バケット作成
アカウントBにS3バケットを作成していきます。

暗号化は「SSE-S3」にします。(理由は後述に記載。)

2.【アカウントA】VPCフローログの作成
アカウントAでVPCフローログを作成していきます。
対象のVPCを選択⇒「フローログを」作成。

「送信先」はS3バケットに送信を選択し、アカウントAで作成したS3バケットのARNを入力します。

フローログを作成します。

【補足】
S3バケットの暗号化が「SSE-KMS」のAWS マネージド型キー(aws/s3)を選択している場合は下記のエラーが表示されVPCフローログが作成できないので注意が必要です。
バケットの暗号化は「SSE-S3」か「SSE-KMS」のカスタマーマネージドキーである必要があります。
参考:公式サイト

3.【アカウントB】ログの出力確認
数分後、アカウントBのS3バケットにログが出力されていることを確認します。

バケット配下に「AWSLogs/」ディレクトリが自動的に作成され、その配下にもサブディレクトリが作成されます。
※黒抜きの箇所はアカウントAのIDです。
最終的に日付フォルダの配下にgzで固められたフローログが出力されます。
コメント