
이번 실습에서는 VPC Flow Logs를 CloudWatch Logs로 전송하는 설정을 진행한다. 이를 통해 VPC 내에서 발생하는 트래픽 데이터를 실시간으로 모니터링할 수 있으며, 향후 보안이나 네트워크 문제를 진단하는 데 유용하게 활용할 수 있다.
첫 번째 단계는 IAM 정책을 생성하는 것이다. VPC Flow Logs는 CloudWatch Logs로 로그 데이터를 전송해야 하므로, 이를 위한 권한을 부여할 IAM 정책이 필요하다. 해당 정책은 로그 그룹을 만들고 로그를 기록할 수 있는 권한을 부여하는 역할을 한다.
생성한 정책은 다음과 같은 액션들을 포함한다:
logs:CreateLogGroup: 로그 그룹을 생성하는 권한logs:CreateLogStream: 로그 스트림을 생성하는 권한logs:PutLogEvents: 로그 이벤트를 기록하는 권한logs:DescribeLogGroups 및 logs:DescribeLogStreams: 로그 그룹과 스트림을 조회할 수 있는 권한이 정책은 CloudWatch Logs에서 VPC Flow Logs를 전송하는 데 필요한 권한을 제공한다. 이를 통해 로그 데이터를 원활하게 기록할 수 있다. 이 권한이 없으면 Flow Logs가 CloudWatch Logs로 데이터를 전송할 수 없기 때문에, 첫 단계에서 이 정책을 정확히 설정해야 한다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams"
],
"Resource": "*"
}
]
}
다음 단계는 IAM 역할을 생성하는 것이다. 이 역할은 VPC Flow Logs가 CloudWatch Logs에 데이터를 전송할 수 있도록 하는 중요한 연결 고리다. 여기서는 my-flowlog-role이라는 이름으로 역할을 만들고, 이 역할에 앞서 생성한 my-flowpolicy 정책을 연결한다.
my-flowpolicy이 역할은 VPC Flow Logs 서비스가 CloudWatch Logs에 데이터를 전송할 수 있도록 허용하는 역할을 한다. 서비스 역할이 없으면 Flow Logs가 데이터를 전송할 수 없기 때문에, 역할을 정확히 설정하는 것이 중요하다.
다음으로, 생성한 IAM 역할에 신뢰 정책을 수정한다. 이 신뢰 정책은 vpc-flow-logs.amazonaws.com 서비스가 sts:AssumeRole을 통해 my-flowlog-role 역할을 사용할 수 있도록 허용하는 정책이다. 이 단계는 VPC Flow Logs 서비스가 지정한 IAM 역할을 사용할 수 있도록 보장하는 중요한 부분이다.
vpc-flow-logs.amazonaws.com (VPC Flow Logs 서비스)sts:AssumeRole이 설정을 통해 VPC Flow Logs가 CloudWatch Logs로 데이터를 전송할 수 있는 권한을 가지게 되며, 서비스가 역할을 올바르게 사용할 수 있도록 한다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "vpc-flow-logs.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
VPC Flow Logs의 데이터를 저장할 CloudWatch 로그 그룹을 생성하는 단계다. 로그 그룹은 데이터를 관리하는 단위로, Flow Logs에서 생성된 로그 데이터를 저장하는 장소다. 이번 실습에서는 MyVpc22-Log라는 이름의 로그 그룹을 생성한다.
MyVpc22-Log이 단계에서 중요한 점은 로그 그룹이 제대로 생성되어야 VPC Flow Logs가 데이터를 올바르게 기록할 수 있다는 점이다. 로그 그룹을 만들지 않으면 Flow Logs 데이터를 확인할 수 없으므로 필수적인 설정이다.
이제 VPC Flow Logs를 실제로 생성하는 단계다. my-flowlog라는 이름으로 VPC Flow Logs를 설정하고, CloudWatch Logs에 데이터를 전송할 수 있도록 연결한다.

MyVpc22-Logmy-flowlog-roleVPC Flow Logs를 생성하면서 중요한 점은, 로그가 어느 위치에 저장될지(로그 그룹)와, 어떤 역할을 통해 로그가 전송될지를 정확히 설정하는 것이다. 이 설정이 잘못되면 로그가 제대로 기록되지 않기 때문에, 로그 그룹과 역할을 정확히 연결하는 것이 필수적이다.
VPC Flow Logs의 데이터를 CloudWatch Logs에서 확인할 수 있도록 설정을 마친다. 로그 스트림에서 접근 기록을 확인할 수 있으며, 이를 통해 네트워크 트래픽이 어떻게 흐르고 있는지 모니터링할 수 있다.
CloudWatch Logs에서 흐름 데이터를 확인하는 것은 VPC Flow Logs의 핵심적인 기능이다. 이를 통해, 네트워크 트래픽, 접속된 IP, 포트, 그리고 수신/발신 트래픽 등을 모니터링하고 분석할 수 있다. 이 단계는 실시간 모니터링과 보안 점검에 매우 유용한 정보를 제공한다.
테스트를 위해 미리 MyVpc22에 생성해둔 ec2로 외부 접근을 시도한다. (ex : curl http://<ec2-공인IP>) 접근한 로그는 해당 ec2의 네트워크 인터페이스 이름으로 확인할수 있다.

이번 실습을 통해 VPC Flow Logs와 CloudWatch Logs를 연결하여 네트워크 트래픽 데이터를 실시간으로 모니터링할 수 있는 시스템을 구축했다. 이를 통해 향후 보안 감사, 문제 해결, 트래픽 분석 등 다양한 용도로 활용할 수 있다. 실습을 진행하면서 중요한 점은 정확한 IAM 역할 설정, 로그 그룹과 스트림 연결, 그리고 신뢰 정책 설정이었다. 이러한 설정을 통해 VPC Flow Logs가 제대로 작동하게 되었고, 데이터를 CloudWatch Logs에서 관리하고 분석할 수 있다.