Amazon Elasticsearch Service
개발자 가이드 (API 버전 2015-01-01)

전용 마스터 노드

Amazon Elasticsearch Service는 전용 마스터 노드를 사용하여 클러스터 안정성을 증가합니다. 전용 마스터 노드는 클러스터 관리 작업을 수행하지만 데이터를 보유하지 않거나 데이터 업로드 요청에 응답하지 않습니다. 클러스터 관리 작업을 오프로드하면 도메인의 안정성이 높아집니다.

각 프로덕션 Amazon ES 도메인에 대해 전용 마스터 노드 3개를 할당하는 것이 좋습니다.

  1. 1개의 전용 마스터 노드는 오류 발생 시 사용할 백업이 없음으로 의미합니다.

  2. 2개의 전용 마스터 노드는 오류 발생 시 클러스터에 새 마스터 노드를 선택하는 데 필요한 노드 쿼럼이 없음을 의미합니다.

    쿼럼은 전용 마스터 노드 수/2 + 1(가장 가까운 정수로 반올림)이며 도메인을 생성할 때 Amazon ES는 discovery.zen.minimum_master_nodes로 설정됩니다.

    이 경우 2/2 + 1 = 2입니다. 전용 마스터 노드 1개에 오류가 발생했고 백업이 1개만 존재하기 때문에 클러스터에 쿼럼이 없어 새 마스터를 선택할 수 없습니다.

  3. 권장되는 3개의 전용 마스터 노드는 마스터 노드에 오류가 발생했을 때 2개의 백업 노드와 새 마스터를 선택할 수 있는 필수 쿼럼(2)을 제공합니다.

  4. 네 개의 전용 마스터 노드는 세 개일 때보다 나은 점이 없으며 가용 영역이 두 개인 리전에서 다중 가용 영역(AZ)을 사용하는 경우 문제가 발생할 수 있습니다.

    • 1개의 마스터 노드에서 오류가 발생하면 쿼럼(3)이 있어 새 마스터를 선택합니다. 2개의 마스터 노드에서 오류가 발생하면 3개의 전용 마스터 노드와 마찬가지로 해당 쿼럼이 손실됩니다.

    • 각 가용 영역에 두 개의 전용 마스터 노드가 있고 영역이 서로 통신할 수 없으면 어느 영역도 새 마스터를 선택할 수 있는 쿼럼이 없습니다.

  5. 3개뿐만 아니라 5개의 전용 마스터 노드를 사용하면 쿼럼을 유지 관리하는 동안 2개의 노드를 잃게 되지만, 언제든 1개의 전용 마스터 노드만 활성 상태이므로 이 구성에서는 4개의 유휴 노드에 대해 비용이 지불된다는 의미가 됩니다. 많은 고객들이 이 수준의 장애 조치 보호를 과하게 사용하고 있습니다.

참고

귀하의 클러스터에 새 마스터 노드를 선택하는 데 필요한 쿼럼이 없는 경우, 클러스터에 대한 읽기 및 쓰기 요청이 모두 실패로 끝납니다. 이 동작은 Elasticsearch의 기본값과 다릅니다.

전용 마스터 노드는 다음 클러스터 관리 작업을 수행합니다.

  • 클러스터의 모든 노드 추적

  • 클러스터에 있는 인덱스 수 추적

  • 각 인덱스에 속한 샤드 수 추적

  • 클러스터에 있는 노드에 대한 라우팅 정보 유지

  • 상태 변경(인덱스 생성, 클러스터에서 노드 추가 또는 제거) 후 클러스터 상태 업데이트

  • 클러스터의 모든 노드 간에 클러스터 상태 변경 사항 복제

  • 하트비트 신호를 보내 모든 클러스터 노드의 상태를 모니터링(정기적인 신호는 클러스터에 있는 데이터 노드의 가용성을 모니터링함)

다음 그림은 10개의 인스턴스가 있는 Amazon ES 도메인을 보여줍니다. 인스턴스 중 7개는 데이터 노드이고 3개는 전용 마스터 노드입니다. 전용 마스터 노드 중 하나만 활성 상태이고, 회색으로 표시된 전용 마스터 노드 2개는 활성 상태인 전용 마스터 노드에서 장애가 발생한 경우 백업으로 사용하기 위해 대기 중입니다. 모든 데이터 업로드 요청은 데이터 노드 7개에서 처리하고 모든 클러스터 관리 작업은 활성 상태인 전용 마스터 노드로 오프로드됩니다.

전용 마스터 노드가 검색 및 쿼리 요청을 처리하지 않더라도 전용 마스터 노드의 크기는 자신이 관리할 수 있는 인스턴스, 인덱스 및 샤드의 수와 밀접한 관련이 있습니다. 프로덕션 클러스터의 경우 전용 마스터 노드에 대해 다음과 같은 인스턴스 유형이 권장됩니다. 다음 권장 사항은 일반적인 워크로드를 기반으로 한 것이며 필요에 따라 달라질 수 있습니다. 샤드나 필드 매핑이 여러 개인 클러스터는 대규모 인스턴스 유형을 활용할 수 있습니다. 전용 마스터 노드 지표를 모니터링하여 대규모 인스턴스 유형을 사용해야 하는지를 확인합니다.

인스턴스 수

권장되는 최소 전용 마스터 인스턴스 유형

1–10

c5.large.elasticsearch

10–30

c5.xlarge.elasticsearch

30–75

c5.2xlarge.elasticsearch

75–200

r5.4xlarge.elasticsearch