AWS/AWS_Service

[AWS] VPC Reachability Analyzer를 사용한 네트워크 통신 테스트

달콤한달팽이 2024. 8. 30. 11:27
반응형

안녕하세요, 달콤한달팽이입니다.🐌🫡

 

클라우드 환경을 구성하다 보면 제대로 구성했음에도 불구하고,

"어라? 왜 통신이 안되지?"와 같은 현상이 종종 발생하곤 합니다.

 

그래서 오늘은 네트워크 통신 이슈로 인해 "어라?"하지 않도록

네트워크 통신 테스트를 수행해주는 서비스를 소개해드리려고 합니다.


Reachability Analyzer란?

Reachability Analyzer란, AWS 환경 내에서 네트워크 경로를 분석하고, 특정 리소스 간 연결 가능성을 평가는 서비스입니다.

(즉, 리소스간 네트워크 통신 테스트를 수행할 수 있는 분석 서비스라고 생각해도 좋을 것 같아요.)

 

주요 기능은 아래와 같습니다.

1. 경로 분석:
  Reachability Analyzer는 VPC 내의 리소스, 인터넷, VPN 연결 등에 대한 네트워크 경로를 분석합니다.
  이를 통해 네트워크 트래픽은 어떠한 경로로 이동 되는지 확인할 수 있습니다.

2. 문제 진단:
  네트워크 연결 시 발생한 문제를 식별하고 개선이 필요한 부분을 제공합니다.
  예를 들어, 보안 그룹, 네트워크 ACL, 라우팅 테이블 등에서의 설정 오류가 발생했음을 쉽게 확인할 수 있습니다.

3. 시각적 결과:
  분석 결과는 시각적으로 표현되어, 사용자가 네트워크 경로를 쉽게 이해하고 빠르게 문제를 진단할 수 있도록 돕습니다.

4. API 및 CLI 지원:
  AWS 콘솔뿐만 아니라, AWS CLI와 API를 통해서도 Reachability Analyzer를 사용할 수 있습니다.

 

이제 서비스를 직접 사용해보도록 하겠습니다!


1) 경로 생성 및 분석

 AWS Network Manager - "Reachability Analyzer" 탭에서 "경로 생성 및 분석"을 선택해주세요!

 

2) 경로 소스 

 이제 네트워크 통신 테스트를 수행할 "소스(출발지)"에 대한 정보를 기입해야합니다.  

 

1. 소스 유형 선택(필수)

 네트워크 트래픽이 어디에서부터 출발하는지에 정보를 우선적으로 기입해야 합니다.

 

 크게 타 리소스간 통신(Instances, Network Interfaces), 인터넷 통신(Internet Gateways), 타 VPC간 통신(Transit Gateway, VPC Peering Connetcions) 등을 지원합니다.

 

 저는 이번에는 서버와 인터넷 통신 여부를 확인하기 위해 Internet Gateways를 선택하도록 하겠습니다.

 

2. 소스의 추가 패킷 헤더 구성(선택)

 네트워크 경로 분석을 수행할 때, 소스 리소스에서 전송되는 패킷의 속성을 정의하는 옵션입니다.

 

 소스/대상 주소는 각각 출발지와 목적지 IP를, 소스/대상 포트는 각각 소스에서 사용하는 패킷과 포트에서 사용하는 패킷을 의미합니다.

 

 저는 이번 테스트에서는 특정 인터넷 패킷에 대한 네트워크 통신이 아니기 때문에 공란으로 넘어갔습니다.

 

3) 경로 대상

 이제 네트워크 통신 테스트를 수행할 "대상(목적지)"에 대한 정보를 기입해야합니다.  

 

1. 대상 유형 선택(필수)

 네트워크 트래픽이 어디로 도착하는지에 정보를 기입해야 합니다.

 

 대상 유형 역시, 소스 유형과 마찬가지로 타 리소스간 통신, 인터넷 통신, 타 VPC간 통신 등을 지원합니다.

 

 소스는 인터넷을 선택했으므로, 대상은 Instances를 선택하도록 하겠습니다.

 

2. 대상의 추가 패킷 헤더 구성(선택)

 네트워크 경로 분석을 수행할 때, 대상 리소스에서 전송되는 패킷의 속성을 정의하는 옵션입니다.

 

 각각에 대한 설명은 앞선 소스의 추가 패킷 헤더 구성에서 설며한 것과 동일하므로 넘어가겠습니다.

 

 

4) 프로토콜

 네트워크 통신에 사용될 프로토콜을 선택하는 탭으로, TCP와 UDP를 선택할 수 있습니다.

 

 이번 네트워크 테스트에는 TCP가 사용되므로 TCP를 선택하였습니다.

 

5) 결과 확인

 분석을 시작하고 1-2분 후면 결과에 따라 "연결 가능" 혹은 "연결 불가능"이라는 상태와 함께,

 트래픽의 흐름을 가시적으로 보여주는 "경로 세부 정보"를 확인할 수 있습니다.

 

 아래의 세부 정보를 통해 "eni-0c2"에서, 보안 그룹 "sg-04c"의 규칙이 적용되지 않아 통신이 불가했다는 것을 알 수 있게 되었습니다!

 

 역시나 Reachability Analyzer에서 알려준 "sg-04c" 보안 그룹을 확인해보니,

 인터넷 통신에 필요한 80(TCP), 443(TCP)이 오픈되어있지 않았었네요!

 

 그럼 이를 수정하고 다시 테스트를 진행해보도록 하겠습니다.

 (기존 분석 결과 탭에서 "분석 재실행"을 선택하면 기존 설정과 동일한 네트워크 테스트를 진행합니다!)

 

아까와는 달리 모두 정상적으로 트래픽이 전달된 것을 확인할 수 있습니다!

 

이제 Reachability Analyzer를 통해 트래픽 정상적 전달 여부 및 전달 경로 등에 대한 정보를 파악할 수 있게 되었습니다.

 

잘만 사용한다면 리소스 수정으로 인한 트래픽 장애 발생시 빠르게 대처할 수 있을 것 같아 유용해보이네요!


지금까지 VPC Reachability Analyzer를 사용하여 네트워크 테스트를 하는 방법에 대해 알아보았습니다.

 

지금까지 긴 글 읽어주셔서 감사합니다!

반응형