내 NAT 게이트웨이의 ErrorPortAllocation 오류를 해결하려면 어떻게 해야 합니까?

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

내 NAT 게이트웨이에 ErrorPortAllocation 오류가 발생하며 내 대상 포트에 대한 여러 개의 동시 연결이 실패합니다. 이 포트 할당 오류를 해결하려면 어떻게 해야 합니까?

간략한 설명

NAT 게이트웨이는 각 대상에 대해 분당 최대 55,000개의 동시 연결을 지원합니다. 이 임계값을 초과할 경우 해당 대상에 대한 새 연결이 실패하고 Amazon CloudWatch에서 해당 NAT 게이트웨이에 대한 ErrorPortAllocation 지표 값이 증가합니다. 다음 지침을 사용하여 이러한 오류를 유발하는 소스 클라이언트와 대상을 찾습니다. 그런 다음 단계를 따라 문제를 해결합니다.

​해결 방법

클라이언트 및 해당 연결 대상 찾기

1. CloudWatch 콘솔을 엽니다.

2. 탐색 창에서 [Insights]를 선택합니다.

3. 드롭다운에서 로그 그룹을 선택합니다.

4. 트래픽이 전송되는 대상 위치를 찾으려면 아래의 필터를 사용합니다. 참고: xxx.xxx.를 VPC CIDR의 처음 두 옥텟으로 교체하십시오. 또한 NAT gateway Private IP를 해당 NAT 게이트웨이의 프라이빗 IP로 대체하십시오.

filter (srcAddr like 'NAT gateway Private IP' and dstAddr not like 'xxx.xxx.')
| stats count(*) as numaccept by dstAddr
| sort numaccept desc
| limit 10

결과는 포트 할당 오류를 수신한 기간 동안 가장 많은 수의 Accept 응답이 발생한 대상 IP를 보여줍니다.

5. 어느 소스 클라이언트가 이 대상에 트래픽을 전송하는지 찾으려면 아래의 필터를 사용합니다. 참고: xxx.xxx.를 VPC CIDR의 처음 두 옥텟으로 교체하십시오. 또한 Public IP from above filter를 이전 쿼리에서 수신한 대상 IP로 대체하십시오.

filter (dstAddr like 'Public IP from above filter' and srcAddr like 'xxx.xxx.') 
| stats sum(bytes) as bytesTransferred by srcAddr, dstAddr
| sort bytesTransferred desc
| limit 10

포트 할당 오류 해결을 위한 단계 수행

  • 각 가용 영역에 하나의 NAT 게이트웨이를 만든 다음 가용 영역 전체에 클라이언트를 분산합니다. 교차 가용 영역 데이터 비용을 줄이기 위해 클라이언트와 동일한 가용 영역에 있는 NAT 게이트웨이를 사용하여 트래픽을 인터넷으로 라우팅합니다.
  • CloudWatch에서 IdleTimeoutCount 지표의 값이 증가하는 것이 보이는 경우, 애플리케이션 또는 프라이빗 인스턴스가 유효 연결을 종료하여 NAT 게이트웨이가 새 연결에 소스 포트를 할당할 수 있도록 구성합니다.
  • 클라이언트가 단일 대상에 설정할 수 있는 연결의 수를 제한합니다.
  • 동일한 리전의 Amazon S3(Amazon Simple Storage Service) 또는 Amazon DynamoDB 퍼블릭 IP에 트래픽이 전송되는 경우, NAT 게이트웨이 대신 게이트웨이 VPC 엔드포인트를 사용합니다. 게이트웨이 VPC 엔드포인트를 사용할 때는 데이터 처리 요금이나 시간당 요금이 부과되지 않습니다.
  • 인터페이스 VPC 엔드포인트를 지원하는 AWS 서비스에 대한 퍼블릭 IP에 트래픽이 전송되는 경우, NAT 게이트웨이 대신 인터페이스 VPC 엔드포인트를 사용합니다.

이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?