ユーザ用ツール

サイト用ツール


aws:vpc:flowlogs

VPC フローログで、IPトラフィックを保管

VPC フローログとは

VPC内のIPトラフィックをキャプチャして、保存してくれる機能です。

注意事項

  • 1度設定すると変更はできない。再作成が必要
記録されないログ
  • インスタンスからAmazon DNSへのトラフィック
  • WindowsインスタンスからWindowsアクティベートのトラフィック
  • インスタンスmetaデータ(169.254.169.254)へのトラフィック
  • DHCPトラフィック


VPC FlowLogsの仕様

AWS VPC FlowLogsの挙動を確かめてみた

  • VPC FlowLogsはAggregation Interval内に通過したパケットのカウンターのような挙動をとる
    • 1分間で取得する場合、1分間に何パケット通ったかがわかる。
  • VPC FlowLogsは、Aggregation Interval内に何パケット流れようとも1レコードとして記録される
  • 記録される時間は、実際にパケットが通過した時間と最大60秒のラグがある

1分または10分のAggregation Intervalを指定し、そのインターバル内に対象のインターフェイスを通過したパケットを記録しています。
この間に何パケット通過しようとFlowLogs上は1レコードとして処理されます。
ただし、通過する方向によって別のパケットとして扱われるので、
たとえばpingを送ったとするとICMP ECHO REQUESTとICMP ECHO REPLYのパケットが記録されるレコードは別のレコードとなるようです。


VPCフローログの見方

${version} ${account-id} ${interface-id} ${srcaddr} ${dstaddr} ${srcport} ${dstport} ${protocol} ${packets} ${bytes} ${start} ${end} ${action} ${log-status}
${version} VPCフローログのバージョン
${account-id} AWSアカウントのID
${interface-id} ネットワークインターフェイスのID
${srcaddr} 送信元IPアドレス
${dstaddr} 送信先IPアドレス
${srcport} 送信元ポート
${dstport} 送信先ポート
${protocol} プロトコルの番号
${packets} パケットの数
${bytes} バイト数
${start} 開始時刻(unixtime) unixtime から 日時表記への変換方法
■Linuxでの確認
date --date @1305730800
date -d @1305730800
■Mac/BSDでの確認
date -r 1305730800
${end} 終了時刻(unixtime)
${action} アクション ACCEPT
REJECT
説明は、下記参照
${log-status} ログ OK
NODATA
SKIPDATA
説明は、下記参照
${action}
ACCEPT セキュリティグループおよびネットワーク ACLで許可されたトラフィック
他社など他のVPCやオンプレと接続する場合、
ACCEPTは他社との接続がうまくいったことではなく、あくまでもこのVPC内では問題ないということ
REJECT セキュリティグループまたはネットワーク ACLで許可されていないトラフィック
${log-status}
OK データは選択された送信先に正常に記録されます
NODATA 集約間隔内にネットワークインターフェイスとの間で行き来するネットワークトラフィックはありませんでした。
SKIPDATA 集約間隔内に一部のフローログレコードがスキップされました。
内部的なキャパシティー制限、または内部エラーが原因である可能性があります。

ExcelやSpredSheetでUNIXTIMEを日時に変換する

Excelの場合

K 列に start がある場合

ブランクのセルに=(((K2/60)/60)/24)+DATE(1970,1,1)という式を設定
SpredSheetの場合
=((startのセル)/86400)+DATEVALUE("1970/01/01")+TIME(9,0,0)


設定

VPCフローログを取得したいVPCを選択して、「アクション」「フローログの作成」

設定項目 設定例 備考
フィルタ 承諾
却下
すべて
Maximum aggregation interval 10 minutes
1 minute
どちらでも費用は変わらない
送信先 CloudWatchログへの送信
S3バケットへの送信
同じアカウントの Kinesis Firehose に送信
別のアカウントの Kinesis Firehose に送信
S3の方が安い
S3の場合、事前にS3バケットを作成して、
「ARNをコピーしておく」
バケット名「vpc-flow-logs-xxxxxxxxx」

CloudWatchの場合

送信先ロググループ
IAMロール IAMロールを作成します。
ログレコード形式 AWS のデフォルト形式
カスタム形式

S3バケットの場合

S3 バケット ARN
ログレコード形式 AWS のデフォルト形式
カスタム形式
ログファイル形式 テキスト (デフォルト)
Parquet
Hive 互換 S3 プレフィックス 有効化 ON / OFF Hive 互換ツールへの新しいデータのロードを簡素化する
時間別にログをパーティション分割 24 時間ごと (デフォルト)
1 時間ごと (60 分)
大量のログがある場合、1時間ごと
aws/vpc/flowlogs.txt · 最終更新: 2023/12/16 00:33 by kurihara

ページ用ツール