Amazon Elasticsearch Service 도메인 업그레이드가 너무 오래 걸리는 이유는 무엇입니까?

최종 업데이트 날짜: 2020년 11월 25일

Amazon Elasticsearch Service(Amazon ES) 클러스터를 업그레이드하려고 하지만 업그레이드에 시간이 오래 걸립니다. 이런 일이 발생하는 이유와 Amazon ES에서 클러스터 업그레이드 상태를 더 잘 모니터링할 수 있는 방법은 무엇인가요?

간략한 설명

Amazon ES에서 구성을 변경하면 블루/그린 배포 프로세스가 사용됩니다. 블루/그린 배포에서는 두 개의 프로덕션 환경이 실행됩니다. 하나는 라이브이고 다른 하나는 유휴 상태입니다. 그런 다음 소프트웨어 업데이트에 따라 두 프로덕션 환경이 전환됩니다. Amazon ES의 경우 도메인 업데이트 중에 새 환경이 생성되고 업데이트가 완료된 후 사용자는 새 프로덕션 환경으로 라우팅됩니다. 이를 통해 가동 중지 시간이 최소화되고 배포 실패 시 원래 환경이 유지됩니다.

Amazon ES에서 클러스터 업그레이드 상태를 더 잘 모니터링하려면 각 단계에서 블루/그린 배포 프로세스를 모니터링합니다.

  • 새 노드 생성
  • 데이터 마이그레이션
  • 이전 노드 제거

해결 방법

모든 클러스터 스냅샷 및 노드 ID 검색

마이그레이션 전에 Amazon ES는 자격 테스트를 통과하면 클러스터의 자동화된 스냅샷을 생성합니다. 스냅샷 중에 진행률 상태가 “null” 또는 0%로 표시될 수 있습니다. 스냅샷이 생성된 후 백분율 값이 업데이트됩니다. 스냅샷을 완료하는 데 걸리는 시간은 스토리지 공간에 따라 다를 수 있습니다. 스냅샷은 점진적으로 생성되기 때문에 이전의 자동화된 스냅샷에서 데이터가 크게 변경된 경우 스냅샷을 완료하는 데 시간이 오래 걸릴 수 있습니다.

다음 _snapshot 요청은 현재 실행 중인 모든 스냅샷을 세부 상태 정보와 함께 검색합니다.

GET /_snapshot/_status

스냅샷 API에 대한 자세한 내용은 Elasticsearch 웹 사이트에서 스냅샷 모니터링 및 진행률 복원을 참조하세요.

Elasticsearch 클러스터에서 현재 실행 중인 모든 스냅샷을 검색하려면 current 파라미터를 사용합니다.

GET /_snapshot/<snapshot-repository>/_current

모든 데이터 노드의 ID를 검색하려면 cat 노드 API를 사용합니다.

GET _cat/nodes

노드 ID를 사용하여 이전 노드와 새 노드를 식별할 수 있습니다. 새 노드의 샤드 수가 증가하면 마이그레이션이 원활하게 이루어지고 있는 것입니다. 결국, 모든 샤드는 새 노드로 이동하고 이전 노드는 비어 있습니다.

블루/그린 배포 프로세스 모니터링

Elasticsearch 클러스터가 블루/그린 배포 프로세스에 들어가면 그린 환경의 새 노드가 나타납니다. 그런 다음 샤드가 블루 환경의 이전 노드에서 마이그레이션됩니다. 데이터 마이그레이션 또는 샤드 재할당이 완료되면 이전 클러스터 가동이 중단됩니다.

블루/그린 배포 프로세스를 세 단계(새 노드, 데이터 마이그레이션 및 이전 노드 제거)로 모니터링할 수 있습니다.

1단계: 새 노드 생성

Amazon CloudWatch에서 노드 클러스터 지표를 모니터링하여 노드 수를 구할 수 있습니다. 또는 cat 노드 API를 사용하여 Elasticsearch 클러스터의 모든 노드를 나열할 수 있습니다.

GET /_cat/nodes?v&pretty

클러스터 버전만 업데이트하기 때문에 노드 수(이전 노드와 새 노드)가 증가하면 프로세스가 완료됩니다. 그 후에 Amazon ES 도메인이 [“활성(Active)”] 상태로 돌아가는 것을 확인할 수 있습니다([“처리 중(Processing)”] 상태가 된 후). 전용 노드가 있는 Elasticsearch 클러스터의 경우 노드 수가 이전 노드와 새 노드의 합으로 증가함을 확인할 수 있습니다. 이전 구성의 리더 노드가 종료되고 노드 수가 리더 노드 수만큼 감소합니다. 예를 들어, 3개의 전용 리더 노드가 있는 Elasticsearch 클러스터의 경우 노드 수가 3개 감소합니다.

2단계: 데이터 마이그레이션

첫 번째 단계가 완료되면 샤드 마이그레이션이 시작됩니다. 데이터 마이그레이션 중에 이전 노드의 샤드 수가 줄어들고 새 노드의 샤드 수가 증가합니다. cat 할당 API를 사용하여 각 노드에 할당된 샤드 수를 확인할 수 있습니다.

GET /_cat/allocation?v&pretty

자세한 내용은 Elasticsearch 웹 사이트의 cat 할당을 참조하세요.

3단계: 이전 노드 제거

모든 샤드가 새 노드로 마이그레이션되면 이전 노드가 Elasticsearch 클러스터에서 제거됩니다. 그런 다음 노드 수는 사용자가 구성한 원래 노드 수로 돌아갑니다. 이 단계에서 블루/그린 배포 및 업데이트 프로세스가 완료됩니다.</p


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요합니까?