Direct Connect 연결의 패킷 손실 문제를 해결하려면 어떻게 해야 합니까?

6분 분량
0

AWS Direct Connect를 사용하여 데이터를 전송하고 있습니다. Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스로 데이터를 전송하는 도중 패킷 손실이 발생했습니다. 패킷 손실을 격리해야 합니다.

해결 방법

패킷 손실은 전송된 데이터 패킷이 목적지에 도착하지 못할 때 발생하며 네트워크 성능 문제를 일으킵니다. 패킷 손실은 목적지의 낮은 신호 강도, 과도한 시스템 사용률, 네트워크 정체 또는 네트워크 경로 구성 오류로 인해 발생합니다.

네트워크 장치와 Direct Connect 연결에 대한 다음 검사를 실행합니다.

AWS Personal Health Dashboard에서 예약된 유지 보수 또는 이벤트 확인

AWS Personal Health Dashboard에는 유지 관리 중인 리소스 관련 정보가 표시되며 활동에 대한 알림도 제공됩니다. 자세한 내용은 Direct Connect의 예정된 유지 보수 또는 이벤트에 대한 알림을 받으려면 어떻게 해야 하나요?를 참조하세요.

Direct Connect 엔드포인트, 고객 게이트웨이 및 중간 장치에 대한 지표 확인(1계층)

고객 게이트웨이 및 중간 장치의 경우, 온프레미스 네트워크 또는 AWS로의 전송 경로가 문제일 수 있습니다. 온프레미스 노드 및 중간 장치에서 다음을 확인하세요.

  • 인터페이스 플랩에 대한 고객 게이트웨이 로그
  • 문제 발생 시 고객 게이트웨이에 대한 CPU 사용률
  • Direct Connect 연결이 종료되는 장치의 표시등 신호
  • 입력 오류, 증분 프레이밍 오류, 순환 중복(CRC) 오류, 런트, 자이언트 또는 스로틀에 의해 Direct Connect 연결이 종료되는 장치

Direct Connect 연결 지표 확인(1계층)

다음 Direct Connect 지표를 확인합니다.

  • ConnectionErrorCount: 이 지표의 합계 통계를 적용합니다. 0이 아닌 값은 AWS 장비의 MAC 수준 오류를 나타냅니다.
  • ConnectionLightLevelTX 및 ConnectionLightLevelRX: 문제가 발생했을 때 Direct Connect 연결에 기록된 표시등 신호를 확인합니다. 허용 범위는 -14.4dBm~2.50dBm입니다.
  • ConnectionBpsEgress 및 ConnectionBpsIngress: 링크의 정체 때문에 패킷 손실이 발생했을 때 Direct Connect 연결의 트래픽 양을 확인합니다. 인터페이스 용량을 100% 사용하는 경우 패킷 손실 초과 트래픽이 발생할 수 있습니다.

자세한 내용은 Direct Connect 연결 지표를 참조하세요.

비대칭 차선 라우팅 확인(3계층)

비대칭 라우팅은 네트워크 트래픽이 한 연결을 통해 들어오고 다른 연결을 통해 나갈 때 발생합니다. 온프레미스 방화벽이 유니캐스트 역방향 경로 전달을 수행하는 경우, 이 라우팅이 패킷 손실을 유발할 수 있으며 이로 인해 네트워크 트래픽이 삭제될 수 있습니다.

  • 백업 중복 Direct Connect 연결 또는 백업 AWS Site-to-Site VPN 연결이 있는 경우 발생할 수 있는 비대칭 라우팅이 있는지 확인합니다.
  • 백업 Site-to-Site VPN 연결이 있고 Direct Connect 및 VPN 연결에 모두 비슷한 접두사를 알린다고 가정해 보겠습니다. 이 경우 AWS에서 온프레미스로 향하는 트래픽은 Direct Connect를 통해 라우팅됩니다. 비대칭 라우팅을 방지하려면 Direct Connect를 통해서만 트래픽을 온프레미스에서 AWS로 전송해야 합니다.
  • 백업 Direct Connect 연결이 있는 경우 두 Direct Connect 연결을 통해 접두사를 알리는 방법에 따라 비대칭 라우팅이 발생할 수 있습니다.
  • 온프레미스 네트워크를 통한 차선 라우팅은 패킷 손실을 초래할 수 있습니다.

자세한 내용은 Transit Gateway에서 Direct Connect에 대한 백업으로 VPN을 만들 때 비대칭 라우팅 문제를 해결하려면 어떻게 해야 하나요?를 참조하세요.

온프레미스 호스트 및 AWS 호스트 간의 엔드투엔드 양방향 추적 경로(3계층)

호스트 간 추적 경로를 실행하면 양방향 네트워크 경로가 확인됩니다. 추적 결과에 따라 라우팅이 비대칭인지, 로드 밸런싱되는지 등을 확인할 수도 있습니다.

1.    다음 명령을 실행하여 traceroute를 설치합니다.

Linux:

sudo yum install traceroute

Ubuntu:

sudo apt-get install traceroute

2.    TCP traceroute를 위해 다음과 비슷한 명령을 실행합니다.

sudo traceroute -T -p <destination Port> <IP of destination host>

Windows OS:

  1. WinPcap 및 tracetcp를 다운로드합니다.
  2. Tracetcp ZIP 파일의 압축을 풉니다.
  3. tracetcp.exe를 C 드라이브로 복사합니다.
  4. WinPcap을 설치합니다.
  5. 명령 프롬프트를 열고 C:\Users\username>cd \ 명령을 사용하여 WinPcap의 루트를 C 드라이브로 설정합니다.
  6. tracetcp.exe hostname:port 또는 tracetcp.exe ip:port 명령을 사용하여 tracetcp를 실행합니다.

온프레미스 호스트 및 AWS 호스트 간의 엔드투엔드 양방향 MTR 테스트(3계층)

MTR 테스트는 호스트 간 네트워크 연결 경로에서 각 라우터를 검색할 수 있도록 하는 traceroute와 비슷합니다. MTR 테스트는 패킷 손실과 같은 경로의 각 노드에 대한 정보도 제공합니다.

패킷 손실 및 네트워크 지연에 대한 MTR 결과를 확인합니다. 한 홉에서의 네트워크 손실률은 라우터의 문제를 나타낼 수 있습니다. 일부 서비스 제공업체는 MTR이 사용하는 ICMP 트래픽을 제한합니다. 패킷 손실이 속도 제한에 따른 것인지 확인하려면 후속 홉을 검토합니다. 후속 홉의 손실이 0.0%인 경우, 이는 ICMP 속도 제한을 의미할 수 있습니다.

1.    다음 명령을 실행하여 MTR을 설치합니다.

Amazon Linux/REHEL:

$ sudo yum install mtr -y

Ubuntu:

sudo apt install mtr -y

Windows OS:

WinMTR을 다운로드하고 설치합니다.

참고: Windows OS의 경우 WinMTR은 TCP 기반 MTR을 지원하지 않습니다.

2.    온프레미스에서 AWS로의 방향의 경우, 온프레미스 호스트에서 MTR을 실행합니다(ICMP 및 TCP 기반).

$ mtr -n -c 100 <private IP of EC2> --report
$ mtr -n -T -P <EC2 instance open TCP port> -c 100 <private IP of EC2> --report
  1. AWS에서 온프레미스로의 방향의 경우, EC2 인스턴스(ICMP 및 TCP 기반)에서 MTR을 실행합니다.
$ mtr -n -c 100 <private IP of the local host> --report
$ mtr -n -T -P <local host open TCP port> -c 100 <private IP of the local host> --report

온프레미스 호스트 및 AWS 호스트 간 경로 MTU 검토(3계층)

Maximum Transmission Unit(MTU)는 네트워크 연결을 통해 전달되는 패킷의 최대 허용 가능 크기입니다. MTU 크기보다 큰 패킷은 인터페이스에서 삭제됩니다. 따라서 패킷이 너무 크면 패킷 손실이 발생할 수 있습니다.

Path MTU Discovery(PMTUD)는 MTU 경로를 결정합니다. 자세한 내용은 Path MTU Discovery를 참조하세요.

tracepath를 사용하여 두 호스트 간의 경로 MTU를 확인할 수 있습니다.

1.    온프레미스에서 AWS로의 방향의 경우, 로컬 호스트(포트 80)에서 tracepath를 실행합니다.

$ tracepath -n -p 80 <EC2 private instance IP>

2.    AWS에서 온프레미스로의 방향의 경우, EC2 인스턴스(포트 80)에서 tracepath를 실행합니다.

$ tracepath -n -p 80 <private IP of local host>

BGP에서 발생할 수 있는 라우팅 문제 확인

Direct Connect 연결은 AWS와 온프레미스 간의 라우팅 및 통신에 동적 라우팅 프로토콜인 Border Gateway Protocol(BGP)을 사용합니다.

BGP에 간헐적인 패킷 손실을 일으킬 수 있는 일반 플랩이 있는지 확인합니다.

AWS에서 고객 네트워크로 학습된 경로의 경로 수명을 고객 게이트웨이 장치에서 확인합니다. 고객 게이트웨이 장치에서 경로를 새로 고치면 BGP 경로 테이블에서 경로 수명이 업데이트됩니다. 이 정보를 검토하여 경로를 새로 고칠 때 잠시 패킷 손실이 발생했는지 확인할 수 있습니다.

Cisco 라우터에서 라우팅 수명을 확인하려면 다음 명령을 실행합니다.

Router#sh ip bgp 1.1.1.1       
BGP routing table entry for 1.1.1.1/32, version 3
Paths: (1 available, best #1, table default)
  Not advertised to any peer
  Refresh Epoch 1
  64512, (received & used)
    169.254.92.181 from 169.254.92.181 (169.254.92.181)
      Origin IGP, metric 100, localpref 100, valid, external, best
      rx pathid: 0, tx pathid: 0x0
      Updated on Mar 31 2023 08:08:00 UTC    >> Last time that the route was updated

-또는-

Router#sh ip route | in 1.1.1.1
B    1.1.1.1 [20/100] via 169.254.92.181, 01:37:46   >> You can see the route age or when the route was last refreshed

호스팅 연결을 사용하는 경우, 파트너 또는 서비스 제공업체에 문의하여 해당 업체의 유지 보수 작업으로 인해 패킷 손실이 발생하는지 확인하세요.

관련 정보

네트워크 인터페이스 구성 모범 사례

인터넷 게이트웨이 또는 NAT 게이트웨이를 통해 AWS에서 온프레미스 네트워크로의 패킷 손실 및 지연 시간을 모니터링하려면 어떻게 해야 하나요?

AWS Direct Connect 문제 해결

Direct Connect 네트워크 성능 문제를 해결하려면 어떻게 해야 하나요? WinPcap 및 tracetcp 다운로드

AWS 공식
AWS 공식업데이트됨 일 년 전