Amazon OpenSearch Service에서 HTTP 503 Service Unavailable 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 7월 30일

Amazon OpenSearch Service(Amazon Elasticsearch Service 후속) 도메인을 쿼리하면 HTTP 503 Service Unavailable 오류가 발생합니다. 이 오류를 해결하려면 어떻게 해야 합니까?

간략한 설명

각 OpenSearch Service 도메인 앞에는 로드 밸런서가 있습니다. 데이터 노드에 수신되는 트래픽을 분산합니다. HTTP 503 오류는 클러스터에서 하나 이상의 데이터 노드가 오버로드되었음을 나타냅니다. 느린 쿼리 또는 수신 트래픽으로 인해 노드가 오버로드되면 다른 수신 요청을 처리할 수 있는 용량이 부족해 집니다.

참고: Amazon CloudWatch에 있는 RequestCount 지표를 사용하여 HTTP 응답 코드를 추적할 수 있습니다.

해결 방법

HTTP 503 오류를 해결하려면 다음 방법 중 하나를 사용합니다.

더 많은 컴퓨팅 리소스 프로비저닝

쿼리의 리소스 사용률을 줄임

  • 샤드 및 클러스터 아키텍처에 대한 모범 사례를 따르고 있는지 확인합니다. 클러스터가 잘못 설계되어 사용 가능한 리소스를 모두 사용하지 못합니다. 일부 노드는 다른 노드가 유휴 상태로 있는 동안 오버로드될 수 있습니다. OpenSearch Service는 오버로드된 노드에서 문서를 가져올 수 없습니다. 샤드 및 클러스터 모범 사례에 대한 자세한 내용은 Get Started with Amazon OpenSearch Service: How Many Shards Do I Need?를 참조하세요.
  • 도메인에 대한 동시 요청 수를 줄입니다.
  • 쿼리 범위를 줄입니다. 예를 들어, 특정 시간 프레임에 대한 쿼리를 실행하는 경우 날짜 범위를 줄입니다. OpenSearch 대시보드에서 인덱스 패턴을 구성하여 결과를 필터링할 수도 있습니다.
  • 대량의 인덱스에 대해 select * 쿼리를 실행하지 않습니다. 대신 필터를 사용하여 인덱스의 일부를 쿼리하고 가능한 한 적은 수의 필드를 검색합니다.
  • 샤드 수를 다시 인덱싱하고 줄입니다. 클러스터에 샤드가 많을수록 courier fetch 오류가 발생할 가능성이 높습니다. 각 샤드에는 자체 리소스 할당과 오버헤드가 있기 때문에 많은 수의 샤드는 클러스터에 과도한 부담을 줄 수 있습니다. 샤드의 수를 줄이려면 Amazon OpenSearch Service 도메인이 ‘진행 중’ 상태에서 멈춘 이유는 무엇입니까?를 참조하세요.