내용으로 건너뛰기

OpenSearch Service 도메인이 "수정 중" 상태에서 멈춘 이유는 무엇입니까?

4분 분량
0

"수정 중" 상태에서 멈춘 Amazon OpenSearch Service 클러스터의 문제를 해결하려고 합니다.

해결 방법

수정 중 상태에서 멈춘 도메인의 문제를 해결하려면 발생한 문제에 따라 다음과 같은 문제 해결 작업을 수행하십시오.

오류로 인한 검증 확인 실패

구성 변경을 시작하면 OpenSearch Service에서 검증 확인을 수행하여 도메인이 업그레이드에 적합한지 확인합니다. 검증에 실패하면 도메인은 수정 중 상태로 유지됩니다. 이 문제를 해결하려면 발생한 오류에 대한 문제 해결 단계를 완료하십시오. 그런 다음, 구성 변경을 다시 시도하십시오.

여러 구성 변경을 시작했음

기존 구성 변경이 진행 중인 경우에는 새 구성 변경을 적용할 수 없습니다. 여러 구성을 업데이트하려면 단일 요청에 모든 변경 사항을 포함하십시오. 변경 사항을 동시에 제출하면 ‘A change is already in progress’라는 오류 메시지가 표시됩니다.

검증 확인은 구성 변경 기간 동안 유효합니다. 구성이 검증 단계를 통과한 경우 초기 변경이 완료될 때까지 도메인에 필요한 리소스를 수정하지 마십시오. 예를 들면 암호화에 사용하는 AWS Key Management Service(AWS KMS)를 비활성화하지 마십시오.

VPC의 서브넷에 사용 가능한 IP 주소가 없음

사용 가능한 IP 주소가 충분하지 않은 경우 가상 프라이빗 클라우드(VPC) 서브넷 CIDR 블록에 새 IP 주소를 확보하거나 추가하십시오.

새 데이터 노드 세트로 샤드 마이그레이션이 완료되지 않음

샤드 마이그레이션 진행 상황 확인

OpenSearch Service는 새 리소스를 생성한 후 샤드를 새 데이터 노드로 마이그레이션하기 시작합니다. 이 프로세스는 클러스터 로드 및 크기에 따라 몇 분에서 몇 시간이 걸릴 수 있습니다.

샤드 마이그레이션 상태를 모니터링하려면 다음 명령을 실행합니다.

GET /DOMAIN_ENDPOINT/_cat/recovery?active_only=true&v

참고: DOMAIN_ENDPOINT를 도메인 엔드포인트로 바꾸십시오. OpenSearch 대시보드를 사용하여 위 명령을 실행하는 경우 **/DOMAIN_ENDPOINT/**를 제거하십시오.

OpenSearch Service 클러스터가 빨간색 클러스터 상태인 경우 샤드 마이그레이션이 실패합니다. 이 문제를 해결하려면 OpenSearch Service 클러스터가 빨간색 또는 노란색 상태인 이유는 무엇입니까?를 참조하십시오.

샤드 크기를 보려면 다음 명령을 실행합니다.

GET /_cat/shards?v

그 후 다음 명령을 실행하여 각 노드에 할당된 샤드 수를 확인합니다.

GET /_cat/allocation?v

새 노드에 필요한 모든 샤드가 없는 경우 다음 명령을 실행하여 원인을 파악합니다.

GET /_cluster/allocation/explain?pretty

자세한 내용은 OpenSearch 웹 사이트에서 CAT 샤드 API, CAT 할당 API클러스터 할당 설명 API를 참조하십시오.

OpenSearch Service 모범 사례 사용

샤드 마이그레이션 속도를 높이려면 다음 모범 사례를 준수하십시오.

  • 필요에 맞는 샤드 전략을 사용합니다.
  • 인덱스의 샤드 수를 선택할 때 성장 및 워크로드 유형을 계획합니다.
  • 클러스터의 CPUJava 가상 머신(JVM) 메모리 압력이 너무 높지 않은지 확인합니다.
  • 새 노드 세트에 사용 가능한 스토리지 공간이 충분한지 확인합니다. 저장소 공간을 확보하려면 더 이상 필요하지 않은 인덱스를 삭제합니다. 설명은 OpenSearch 웹 사이트에서 인덱스 삭제 API를 참조하십시오.
    참고: 블루/그린 배포 프로세스 중에 클러스터에 새 데이터를 추가하면 스토리지 공간 문제가 발생할 수 있습니다. 또는 이전 노드에 OpenSearch Service에서 새 노드에 할당할 수 없는 대규모 샤드가 있는 경우 이러한 문제가 발생합니다.

할당 재시도 값 업데이트

샤드가 최대 재시도 횟수를 초과하고 노드에 할당되지 않은 상태로 남아 있는 경우, 할당을 다시 시도하십시오. 기본적으로 클러스터는 샤드에 최대 5회의 재시도를 연속으로 할당합니다.

샤드의 재시도 횟수를 늘리려면 다음 명령을 실행합니다.

PUT INDEX_NAME/_settings  {
    "index.allocation.max_retries" : 10
}

참고: INDEX_NAME을 인덱스 이름으로 바꾸고 10을 재시도 횟수로 바꾸십시오.

인덱스 설정에서 문제가 있는지 확인

내부 하드웨어 장애로 인해 기존 데이터 노드의 샤드가 마이그레이션 중에 중단될 수 있습니다. OpenSearch Service는 하드웨어 문제에 따라 스크립트를 실행하여 노드를 자동으로 정상 상태로 되돌립니다. 샤드를 기존 노드 세트에 고정하면 샤드 마이그레이션이 중단될 수 있습니다.

샤드가 어떤 노드에도 고정되어 있지 않은지 확인하려면 다음 명령을 실행하여 인덱스 설정을 확인합니다.

GET /DOMAIN_ENDPOINT/_cluster/allocation/explain?pretty
GET /DOMAIN_ENDPOINT/INDEX_NAME/_settings?pretty

참고: DOMAIN_ENDPOINT를 도메인 엔드포인트로 바꾸고 INDEX_NAME을 인덱스로 바꾸십시오. OpenSearch 대시보드를 사용하여 위 명령을 실행하는 경우 **/DOMAIN_ENDPOINT/**를 제거하십시오.

출력에서 다음 설정을 확인하여 노드에 고정된 샤드를 식별하십시오.

"index.routing.allocation.require._name": "NODE_NAME"
"index.blocks.write": true

참고: NODE_NAME을 노드 이름으로 바꾸십시오.

**"index.routing.allocation.require._name": "NODE_NAME"**이 인덱스 설정에 표시되면 다음 명령을 실행하여 설정을 재설정합니다.

PUT INDEX_NAME/_settings  {
    "index.routing.allocation.require._name": null
}

참고: DOMAIN_ENDPOINT를 도메인 엔드포인트로 바꾸고 INDEX_NAME을 인덱스로 바꾸십시오.

인덱스의 샤드 설정에 대한 자세한 내용은 Elastic 웹 사이트에서 인덱스 수준 샤드 할당을 참조하십시오.

인덱스 설정에 "index.blocks.write": true가 표시되면 인덱스에 쓰기 블록이 있는 것입니다. 이 쓰기 블록 문제는 ClusterBlockException 오류로 인해 발생할 수 있습니다. 이 문제를 해결하려면 OpenSearch Service에서 403 ‘index_create_block_exception’ 또는 ‘cluster_block_exception’ 오류를 해결하려면 어떻게 해야 합니까?를 참조하십시오.

구성 변경 진행 상황을 모니터링하려면 DescribeDomainChangeProgress API를 실행합니다. 수정 중 상태로 멈춘 클러스터 또는 이전 리소스 삭제 중 상태로 24시간 이상 멈춘 도메인의 경우 AWS Support 사례를 만드십시오.

AWS 공식업데이트됨 5달 전