안녕하세요. AWS에서 인프라를 구축하다 보면 가장 답답한 순간이 언제일까요? 바로 "서버 A에서 서버 B로 통신이 안 될 때"입니다.
분명 보안 그룹(Security Group)도 열었고, 라우팅 테이블도 맞게 한 것 같은데 Ping은 계속 타임아웃이 납니다. 이때부터 우리는 탐정이 되어야 합니다. 보안 그룹 인바운드/아웃바운드 확인하고, NACL 확인하고, 서브넷 라우팅 확인하고... 실수 하나 찾느라 몇 시간이 훌쩍 지나가죠.
이제는 그럴 필요가 없습니다. AWS가 제공하는 VPC Reachability Analyzer를 사용하면, 어디가 막혔는지 딱 집어서 알려주기 때문입니다. 오늘은 이 도구가 무엇이고, 어떻게 우리를 칼퇴근시켜 주는지 알아보겠습니다.
1. VPC Reachability Analyzer란?
VPC Reachability Analyzer는 VPC 내부의 리소스 간에 네트워크 도달 가능성을 확인해 주는 구성 분석 도구입니다.
이 도구의 가장 큰 특징이자 장점은 실제 패킷을 보내지 않는다는 점입니다.
일반적인 Ping이나 Traceroute는 실제로 데이터를 보내고 응답을 기다립니다. 하지만 이 Analyzer는 여러분이 설정한 VPC 구성(보안 그룹, NACL, 라우팅 테이블, 인터넷 게이트웨이 등)을 수학적으로 모델링하여 분석합니다.
마치 내비게이션 앱이 실제로 차를 몰아보지 않고도 "이 길은 공사 중이라 갈 수 없습니다"라고 알려주는 것과 같습니다. 그래서 서버를 끄거나 트래픽을 발생시키지 않고도, 이론적으로 통신이 가능한지 불가능한지를 100% 정확하게 진단할 수 있습니다.
2. 어떻게 사용하나요? (3단계 사용법)
사용법은 정말 간단합니다. 복잡한 명령어도 필요 없습니다.
Step 1. 경로 정의 (Source & Destination) AWS 콘솔에서 VPC 메뉴로 이동한 뒤 Reachability Analyzer를 선택합니다. 그리고 출발지와 목적지를 지정합니다. 출발지: 문제의 원인이라고 생각되는 인스턴스 (예: Web Server) 목적지: 도달하고 싶은 인스턴스나 게이트웨이 (예: DB Server 또는 Internet Gateway) 프로토콜: TCP/UDP 및 포트 번호 (예: 3306)
Step 2. 분석 실행 [분석 및 탐색] 버튼을 누르면 AWS가 구성을 분석하기 시작합니다. (보통 수 초에서 1분 정도 걸립니다.)
Step 3. 결과 확인 (범인 검거) 분석이 끝나면 결과가 도달 가능(Reachable) 또는 도달 불가능(Unreachable)으로 나옵니다. 도달 가능: 패킷이 지나가는 모든 경로(ENI -> SG -> ACL -> Route Table -> ...)를 시각적으로 보여줍니다. 도달 불가능: 여기가 핵심입니다. 정확히 어느 지점에서 막혔는지 붉은색으로 표시해 줍니다. 예시: "보안 그룹 sg-12345의 인바운드 규칙에 3306 포트 허용이 없습니다."
3. 어떤 상황에서 쓰면 좋을까요?
이 도구는 다음과 같은 상황에서 엄청난 위력을 발휘합니다.
상황 1: "연결이 안 돼요" 트러블슈팅 가장 흔한 케이스입니다. EC2에서 RDS로 접속이 안 되거나, 프라이빗 서브넷에서 인터넷이 안 될 때 사용하세요. 사람이 눈으로 보면 놓치기 쉬운 NACL 설정이나, 라우팅 테이블의 미세한 오류를 기가 막히게 찾아냅니다.
상황 2: 네트워크 구성 검증 (배포 전) 실제 서비스를 오픈하기 전에 네트워크가 의도한 대로 설계되었는지 검증할 때 좋습니다. "정말로 이 DB 서버는 외부 인터넷에서 접속이 불가능한 게 맞나?"를 확인하고 싶을 때, 인터넷 게이트웨이에서 DB 서버로 경로 분석을 돌려보세요. 도달 불가능이 떠야 안전한 것입니다.
상황 3: 서로 다른 VPC 간의 연결 확인 VPC Peering이나 Transit Gateway로 복잡하게 연결된 환경에서는 경로 추적이 정말 어렵습니다. Reachability Analyzer는 VPC 경계를 넘나드는 경로도 분석해 주기 때문에, 복잡한 네트워크 아키텍처를 운영하는 분들에게 필수입니다.
4. 기존 방식(Ping)과의 차이점
Ping/Traceroute 실제 패킷을 전송함. 결과: "안 됨(Time out)"만 알려줌. 원인 파악: 사용자가 직접 모든 설정을 뒤져야 함. 서버 부하: 미세하지만 트래픽 발생.
Reachability Analyzer 설정(Configuration)을 분석함. 결과: "안 됨" + "보안 그룹 때문에 안 됨"이라고 원인을 알려줌. 원인 파악: 도구가 자동으로 찾아줌. 서버 부하: 없음 (서버가 꺼져 있어도 분석 가능).
마치며
네트워크 문제는 90% 이상이 단순한 설정 실수(휴먼 에러)에서 발생합니다. 하지만 그 실수를 눈으로 찾는 건 서울에서 김 서방 찾기만큼 어렵습니다.
이제 터미널에서 무의미한 Ping을 날리며 시간을 보내지 마세요. AWS VPC Reachability Analyzer에게 물어보세요. "여기서 저기로 가는 길, 왜 막혔니?"라고요. 단 1분 만에 정답을 알려줄 것입니다.
