はじめに
こんにちは。株式会社シーイーシーのAWSコミュニティチームです。
今回は、VPC Flow Logsの概要と有効化手順についてご紹介します。
VPC Flow Logs は、セキュリティ対策や障害調査、監査対応のために「まず有効化しておくべき設定」として扱われることが多い機能です。
その一方で、AWS マネジメントコンソール上でフローログを作成する操作に意識が向きやすく、「VPC Flow Logs を有効化すれば、それだけでログ取得の準備は完了する」と思われがちです。
本記事では、CloudWatchロググループの作成やログの保持期間の設定、IAMポリシー/IAMロールの設定まで含めて解説します。
セキュリティ強化や障害調査の観点で、VPC Flow Logsの活用を検討されている方の参考になれば幸いです。
VPC Flow Logsとは?
VPC Flow Logsは、VPC内のネットワークインターフェース(ENI)を通過するIPトラフィックの情報をキャプチャーする機能です。
取得したログは、Amazon CloudWatch Logs、Amazon S3、Amazon Data Firehoseに保存できます。
なぜVPC Flow Logsの有効化が必要なのか
AWSでは、VPC Flow Logsを有効化しない限り、VPC内のネットワーク通信は記録されません。
つまり、デフォルトの状態では通信状況の把握や調査に必要な情報が不足する可能性があります。
有効化が必要な主な理由は以下のとおりです。
①セキュリティ要件への対応
不審な通信や不正アクセスの痕跡を検知・調査するためには、通信ログの記録が不可欠です。
インシデント発生後に「ログがなくて調査できない」という事態を防ぐためにも、事前に有効化しておくことが重要です。
②コンプライアンス・監査対応
セキュリティ基準への準拠や、社内監査・外部監査において、ネットワーク通信のログ取得が求められるケースがあります。
VPC Flow Logsはその要件を満たすための手段の一つとなります。
③障害調査・トラブルシューティング
通信がセキュリティグループやネットワークACLで意図せず拒否されている場合、VPC Flow Logsを確認することで原因の特定が容易になります。
ログがなければ、設定ミスの発見に多くの時間を要することになります。
④AWS環境の可視化・把握
どのリソース間でどのような通信が発生しているかを把握することで、想定外の通信の検出や、ネットワーク設計の見直しにも役立ちます。
以上の理由から、VPC Flow Logsの有効化はAWS環境を運用するうえで対応しておくべき設定の一つといえます。
主な用途は以下のとおりです。
- セキュリティグループやネットワークACLの設定確認(許可/拒否の記録)
- 不審な通信の調査
- ネットワーク障害時のトラフィック確認
ログには、送信元/送信先のIPアドレス、ポート番号、プロトコル、通信の許可/拒否の結果などが記録されます。
保存先の選択について
VPC Flow Logsの保存先には、以下の3つが選択できます。
| 保存先 | 特徴 |
|---|---|
| Amazon CloudWatch Logs | リアルタイムに近い形でログを確認可能。CloudWatchアラームやメトリクスフィルターと連携しやすく、運用監視に適している |
| Amazon S3 | 大量のログを低コストで長期保存するのに適している。AthenaなどでSQLクエリを使った分析も可能 |
| Amazon Data Firehose | リアルタイムに近い形でログを転送可能。Amazon RedshiftやAmazon OpenSearch Serviceなどへの直接配信に適している |
本記事では、アラームやメトリクスとの連携がしやすく、運用監視の用途に適しているため、保存先としてCloudWatch Logsを採用しています。長期保存やコスト重視の場合はAmazon S3もご検討ください。
有効化手順
全体の流れ
VPC Flow Logsを有効化するには、以下の3つのステップが必要です。
<手順>
ステップ1. CloudWatchロググループを作成する
ステップ2. IAMポリシー/IAMロールを作成する(VPC Flow LogsがCloudWatchにログを書き込むための権限)
ステップ3. VPC Flow Logsを有効化する
「VPC Flow Logsを有効化する」だけで完結すると思われがちですが、事前にログの送信先となるCloudWatchロググループと、VPC Flow LogsがCloudWatch Logsに書き込むためのIAMロールが必要です。
AWSコンソール上で作成時に指定することもできますが、保持期間や権限を明確に管理するため、本記事では事前に作成する手順で説明します。
ステップ1:CloudWatchロググループを作成する
まず、VPC Flow Logsの保存先となるCloudWatchロググループを作成します。
1. AWSマネジメントコンソールにログインし、CloudWatchを開く
2. 左側メニューから「ログ管理」を選択し、「ロググループを作成」をクリック
3. ロググループ名を入力し、保持期間を設定する
ロググループ名は任意の名前を入力します。(例:vpcflowlogs-test)
ここで重要なのが保持期間の設定です。
デフォルトでは「失効しない(無制限)」になっており、そのままにしておくとログが蓄積し続け、ストレージコストが増大します。
用途に応じた保持期間(例:30日、90日など)を設定することを推奨します。
4. 「作成」をクリックしてロググループを作成する
ステップ2:IAMポリシー/IAMロールを作成する
VPC Flow LogsがCloudWatch Logsにログを書き込むためには、専用のIAMポリシーとIAMロールが必要です。
まずポリシーを作成し、その後ロールを作成してポリシーをアタッチします。
IAMポリシーを作成する
1. IAMコンソールを開く
2. 左側メニューから「ポリシー」を選択し、「ポリシーの作成」をクリック
3. JSONタブを選択し、以下のポリシーを入力して「次へ」をクリック
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams"
],
"Resource": "*"
}
]
}
4. ポリシー名を入力し、「ポリシーの作成」をクリック
(例:vpcflowlogs-policy-test)
IAMロールを作成する
1. IAMコンソールの左側メニューから「ロール」を選択し、「ロールを作成」をクリック
2. 「カスタム信頼ポリシー」を選択し、以下のJSONを入力して「次へ」をクリック
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "vpc-flow-logs.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
3. 先ほど作成したポリシーを検索してアタッチし、「次へ」をクリック
4. ロール名を入力し、「ロールを作成」をクリック
(例:vpcflowlogs-role-test)
ステップ3:VPC Flow Logsを有効化する
IAMロールとロググループの準備が整ったら、VPC Flow Logsを有効化します。
1. VPCコンソールを開く
2. 対象のVPCの「フローログ」タブを選択し、「フローログの作成」をクリック
3. 各項目を設定する
| 項目 | 設定値(例) |
|---|---|
| フィルター | すべて(許可と拒否の両方を記録) |
| 最大集計間隔 | 10分(デフォルト) |
| 送信先 | CloudWatch Logs |
| 送信先ロググループ | 手順1で作成したロググループ |
| サービスロール | 手順2で作成したIAMロール |
【補足】最大集計間隔について
最大集計間隔とは、VPC Flow Logsがトラフィックの情報を集約してからログとして出力するまでの時間のことです。
デフォルトの10分に設定した場合、通信が発生してからログに反映されるまで最大10分かかることがあります。
1分に設定することも可能ですが、ログの出力頻度が上がるため、CloudWatch Logsへの取り込みコストが増加する点に注意が必要です。コストの詳細はAmazon CloudWatchの料金ページをご確認ください。
リアルタイムに近い監視が必要な場合は1分を、コストを抑えたい場合はデフォルトの10分を選択することを推奨します。
4. 「フローログを作成」をクリックして完了
有効化後の確認
フローログが正しく動作しているかを確認します。
- CloudWatchコンソールの「ロググループ」から対象のロググループを開く
- しばらくするとログストリームが作成され、トラフィックの記録が確認できる
※ログが反映されるまで数分かかる場合があります。
まとめ
今回は、VPC Flow Logsの概要と有効化手順についてご紹介しました。
単純に有効化するだけでなく、以下の3点を合わせて対応することが重要です。
- CloudWatchロググループを事前に作成する
- VPC Flow Logs専用のIAMポリシー/IAMロールを作成し、適切な権限を付与する
- ロググループの保持期間を必ず設定する(無制限のままにしない)
特に、保持期間の設定は見落としがちなポイントです。コスト管理の観点からも、有効化と同時に設定することをおすすめします。
VPC Flow Logsを活用することで、ネットワーク通信の可視化やセキュリティインシデントの早期発見につながります。
まだ有効化されていない方は、この機会に設定することをおすすめします。
最後まで読んでいただきありがとうございました。
※本記事は2026年5月時点の情報に基づいて執筆しています。















