VPC의 Amazon EC2 Windows 인스턴스와 인터넷 게이트웨이를 통한 온프레미스 호스트 간의 네트워크 성능 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 10월 7일

Amazon EC2(Amazon Elastic Compute Cloud) Windows 인스턴스와 인터넷 게이트웨이를 통한 온프레미스 호스트 간의 네트워크 성능 문제가 발생합니다. 이러한 패킷 손실 또는 지연 시간 문제를 해결하려면 어떻게 해야 합니까?

해결 방법

참고: 문제 해결을 시작하기 전에 소스 및 대상 IP 주소를 확인합니다. 대상이 URL인 경우, nslookup 명령을 사용하여 IP 주소를 확인합니다. 일부 URL은 동적 IP 주소를 사용하므로 IP 주소가 변경될 수 있습니다. 명령을 여러 번 실행하여 IP 주소가 일정한지 확인합니다.

ECN 기능 확인

1. 다음 명령을 실행하여 ECN(명시적 혼잡 알림) 기능이 활성화되어 있는지 확인합니다.

netsh interface tcp show global

2. ECN 기능이 활성화된 경우 다음 명령을 실행하여 비활성화합니다.

- netsh interface tcp set global ecncapability=disabled

3. 성능 개선이 보이지 않으면 다음 명령을 사용하여 ECN 기능을 다시 활성화할 수 있습니다.

netsh interface tcp set global ecncapability=enabled

홉 검토 및 TCP 포트 연결 문제 해결

먼저 MTR 또는 tracert를 사용하여 홉을 검토합니다.

MTR 메서드

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

2.    [Host] 섹션에 대상 IP를 입력한 다음 [Start]를 선택합니다.

3.    테스트를 1분 동안 실행한 후 [Stop]을 선택합니다.

4.    [Copy text to clipboard]를 선택하고 출력을 텍스트 파일에 붙여 넣습니다.

5.    대상으로 전파되는 % 열에서 손실을 찾습니다.
참고:  [No response from host] 메시지가 있는 홉을 무시합니다. 이 메시지는 이러한 특정 홉이 ICMP 프로브에 응답하지 않음을 나타냅니다.

6.    상향식 접근 방식을 사용하여 MTR 보고서의 홉을 검토합니다. 예를 들어 마지막 홉 또는 대상에서 손실이 있는지 확인하고 그 앞의 홉을 검토합니다.

tracert 메서드

MTR을 설치하지 않으려는 경우 tracert 명령 유틸리티 도구를 사용할 수 있습니다.

1.    대상 URL 또는 IP 주소에 대한 tracert를 수행합니다.

2.    왕복 시간(RTT)의 갑작스러운 스파이크를 보여주는 홉을 찾습니다. RTT의 갑작스러운 스파이크는 부하가 높은 노드가 있다는 것을 의미할 수 있으며, 이로 인해 트래픽에 지연 시간 또는 패킷 드롭이 유발될 수 있습니다.

그런 다음 TCP 포트 연결을 확인합니다.
참고: WinMTR과 tracert 모두 ICMP 기반이므로 tracetcp를 사용하여 TCP 포트 연결 문제를 해결할 수 있습니다.

1.    WinPcaptracetcp를 다운로드합니다.

2.    Tracetcp ZIP 파일의 압축을 풉니다.

3.    tracetcp.exe를 C 드라이브에 복사합니다.

4.    WinPcap을 설치합니다.

5.    C:\Users\username>cd \ 명령을 사용하여 명령 프롬프트를 열고 C 드라이브에 대한 WinPcap을 루트 지정합니다.

6.    tracetcp.exe hostname: port 또는 tracetcp.exe ip: port 명령을 사용하여 tracetcp를 실행합니다

Windows 작업 관리자 확인

원본 인스턴스 또는 대상 인스턴스에 액세스할 수 있는 경우 Windows 작업 관리자를 확인합니다. CPU 및 메모리 사용률 또는 평균 로드 문제를 찾습니다.

패킷 캡처

참고: 우선 패킷 캡처를 시작한 다음 트래픽을 시작하는 것이 좋습니다. 이 접근 방식은 흐름에 대한 모든 패킷을 캡처하는 데 도움이 됩니다.

1.    Wireshark를 설치하고 패킷 캡처를 수행합니다.

2.    [(ip.addr eq source_IP)& &(tcp.flags.syn = = 1)] 필터를 사용하여 패킷 캡처에서 특정 소스 간의 트래픽을 격리합니다. 출력에는 해당 소스 IP에서 시작된 모든 tcp 스트림이 표시됩니다.

3.    관련 소스 IP 및 대상 IP가 있는 행을 선택합니다.

4.    컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 선택한 다음 Follow, TCP Stream을 선택합니다. 그러면 소스 IP와 대상 IP 간에 TCP 흐름이 발생하여 조사를 수행할 수 있습니다.

5.    재전송, 중복 패킷 또는 TCP 창 크기 알림(예: TCP 창 가득 참 또는 창 크기 0)을 찾습니다. 이러한 알림은 TCP 버퍼에 공간이 부족함을 나타낼 수 있습니다.