AWS용어 쉽게 이해하기: VPC Flow Logs

출처: https://tutorialsdojo.com/understanding-vpc-flow-logs-capturing-network-traffic-in-aws/
네트워크 가시성 확보, 보안 강화, 그리고 성능 최적화를 위해 VPC Flow Logs를 저장/분석합니다. 참고로 VPC Flow Logs는 네트워크 트래픽 경로 외부에서 수집되므로 네트워크 처리량이나 지연시간에 영향을 주지 않습니다.
VPC 플로우 로그를 생성할 수 있는 리소스는 다음과 같습니다.
- VPC (Virtual Private Cloud): 전체 VPC 내의 모든 트래픽에 대한 플로우 로그를 생성합니다.
- 서브넷 (Subnet): 특정 서브넷 내의 모든 네트워크 인터페이스 트래픽에 대한 플로우 로그를 생성합니다.
- 네트워크 인터페이스 (Network Interface): 특정 네트워크 인터페이스에 대한 트래픽 플로우 로그를 생성합니다.
플로우 로그 데이터를 전송할 수 있는 주요 저장소는 다음 세 가지입니다.
- Amazon S3:
가장 일반적인 저장소입니다. 플로우 로그 데이터를 S3 버킷에 객체로 저장합니다. 대규모 로그 데이터를 저렴하게 장기간 보관할 수 있습니다. Athena, Redshift 등과 연동하여 데이터 분석을 쉽게 할 수 있습니다. - Amazon CloudWatch Logs:
플로우 로그 데이터를 CloudWatch의 로그 그룹(Log Group)에 저장합니다. 로그를 중앙에서 관리하고, 실시간으로 조회, 검색, 필터링할 수 있습니다. CloudWatch Logs Insights를 사용해 로그를 분석하거나, CloudWatch 지표(Metrics)를 생성하여 대시보드로 시각화할 수 있습니다. - Amazon Data Firehose:
로그 데이터를 수집하고 변환하여 다양한 목적지로 전송하는 스트리밍 데이터 전송 서비스입니다. S3, Redshift, OpenSearch 서비스와 같은 여러 대상으로 데이터를 자동으로 로드할 수 있어, 실시간 로그 분석 파이프라인을 구축하는 데 유용합니다.
VPC 플로우 로그를 분석하는 방법입니다.
- CloudWatch Logs Insights:
가장 빠르고 간편한 방법입니다. VPC 플로우 로그 데이터를 CloudWatch Logs로 보낸 후, SQL과 유사한 쿼리 언어를 사용하여 로그를 분석할 수 있습니다. 예를 들어, parse @message “…”와 같은 명령어를 사용해 특정 필드를 추출하고 통계를 낼 수 있습니다. - Amazon Athena:
S3에 저장된 대규모 로그 데이터를 SQL 쿼리로 분석하는 데 적합합니다. 서버리스 서비스이므로 별도의 인프라 관리 없이 분석을 시작할 수 있습니다. S3 버킷에 저장된 플로우 로그 데이터를 대상으로 외부 테이블을 생성하고, SQL 쿼리를 실행하여 분석합니다. - Amazon OpenSearch Service:
실시간 로그 분석 및 시각화에 강력합니다. Kibana(OpenSearch Dashboards)를 사용해 플로우 로그 데이터를 시각화하고 대시보드를 구축할 수 있습니다. Amazon Data Firehose를 사용하여 플로우 로그를 OpenSearch Service로 스트리밍한 후, Kibana를 통해 분석합니다.