네트워크 트래픽 가시성 부족
VPC 내 네트워크 인터페이스를 오가는 트래픽을 직접 확인할 수 없어, 보안 그룹이나 네트워크 ACL 규칙이 의도대로 동작하는지 검증하기 어렵습니다.
VPC Flow Logs · 흐름 로그
VPC Flow Logs는 네트워크 인터페이스를 오가는 IP 트래픽 정보를 캡처합니다. 수집된 로그 데이터는 CloudWatch Logs, Amazon S3, Amazon Data Firehose로 게시할 수 있으며, 네트워크 성능에 영향을 주지 않습니다.
Customer challenges
VPC 내 네트워크 인터페이스를 오가는 트래픽을 직접 확인할 수 없어, 보안 그룹이나 네트워크 ACL 규칙이 의도대로 동작하는지 검증하기 어렵습니다.
허용 또는 거부된 트래픽 기록이 없으면, 비정상 접근이나 과도하게 제한적인 보안 그룹 규칙을 진단하는 데 시간이 오래 걸립니다.
네트워크 인터페이스로 들어오고 나가는 트래픽의 방향과 경로를 확인할 수 없어, 네트워크 문제의 근본 원인을 찾기 어렵습니다.
Benefits
Performance
흐름 로그 데이터는 네트워크 트래픽 경로 외부에서 수집됩니다. 흐름 로그를 생성하거나 삭제해도 네트워크 처리량이나 지연 시간에 영향을 주지 않습니다.
Flexibility
수집된 로그를 CloudWatch Logs, Amazon S3, Amazon Data Firehose 중 원하는 대상으로 게시할 수 있습니다. Amazon Athena를 사용하여 S3에 저장된 흐름 로그를 쿼리할 수도 있습니다.
Customization
기본 포맷 외에 사용자 지정 포맷을 지정하여 필요한 필드만 포함하거나 순서를 변경할 수 있습니다. 불필요한 필드를 제외하면 별도의 후처리 과정을 줄일 수 있습니다.
How it works
VPC 내 네트워크 흐름 하나를 나타내는 레코드입니다. 기본적으로 5-tuple(소스/대상 IP, 소스/대상 포트, 프로토콜) 기준으로 집계 간격 동안의 트래픽을 캡처합니다. 각 레코드는 공백으로 구분된 필드 문자열입니다.
특정 흐름이 캡처되어 하나의 레코드로 집계되는 기간입니다. 기본값은 최대 10분이며, 1분으로 설정할 수도 있습니다. Nitro 기반 인스턴스에 연결된 네트워크 인터페이스는 설정과 관계없이 항상 1분 이하입니다.
네트워크 트래픽 로그를 CloudWatch Logs, S3 등 대상으로 전송하기 위해 구성된 전달 경로와 권한을 의미합니다. 리소스당 계정당 최대 250개의 구독을 생성할 수 있습니다.
Default format은 version 2 필드를 고정 순서로 포함하며 변경할 수 없습니다. Custom format은 사용 가능한 필드 중 원하는 항목과 순서를 직접 지정할 수 있어, 불필요한 데이터를 줄이고 후처리를 간소화합니다.
Key features
흐름 로그 데이터를 CloudWatch Logs, Amazon S3, Amazon Data Firehose 중 선택하여 게시할 수 있습니다.
출처사용 가능한 필드 중 원하는 항목과 순서를 직접 지정하여 흐름 로그 레코드를 구성할 수 있습니다. 불필요한 필드를 제외하여 후처리 부담을 줄입니다.
출처최대 집계 간격을 10분(기본) 또는 1분으로 설정할 수 있습니다. 1분 간격은 더 높은 볼륨의 레코드를 생성합니다.
출처Amazon S3로 게시할 때 일반 텍스트 외에 Parquet 포맷을 선택할 수 있습니다. 각 필드에 적절한 데이터 타입(INT_32, INT_64, STRING)이 적용됩니다.
출처Amazon Athena를 사용하여 S3에 저장된 흐름 로그 데이터를 SQL로 쿼리할 수 있습니다.
출처Version 7에서 도입된 ECS 관련 필드(ecs-cluster-arn, ecs-cluster-name, ecs-container-instance-arn 등)를 통해 ECS 태스크 수준의 트래픽을 식별할 수 있습니다. awsvpc 네트워크 모드의 태스크만 지원됩니다.
출처Version 5의 traffic-path 필드는 송신 트래픽이 목적지에 도달하는 경로(VPC 내부, 인터넷 게이트웨이, VPC 피어링 등)를 숫자 코드로 표시합니다.
출처pkt-src-aws-service, pkt-dst-aws-service 필드를 통해 트래픽의 소스 또는 대상이 어떤 AWS 서비스(S3, DynamoDB, CloudFront 등)인지 식별할 수 있습니다.
출처Version 11에서 도입된 Tag 필드를 통해 흐름 로그 레코드에 리소스 태그 값을 포함할 수 있습니다. 태그 변경은 EventBridge Managed Rules를 통해 1분 단위로 반영됩니다.
출처흐름 로그 데이터는 네트워크 트래픽 경로 외부에서 수집됩니다. 흐름 로그를 생성하거나 삭제해도 네트워크 처리량이나 지연 시간에 영향이 없습니다.
출처Compare
| 항목 | CloudWatch Logs | Amazon S3 | Amazon Data Firehose |
|---|---|---|---|
| 일반적인 전달 지연 | 약 5분 | 약 10분 | Firehose 버퍼 설정에 따라 다름 |
| 쿼리 방법 | CloudWatch Logs Insights | Amazon Athena (SQL) | 다운스트림 대상에서 분석 |
| Parquet 포맷 지원 | 미지원 | 지원 | Firehose 변환 설정에 따라 다름 |
| 비용 추적 | 로그 그룹 태그로 비용 할당 | S3 버킷 태그로 비용 할당 | Delivery Stream 태그로 비용 할당 |
Use cases
흐름 로그의 ACCEPT/REJECT 기록을 분석하여 과도하게 제한적인 보안 그룹 규칙을 식별하고 수정할 수 있습니다.
AWS 문서에서 보기 ↗특정 인스턴스에 도달하는 트래픽을 모니터링하여 비정상적인 접근 패턴이나 트래픽 급증을 감지할 수 있습니다.
AWS 문서에서 보기 ↗flow-direction과 traffic-path 필드를 활용하여 네트워크 인터페이스의 수신/송신 트래픽 방향과 경로(인터넷 게이트웨이, VPC 피어링 등)를 파악할 수 있습니다.
AWS 문서에서 보기 ↗Version 7의 ECS 메타데이터 필드를 사용하여 awsvpc 네트워크 모드로 실행 중인 ECS 태스크별 트래픽을 구분하고 분석할 수 있습니다.
AWS 문서에서 보기 ↗Reference architecture
1. VPC, 서브넷, 또는 네트워크 인터페이스 수준에서 흐름 로그를 생성합니다. 2. 흐름 로그 서비스가 네트워크 트래픽 경로 외부에서 IP 트래픽 정보를 캡처합니다. 3. 캡처된 데이터는 구성된 구독(subscription)을 통해 CloudWatch Logs, Amazon S3, 또는 Amazon Data Firehose로 게시됩니다. 4. CloudWatch Logs로 게시된 경우 CloudWatch Logs Insights로 쿼리하고, Amazon S3로 게시된 경우 Amazon Athena로 SQL 쿼리를 실행합니다. 5. Amazon Data Firehose로 게시된 경우 다운스트림 분석 서비스(예: Amazon OpenSearch Service)로 전달하여 거의 실시간으로 분석을 수행합니다.
출처Pricing
VPC Flow Logs 자체에는 별도 서비스 요금이 없으며, 흐름 로그를 게시할 때 Vended Logs에 대한 데이터 수집(ingestion) 및 보관(archival) 요금이 적용됩니다. 비용 할당 태그를 대상 리소스에 적용하여 비용을 추적할 수 있습니다.
Getting started
VPC 전체, 특정 서브넷, 또는 개별 네트워크 인터페이스 중 흐름 로그를 적용할 범위를 결정합니다. 범위에 따라 수집되는 데이터 볼륨과 비용이 달라집니다.
기본 포맷(version 2 필드)을 사용하거나, 사용자 지정 포맷으로 필요한 필드(예: traffic-path, pkt-src-aws-service, ECS 메타데이터 등)를 지정합니다. 생성 후에는 포맷을 변경할 수 없으므로 사전에 요구사항을 정리합니다.
CloudWatch Logs, Amazon S3, Amazon Data Firehose 중 게시 대상을 선택하고, 최대 집계 간격을 10분 또는 1분으로 설정합니다. 1분 간격은 더 높은 볼륨의 레코드를 생성합니다.
흐름 로그가 대상 리소스에 로그를 게시할 수 있도록 IAM 역할과 권한을 설정합니다. 비용 추적을 위해 대상 리소스(로그 그룹, S3 버킷, Delivery Stream)에 비용 할당 태그를 적용합니다.
CloudWatch Logs Insights 또는 Amazon Athena를 활용한 쿼리 체계를 구성합니다. 보안 이벤트 감지, 트래픽 패턴 분석 등 운영 목적에 맞는 대시보드와 알람을 설정합니다.
Next steps
흐름 로그 생성, 레코드 형식, 게시 대상 설정 등 상세 가이드를 확인할 수 있습니다.
Version 2부터 11까지 사용 가능한 모든 필드의 설명과 데이터 타입을 확인할 수 있습니다.
로깅되지 않는 트래픽 유형, ECS 필드 제한, 태그 필드 제한 등 운영 시 알아야 할 제한 사항을 확인합니다.
흐름 로그 게시 시 적용되는 Vended Logs 데이터 수집 및 보관 요금을 확인합니다.
Resources
이 페이지는 아래 AWS 공식 자료를 바탕으로 정리했습니다. 마지막 갱신 2026-10-17.