Direct Connect 네트워크 성능 문제를 해결하려면 어떻게 해야 합니까?

7분 분량
0

AWS Direct Connect 연결에서 낮은 처리량, 트래픽 대기 시간 및 성능 문제가 발생했습니다.

해결 방법

다음 지침에 따라 네트워크 및 애플리케이션 성능 문제를 격리하고 진단합니다.

참고: 온프레미스 전용 테스트 머신과 Amazon Virtual Private Cloud(Amazon VPC) 를 사용하는 것이 가장 좋습니다. Elastic Compute Cloud(Amazon EC2) 인스턴스 유형 크기 C5 이상을 사용합니다.

네트워크 또는 애플리케이션 문제

iPerf3 도구를 설치 및 사용하여 네트워크 대역폭을 벤치마킹하고, 다른 애플리케이션 또는 도구와 결과를 교차 확인할 수 있습니다.

1.    Linux/REHEL 설치:

$ sudo yum install iperf3 -y

Ubuntu 설치:

$ sudo apt install iperf3 -y

2.    클라이언트와 서버에서 iPerf3를 실행하여 다음과 유사하게 양방향으로 처리량을 측정합니다.

Amazon EC2 인스턴스(서버)

$ iperf3 -s -V

온프레미스 로컬 호스트(클라이언트):

$ iperf3 -c <private IP of EC2> -P 15 -t 15
$ iperf3 -c <private IP of EC2> -P 15 -t 15 -R

$ iperf3 -c <private IP of EC2> -w 256K
$ iperf3 -c <private IP of EC2> -w 256K -R

$ iperf3 -c <private IP of EC2> -u -b 1G -t 15
$ iperf3 -c <private IP of EC2> -u -b 1G -t 15 -R 

----------------
-P, --parallel n
    number of parallel client threads to run; It is critical to run multi-threads to achieve the max throughput.
-R, --reverse
    reverse the direction of a test. So the EC2 server sends data to the on-prem client to measure AWS -> on-prem throughput.
-u, --udp
    use UDP rather than TCP. Since TCP iperf3 does not report loss, UDP tests are helpful to see the packet loss along a path.

TCP 테스트 결과 예제:

[ ID] Interval          Transfer      Bitrate        Retry
[SUM] 0.00-15.00  sec  7.54 GBytes  4.32 Gbits/sec   18112   sender
[SUM] 0.00-15.00  sec  7.52 GBytes  4.31 Gbits/sec           receiver

비트레이트 - 측정된 처리량 또는 전송 속도입니다.

전송 - 클라이언트와 서버 간에 교환되는 총 데이터 양입니다.

재시도—재전송된 패킷 수입니다. 발신자 측에서 재전송이 관찰됩니다.

UDP 테스트 결과 예제:

[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5] 0.00-15.00  sec  8.22 GBytes   4.71 Gbits/sec  0.000 ms   0/986756 (0%)  sender
[  5] 0.00-15.00  sec  1.73 GBytes   989 Mbits/sec   0.106 ms   779454/986689 (79%)  receiver

최대 UDP 데이터그램이 전송되므로 발신자 측의 손실은 0% 입니다.

수신기 측의 손실/총 데이터그램은 손실된 패킷 수와 손실률을 나타냅니다. 이 예제에서는 네트워크 트래픽의 79%가 손실됩니다.

참고: Direct Connect 연결이 퍼블릭 가상 인터페이스(VIF)를 통해 Amazon 가상 사설망(Amazon VPN)을 사용하는 경우, VPN 없이 성능 테스트를 실행하십시오.

지표 및 인터페이스 카운터 확인

Amazon CloudWatch Logs에서 다음 지표를 확인하십시오.

  • ConnectionErrorCount: 합계 통계를 적용하고 0이 아닌 값은 AWS 디바이스의 MAC 수준 오류를 나타냄을 파악합니다.
  • ConnectionLightLevelTx 및 ConnectionLightLevelRx: 시각적 신호 판독값이 -14.4~2.50dBm 범위 내에 있는지 확인하십시오.
  • ConnectionBpsEgress, ConnectionBpsIngress, VirtualInterfaceBpsEgress, 및 VirtualInterfaceBpsIngress: 비트 전송률이 최대 대역폭에 도달하지 않았는지 확인합니다.

자세한 내용은 Direct Connect 지표 및 차원을 참조하십시오.

다른 사용자와 총 대역폭을 공유하는 호스팅된 가상 인터페이스(Hosted VIF)를 사용하는 경우 Direct Connect 소유자에게 연결 사용률에 대해 확인하십시오.

Direct Connect 위치에서, 라우터와 방화벽에서 다음 사항을 확인합니다.

  • CPU, 메모리, 포트 사용률, 드롭, 삭제입니다.
  • “인터페이스 통계 표시” 또는 이와 유사한 기능을 사용하여 CRC, 프레임, 충돌 및 캐리어 등의 인터페이스 입력 및 출력 오류를 확인합니다.
  • 마모된 카운터의 광섬유 패치 리드 및 SFP 모듈을 청소 또는 교체하십시오.

AWS Personal Health Dashboard를 확인하여 Direct Connect 연결이 유지 및 관리되고 있지 않은지 확인합니다.

MTR을 양방향 실행하여 네트워크 경로 확인

Linux MTR 명령을 사용하여 네트워크 성능을 분석할 수 있습니다. Windows OS의 경우, Linux 하위 시스템에 MTR을 설치할 수 있도록 WSL 2를 활성화하는 것이 가장 좋습니다. SourceForge 웹사이트에서 WinMTR을 다운로드할 수 있습니다.

1.    Amazon Linux/REHEL 설치:

$ sudo yum install mtr -y

Ubuntu 설치:

$ sudo apt install mtr -y

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

$ 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

3.    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

MTR 테스트 결과 예제

#ICMP based MTR results
$ mtr -n -c 100 192.168.52.10 --report
Start: Sat Oct 30 20:54:39 2021
HOST:                             Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 10.0.101.222               0.0%   100    0.7   0.7   0.6   0.9   0.0
  2.|-- ???                       100.0   100    0.0   0.0   0.0   0.0   0.0
  3.|-- 10.110.120.2               0.0%   100  266.5 267.4 266.4 321.0   4.8
  4.|-- 10.110.120.1              54.5%   100  357.6 383.0 353.4 423.7  19.6
  5.|-- 192.168.52.10             47.5%   100  359.4 381.3 352.4 427.9  20.6

#TCP based MTR results
$ mtr -n -T -P 80 -c 100 192.168.52.10 --report
Start: Sat Oct 30 21:03:48 2021
HOST:                             Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 10.0.101.222               0.0%   100    0.9   0.7   0.7   1.1   0.0
  2.|-- ???                       100.0   100    0.0   0.0   0.0   0.0   0.0
  3.|-- 10.110.120.2               0.0%   100  264.1 265.8 263.9 295.3   3.4
  4.|-- 10.110.120.1               8.0%   100  374.3 905.3 354.4 7428. 1210.6
  5.|-- 192.168.52.10             12.0%   100  400.9 1139. 400.4 7624. 1384.3

홉의 각 줄은 데이터 패킷이 소스에서 대상으로 전달하는 네트워크 디바이스를 나타냅니다. MTR 테스트 결과를 읽는 방법에 대해 자세히 알아보려면 ExaVault 웹 사이트를 참조하십시오.

다음 예제는 BGP 피어 10.110.120.1 및 10.110.120.2와의 Direct Connect 연결을 보여 줍니다. 손실 비율은 4번째 및 5번째 대상 홉에서 관찰됩니다. Direct Connect 연결 또는 원격 라우터 10.110.120.1에 문제가 있음을 나타낼 수 있습니다. TCP는 Direct Connect 연결을 사용하는 ICMP보다 우선적으로 순위가 지정되므로, TCP MTR 결과의 손실 비율이 더 적습니다.

#ICMP based MTR results
$ mtr -n -c 100 192.168.52.10 --report
Start: Sat Oct 30 20:54:39 2021
HOST:                             Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 10.0.101.222               0.0%   100    0.7   0.7   0.6   0.9   0.0
  2.|-- ???                       100.0   100    0.0   0.0   0.0   0.0   0.0
  3.|-- 10.110.120.2               0.0%   100  266.5 267.4 266.4 321.0   4.8
  4.|-- 10.110.120.1              54.5%   100  357.6 383.0 353.4 423.7  19.6
  5.|-- 192.168.52.10             47.5%   100  359.4 381.3 352.4 427.9  20.6

#TCP based MTR results
$ mtr -n -T -P 80 -c 100 192.168.52.10 --report
Start: Sat Oct 30 21:03:48 2021
HOST:                             Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 10.0.101.222               0.0%   100    0.9   0.7   0.7   1.1   0.0
  2.|-- ???                       100.0   100    0.0   0.0   0.0   0.0   0.0
  3.|-- 10.110.120.2               0.0%   100  264.1 265.8 263.9 295.3   3.4
  4.|-- 10.110.120.1               8.0%   100  374.3 905.3 354.4 7428. 1210.6
  5.|-- 192.168.52.10             12.0%   100  400.9 1139. 400.4 7624. 1384.3

다음 예제는 로컬 방화벽 또는 NAT 디바이스 패킷 손실을 5%로 보여 줍니다. 패킷 손실은 대상을 포함하는 모든 후속 홉에 영향을 미칩니다.

$ mtr -n -c 100 192.168.52.10 --report
Start: Sat Oct 30 21:11:22 2021
HOST:                              Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 10.0.101.222               5.0%   100    0.8   0.7   0.7   1.1   0.0
  2.|-- ???                       100.0   100    0.0   0.0   0.0   0.0   0.0
  3.|-- 10.110.120.2               6.0%   100  265.7 267.1 265.6 307.8   5.1
  4.|-- 10.110.120.1               6.0%   100  265.1 265.2 265.0 265.4   0.0
  5.|-- 192.168.52.10              6.0%   100  266.7 266.6 266.5 267.2   0.0

패킷 캡처 및 결과 분석

로컬 호스트 및 EC2 인스턴스에서 패킷 캡처를 수행합니다. tcpdump 또는Wireshark 유틸리티를 사용하여 분석할 네트워크 트래픽을 가져옵니다. 다음 tcpdump 예제 명령은 타임스탬프와 호스트 IP 주소를 가져옵니다.

tcpdump -i <network interface> -s0 -w $(date +"%Y%m%d_%H%M%S").$(hostname -s).pcap port <port>

Switch 웹 사이트의 TCP 처리량 계산기를 사용하여 네트워크 제한, 대역폭 지연 제품 및 TCP 버퍼 크기를 계산합니다.

자세한 내용은 AWS Direct Connect 문제 해결을 참조하세요.


관련 정보

호스팅 VIF(가상 인터페이스)와 호스팅 연결의 차이점은 무엇입니까?

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