DAX 클라이언트에서 “표시할 수 있는 엔드포인트 없음” 오류를 해결하려면 어떻게 해야 하나요?

2분 분량
0

Amazon DynamoDB Accelerator(DAX)에 “표시할 수 있는 엔드포인트 없음”이라는 오류가 나타납니다.

간략한 설명

클라이언트에 DAX 클러스터 노드로 네트워크 경로가 없을 때 "표시할 수 있는 엔드포인트 없음"오류가 발생합니다. 이 오류는 클러스터가 다운되었거나 CPU 사용률이 높은 경우에 발생할 수 있습니다.

다음은 이 오류가 발생하는 몇 가지 예입니다.

  • DAX 노드 상태 확인 실패: 노드에 CPU 부하가 높아 클라이언트가 클러스터 노드에 상태 확인을 수행할 수 없습니다.

  • 각 노드에 I/O 예외가 연속적으로 여러 번 발생: DAX 클라이언트가 서버 노드가 다운되었는지 확인하기 위해 I/O 예외 수를 셉니다. 클라이언트가 구성 엔드포인트에서 서버 노드 목록을 검색합니다. 서버 노드에서 장애를 5회 이상 수신하면 클라이언트가 활성 서버 노드 목록에서 해당 노드를 제거합니다. 서버에 있는 노드가 이 방식으로 모두 제거되면 클라이언트의 활성 노드 목록이 비게 됩니다. 이에 대한 응답으로 클라이언트에서 "표시할 수 있는 엔드포인트 없음" 오류를 표시합니다.

해결 방법

이 오류를 해결하려면 다음 문제 해결 단계를 따르세요.

  • DAX 클라이언트에는 활성 서버 노드 목록을 새로 고치는 스레드가 있습니다. 목록에서 활성 노드를 복원하려면 새로 고침옵션을 사용합니다.

  • 클라이언트의 트래픽 패턴에 따라 RequestTimeout을 놀립니다. 자세한 내용은 대기 시간에 맞는 Amazon DynamoDB 애플리케이션을 구성하기 위해 AWS Java SDK HTTP 요청 설정 조정을 참고하세요.

  • 상태 확인 간격을 늘립니다. 상태 확인 간격의 기본 값은 5초입니다.

    참고: 이 간격을 늘리면 socket-timeout-exception으로 인해 엔드포인트가 제거된 경우에만 엔드포인트가 클라이언트 쪽 엔드포인트 집합에 다시 들어갑니다.

  • 이 오류가 발생하는 빈도를 줄이려면 더 큰 인스턴스 유형으로 스케일 업하세요. 또는 클러스터에 노드를 더 추가해 스케일 아웃하세요.

  • 이 오류는 단일 노드 클러스터에서 발생할 가능성이 더 큽니다. 클러스터에 노드가 하나만 있는 경우 클러스터를 스케일 아웃하세요. 각 노드를 다른 가용성 영역에 배치하세요.

관련 정보

ClientConfig(DAX)

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