Traffic Mirroring 기능은 Cloud 환경에서 보기 어려운 패킷을 Mirroring을 통해 직접 확인 할 수 있도록 하는 기능입니다.
ENI를 이용해 VPC 내부에서 통신되는 EC2, LB 등 트래픽의 상세한 분석이 필요한 경우 유용하게 사용할 수 있습니다.
VPC내의 통신을 확인 할 수 있는 방법은 VPC Flow Logs도 있습니다.
VPC Flow Logs는 VPC 내 통신을 로그 형식으로 가시성을 제공하고 Traffic Mirroring은 통신 패킷을 직접 확인 할 수 있는 차이점이 있습니다.
Traffic Mirror 구성요소
- Traffic Mirror Source
- Traffic Mirror Target
- Traffic Mirror Filter
- Traffic Mirror Session
Traffic Mirror Targets
미러링 된 트래픽을 보낼 타켓을 지정하며 타겟의 종류는 3가지 입니다.
- ENI (Elastic Network Interface)
- NLB (Network LoadBalancer)
- GWLB (Gatewayt LoadBalancer Endpoint

생성할 미러 타켓의 이름을 작성합니다. 다음으로 타겟의 종류 및 타겟을 선택합니다.

생성된 미러 타켓을 확인합니다.

Traffic Mirror Filters
Mirror할 트래픽에 대해 정의합니다. Protocol, Port, IP CIDR로 Filtering이 가능합니다.

Filter의 이름과 설명을 작성합니다.
Filter는 Inbound, Outbound Rule을 정할 수 있으며 In/Outbound 80,443 포트만 필터링 되도록 설정했습니다.

설정한 Filter를 확인합니다.

Traffic Mirror Sessions
설정한 Mirror Targer, Filter를 이용해 하나의 Mirror Session을 생성합니다.

Mirror Session의 이름을 작성하고 트래픽을 복사 할 Source Interface를 선택합니다.
미리 생성한 Mirror Target을 선택하거나 없을 경우 Create target을 이용해 생성할 수 있습니다.
마찬가지로 이전에 생성한 Filter를 생성하거나 없을 경우 Create filter을 이용해 생성할 수 있습니다.
추가로 Session number, VNI를 선택할 수 있습니다.
Session number는 우선 순위를 나타내며 1이 가장 높은 우선순위를 가집니다.
VNI란 Mirroring 된 Traffic은 VXLAN을 통해 전송되는데 이 때 사용되는 VXLAN ID를 정의합니다. (미 정의 시 자동 할당 됩니다.)

생성된 Mirror Session을 확인합니다.

Mirroring Traffic 확인
VXLAN 통신으로 트래픽이 Mirror되기에 Target Interface의 Security Group에 UDP 4789가 허용되어 있어야 합니다.

[참고사항]
- ENI당 세션 수 - 각 ENI에서 최대 세 개의 활성 세션을 가질 수 있습니다.
- 대역폭 - Mirror Traffic은 인스턴스에서 사용할 수 있는 전체 대역폭에 포함됩니다. 트래픽 정체 발생 시에는 Mirroing 트래픽이 먼저 삭제됩니다.
- Target은 Source와 다른 계정이더라도 가능합니다. (Resouce Access Manager 이용)
- Mirror Source와 Mirror Target이 동일한 VPC 혹은 Peering, TGW로 연결 및 라우팅 테이블이 존재해야 합니다.
(즉, Mirror Traffic은 라우팅에 의해 전송됩니다.) - Incomming Security Group이나 Network ACL에 의해서 Drop된 패킷은 Mirroring 되지 않습니다.
[Linux]
리눅스의 tcpdump로 확인 시 VXLAN 패킷 및 실제 통신 패킷이 같이 캡쳐되는 것을 볼 수 있습니다.

[Windows]
Wireshark로 캡쳐 시 좀 더 명확하게 Traffic 확인이 가능합니다.
VXLAN은 Layer 3,4 단계의 패킷을 Encapsulation을 통해 원하는 목적지로 전송 후 Decapsulation을 하게 됩니다.
따라서 Mirror Traffic은 VXLAN 통신을 하기에 패킷 확인 시 VXLAN 용 IP와 실제 통신 IP가 같이 캡쳐됩니다.
| Source IP | Source Port | Destination IP | Destination Port | 비고 | |
| VXLAN | 10.11.1.239 (MirrorSource) |
65460 | 10.10.1.13 (MirrorTarget) |
4789 | |
| 원본 Packet | 112.220.71.244 (Client) |
64485 | 10.11.1.239 (WebServer) |
80 | Destination 3.39.105.146 10.11.1.239 2개 IP존재 하나 내부로 전송되는 사설 구간만 캡쳐 됨 |

VXLAN 패킷 확인 시 UDP 4789 번호 및 VNI 번호를 확인 할 수 있습니다.
그래서 보안그룹에 UDP 4789 오픈이 필요했으며 Mirror Session 생성 시 작성하지 않았던 VNI는 자동 할당되어 사용됨을 알수 있습니다.

AWS Cloud 환경에서는 이슈 발생 시 트래픽 확인이 쉽지 않아 로그 형식으로 보곤합니다.
그러나 직접 트래픽 확인이 필요할 경우 VPC Traffic Mirroring 기능을 사용하면 간단한 설정으로 트래픽 확인이 가능하기에 유용하게 활용할 수 있을 것 입니다.
[참고사이트]
https://aws.amazon.com/ko/blogs/korea/new-vpc-traffic-mirroring/
https://whchoi98.gitbook.io/aws-hybrid/5networkmonitoring/5.5.vpc-traffic-mirror
'AWS' 카테고리의 다른 글
| [AWS] IDC/AWS Site-to-Site VPN 구성하기 (with BGP, Active-Active) (1) (0) | 2025.03.05 |
|---|---|
| [AWS][EC2] 클라우드 컴퓨팅으로 게임하기 (2) | 2024.02.22 |
| [AWS][CloudWatch] 데이터 전송량 → Bps단위로 변환해서 네트워크 모니터링 하기 (0) | 2024.01.05 |
| [AWS] CloudTrail을 이용해 Console 엑세스 로그 확인하기 (0) | 2024.01.05 |
| [AWS] VPC Flow Logs로 트래픽 로그 확인하기(3) (0) | 2023.05.18 |