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

Amazon Elasticsearch Service 도메인 관리

Amazon Elasticsearch Service(Amazon ES) 도메인의 문서 크기와 수가 늘어나고 네트워크 트래픽이 증가함에 따라 Elasticsearch 클러스터의 구성을 업데이트해야 할 수 있습니다. 도메인을 재구성할 시점을 파악하기 위해서는 도메인 지표를 모니터링해야 합니다. 또한 도메인에 대한 데이터 관련 API 호출을 감사하거나 도메인에 태그를 지정해야 할 수도 있습니다. 이 단원에서는 다음 작업 및 도메인 관리와 관련된 작업을 수행하는 방법을 설명합니다.

구성 변경 정보

Amazon ES는 도메인을 업데이트할 때 블루/그린 배포 프로세스를 사용합니다. 블루/그린에서는 일반적으로 실시간 하나와 유휴 하나, 두 개의 프로덕션 환경을 실행하며, 소프트웨어를 변경하는 동안 양쪽 사이를 전환합니다. Amazon ES의 경우에는 도메인 업데이트용으로 새 환경을 만들고 업데이트가 완료되면 사용자를 새 환경으로 라우팅하는 관행에 따릅니다. 이렇게 하면 가동 중지가 최소화되고, 새로운 환경에 배포하는 데 실패하더라도 원래의 환경이 유지됩니다.

다음 작업에서는 블루/그린 배포가 사용됩니다.

  • 인스턴스 유형 변경

  • 도메인에 전용 마스터 노드가 없는 경우 데이터 인스턴스 개수 변경

  • 전용 마스터 노드 활성화 또는 비활성화

  • 전용 마스터 노드 수 변경

  • 다중 AZ 활성화 또는 비활성화

  • 스토리지 유형, 볼륨 유형 또는 볼륨 크기 변경

  • 다른 VPC 서브넷 선택

  • VPC 보안 그룹 추가 또는 제거

  • Kibana에 대한 Amazon Cognito 인증 활성화 또는 비활성화

  • 다른 Amazon Cognito 사용자 풀 또는 자격 증명 풀 선택

  • 고급 설정 수정

  • CloudWatch에 대한 오류 로그 또는 느린 로그 게시 활성화 또는 비활성화

  • 새 Elasticsearch 버전으로 업그레이드

  • HTTPS 요구 활성화 또는 비활성화

대부분의 경우 다음 작업에서는 블루/그린 배포가 사용되지 않습니다.

  • 액세스 정책 변경

  • 자동 스냅샷 시간 변경

  • 도메인에 전용 마스터 노드가 있는 경우 데이터 인스턴스 개수 변경

예외가 있습니다. 예를 들어 세 가지 가용 영역 지원을 시작한 이후 도메인을 다시 구성하지 않은 경우 Amazon ES에서 가용 영역 간에 전용 마스터 노드를 다시 배포하는 일회성 블루/그린 배포를 수행할 수도 있습니다.

구성 변경을 시작하면 도메인 상태가 처리 중으로 바뀝니다. 특정 서비스 소프트웨어 업데이트 동안 활성 상태가 유지됩니다. 두 경우 모두 클러스터 상태와 Amazon CloudWatch 지표를 검토하여 도메인 업데이트가 이루어지는 동안 클러스터의 노드 수가 일시적으로 증가(때로는 두 배)하는 것을 확인할 수 있습니다. 다음 그림에 구성 변경 중 노드 수가 11개에서 22개로 두 배가 되었다가 업데이트가 완료되면 11개로 돌아가는 과정이 나와 있습니다.


                도메인 구성 변경 중 노드 수가 11개에서 22개로 두 배로 늘어납니다.

이렇게 일시적인 증가로 인해 갑자기 관리해야 할 노드가 늘어난 클러스터의 전용 마스터 노드는 부담을 받게 됩니다. 그러므로 블루/그린 배포에 따르는 오버헤드를 처리할 수 있을 만큼 전용 마스터 노드에 충분한 용량을 유지해야 합니다.

중요

구성 변경 및 서비스 유지 관리 중 추가로 발생하는 비용은 없습니다. 클러스터에 대해 요청한 노드 개수에 대해서만 비용이 청구됩니다. 구체적인 내용은 구성 변경 비용 단원을 참조하십시오.

전용 마스터 노드의 오버로딩을 방지하기 위해, Amazon CloudWatch 지표를 통해 사용량을 모니터링할 수 있습니다. 권장 최대값은권장되는 CloudWatch 경보 단원을 참조하십시오.

구성 변경 비용

도메인에 대한 구성을 변경하는 경우 Amazon ES는 구성 변경 정보에 설명된 대로 새 클러스터를 생성합니다. 새 클러스터로 이전 클러스터를 마이그레이션하는 중 다음 비용이 발생합니다.

  • 인스턴스 유형을 변경하면 처음에는 이전 및 새 클러스터 둘 다에 대한 비용이 청구됩니다. 그 이후에는 새 클러스터에 대한 비용만 청구됩니다.

    예: m3.xlarge 인스턴스 세 개에서 m4.large 인스턴스 네 개로 구성을 변경합니다. 이때 처음 한 시간 동안은 두 클러스터(3 * m3.xlarge + 4 * m4.large)에 대한 요금이 부과됩니다. 그 이후에는 새 클러스터(4 * m4.large)에 대한 비용만 청구됩니다.

  • 인스턴스 유형을 변경하지 않으면 처음에는 가장 큰 클러스터에 대한 비용만 청구됩니다. 그 이후에는 새 클러스터에 대한 비용만 청구됩니다.

    예: m3.xlarge 인스턴스 여섯 개에서 m3.xlarge 인스턴스 세 개로 구성을 변경합니다. 처음 한 시간 동안은 가장 큰 클러스터(6 * m3.xlarge)에 대해 비용이 청구됩니다. 그 이후에는 새 클러스터(3 * m3.xlarge)에 대한 비용만 청구됩니다.

서비스 소프트웨어 업데이트

참고

서비스 소프트웨어 업데이트는 Elasticsearch 버전 업그레이드와 다릅니다. Elasticsearch의 최신 버전 업그레이드에 대한 자세한 내용은 Elasticsearch 업데이트 단원을 참조하십시오.

Amazon ES는 기능을 추가하거나 도메인을 개선하는 시스템 소프트웨어 업데이트를 정기적으로 릴리스합니다. 콘솔은 업데이트 가능 여부를 가장 쉽게 확인할 수 있는 방법입니다. 서비스 소프트웨어 업데이트 내역의 경우 릴리스 정보 단원을 참조하십시오.

새로운 서비스 소프트웨어를 사용할 수 있게 되면 도메인에 대한 업데이트를 요청하고 새로운 기능을 더 빠르게 활용할 수 있습니다. 트래픽이 적은 시간에 업데이트를 시작하고자 할 수도 있습니다.

일부 업데이트는 필수이며 다른 업데이트는 선택 사항입니다. 필수 업데이트에 대한 작업을 수행하지 않으면 특정 기간(일반적으로 2주) 후에도 서비스 소프트웨어가 자동으로 업데이트됩니다. 도메인은 다음 표에 표시된 상태에 있는 서비스 소프트웨어 업데이트에 적합하지 않을 수 있습니다.

State 설명
처리 중 상태의 도메인 도메인이 구성 변경 도중에 있습니다. 작업이 완료된 후 업데이트 자격을 확인하십시오.
빨간색 클러스터 상태 클러스터에서 하나 이상의 인덱스가 빨간색입니다. 문제 해결 단계는 빨간색 클러스터 상태 단원을 참조하십시오.
높은 오류율 Elasticsearch 클러스터가 요청을 처리하려고 시도할 때 다수의 5xx 오류를 반환합니다. 이 문제는 일반적으로 너무 많은 동시 읽기 또는 쓰기 요청의 결과입니다. 클러스터로 가는 트래픽을 줄이거나 도메인을 확장할 것을 고려하십시오.
브레인 분할 브레인 분할은 Elasticsearch 클러스터가 여러 개의 마스터 노드를 가지고 자체적으로는 절대로 다시 조인되지 않는 2개의 클러스터로 분할되어 있다는 의미입니다. 권장 수의 전용 마스터 노드를 사용하면 브레인 분할을 방지할 수 있습니다. 브레인 분할로부터 복구하기 위해 도움이 필요하면 AWS Support에 문의하십시오.
Amazon Cognito 통합 문제 도메인은 Kibana에 대한 인증을 사용하며, Amazon ES는 하나 이상의 Amazon Cognito 리소스를 찾을 수 없습니다. 이 문제는 보통 Amazon Cognito 사용자 풀이 없는 경우에 발생합니다. 문제를 수정하려면 누락된 리소스를 다시 생성하고 이를 사용하도록 Amazon ES 도메인을 구성합니다.
기타 Amazon ES 서비스 문제 Amazon ES 자체에 문제가 있을 경우 도메인이 업데이트 자격이 없는 것으로 표시될 수 있습니다. 도메인에 이전 조건이 하나도 적용되지 않지만 문제가 하루를 넘게 지속될 경우 AWS Support에 문의하십시오.

서비스 소프트웨어 업데이트를 요청하려면(콘솔)

  1. https://aws.amazon.com으로 이동하여 Sign In to the Console(콘솔에 로그인)을 선택합니다.

  2. Analytics에서 Elasticsearch Service를 선택합니다.

  3. 탐색 창의 My domains(내 도메인)에서 업데이트할 도메인을 선택합니다.

  4. Service software release(서비스 소프트웨어 릴리스)의 경우 설명서 링크를 사용하여 현재 버전과 최신 버전을 비교합니다. 그런 다음 업데이트를 선택합니다.

서비스 소프트웨어 업데이트를 요청하려면(AWS CLI 및 AWS SDK)

다음 명령을 사용하여 업데이트를 사용할 수 있는지 여부 및 업그레이드 자격을 확인하고 업데이트를 요청할 수 있습니다.

  • describe-elasticsearch-domain(DescribeElasticsearchDomain)

  • start-elasticsearch-service-software-update (StartElasticsearchServiceSoftwareUpdate)

자세한 내용은 AWS CLI Command ReferenceAmazon Elasticsearch Service 구성 API 참조 단원을 참조하십시오.

작은 정보

업데이트를 요청한 후에는 취소할 수 있는 기간 범위가 줄어들 수 있습니다. 콘솔 또는 stop-elasticsearch-service-software-update(StopElasticsearchServiceSoftwareUpdate) 명령을 사용합니다.

다중 AZ 도메인 구성

각 AWS 리전은 지리적 개별 영역이며, 가용 영역이라고 알려진 여러 개의 격리된 위치가 있습니다. 서비스 중단 발생 시 데이터 손실을 방지하고 클러스터 가동 중지 시간을 최소화하기 위해 동일한 리전에 있는 두 개 또는 세 개의 가용 영역에 노드를 분산할 수 있습니다. 이를 다중 AZ 구성이라고 합니다.

프로덕션 워크로드를 실행하는 도메인의 경우 다음 구성을 권장합니다.

  • Amazon ES를 통해 세 개의 가용 영역을 지원하는 리전을 선택합니다.

    • 미국 동부(오하이오 북부 버지니아)

    • 미국 서부(오리건)

    • EU(프랑크푸르트, 아일랜드, 런던, 파리)

    • 아시아 태평양(싱가포르, 시드니, 도쿄)

    • 중국(닝샤)

  • 세 개 영역에 도메인을 배포합니다.

  • 전용 마스터 노드와 데이터 노드에 대해 최신 세대 인스턴스 유형을 선택합니다.

  • 세 개의 전용 마스터 노드와 최소 세 개의 데이터 노드를 사용합니다.

  • 클러스터의 인덱스당 복제본을 한 개 이상 생성합니다.

이 단원의 나머지 부분에서는 이러한 권장 사항에 대한 설명과 전후 관계를 제공합니다.

샤드 배포

다중 AZ를 활성화하는 경우, 클러스터의 인덱스당 복제본을 한 개 이상 생성해야 합니다. 복제본이 없으면 Amazon ES가 다른 가용 영역에 데이터 사본을 배포할 수 없으며 이렇게 되면 다중 AZ의 목적을 달성할 수 없습니다. 다행히 모든 인덱스의 기본 구성은 복제본 1개입니다. 다음 다이어그램에 나와 있는 것처럼 Amazon ES는 복제본 샤드가 기본 샤드와 동일 영역에 있지 않도록 기본 샤드와 복제본 샤드를 분산시킵니다.

가용 영역별로 통해 샤드를 분산시키는 것 외에도 Amazon ES는 샤드를 노드별로 분산시킵니다. 그러나 특정 도메인 구성은 샤드 수가 불균형해질 수 있습니다. 다음 도메인을 생각해 보십시오.

  • 데이터 노드 5개

  • 기본 샤드 5개

  • 복제본 2개

  • 가용 영역 3개

이 경우, Amazon ES는 다음 다이어그램과 같이 기본 샤드와 복제본 샤드를 영역에 분산시키기 위해 한 개의 노드를 오버로드해야 합니다.

개별 노드의 부하를 늘리고 성능을 저하시킬 수 있는 이러한 상황을 피하려면, 인덱스당 두 개 이상의 복제본을 사용하려는 경우 인스턴스 수를 3의 배수로 선택하는 것이 좋습니다.

전용 마스터 노드 분산

도메인을 구성할 때 가용 영역을 두 개 선택하더라도 Amazon ES는 전용 마스터 노드를 세 개의 가용 영역에 자동으로 분산시킵니다. 이러한 분산은 영역에 서비스 중단이 발생할 경우 클러스터 가동 중지를 방지합니다. 권장되는 세 개의 전용 마스터 노드를 사용하면 하나의 가용 영역이 중단되더라도 클러스터가 여전히 전용 마스터 노드의 쿼럼(2)을 유지하므로 새 마스터를 선택할 수 있습니다. 다음 다이어그램은 이 구성을 보여 줍니다.

이 자동 분산에는 몇 가지 주요 예외가 있습니다.

  • 세 개의 가용 영역에서 사용할 수 없는 전 세대 인스턴스 유형을 선택하는 경우 다음 시나리오가 적용됩니다.

    • 도메인에 가용 영역을 세 개 선택하면 Amazon ES가 오류를 반환합니다. 다른 인스턴스 유형을 선택하고 다시 시도하십시오.

    • 도메인에 가용 영역을 두 개 선택하면 Amazon ES가 두 개의 영역에 전용 마스터 노드를 분산시킵니다.

  • 모든 AWS 리전에 세 개의 가용 영역이 있는 것은 아닙니다. 이러한 리전에서는 두 개의 영역만 사용하도록 도메인을 구성할 수 있으며, Amazon ES는 두 개 영역에만 전용 마스터 노드를 분산시킬 수 있습니다. 세 개의 가용 영역을 지원하는 리전 목록을 보려면 다중 AZ 도메인 구성 단원을 참조하십시오.

가용 영역 중단

가용 영역 중단은 드문 경우지만 발생할 수 있습니다. 다음 표에는 중단 시 다양한 다중 AZ 구성과 동작이 나와 있습니다.

리전의 가용 영역 수 선택한 가용 영역 수 전용 마스터 노드 수 한 개의 가용 영역에 중단이 발생할 경우의 동작
2 이상 2 0

가동 중지. 클러스터에서 데이터 노드의 절반이 손실되고 마스터를 선택하기 전에 가용 영역에서 하나 이상의 노드를 교체해야 합니다.

2 2 3

50/50의 가동 중지 확률. Amazon ES는 하나의 가용 영역에 두 개의 전용 마스터 노드를 분산시키고 하나를 다른 영역에 분산시킵니다.

  • 하나의 전용 마스터 노드가 있는 가용 영역에 장애가 발생하면 나머지 가용 영역에 있는 두 개의 전용 마스터 노드가 마스터로 선택될 수 있습니다.

  • 두 개의 전용 마스터 노드가 있는 가용 영역에 장애가 발생하면 나머지 가용 영역에서 하나의 전용 마스터 노드를 추가하고 마스터로 선택될 수 있을 때까지 클러스터를 사용할 수 없습니다.

3 이상 2 3

가동 중지 없음. Amazon ES는 세 개의 가용 영역에 전용 마스터 노드를 자동으로 분산시키므로 나머지 두 개의 전용 마스터 노드가 마스터로 선택될 수 있습니다.

3 이상 3 0

가동 중지 없음. 약 3분의 2의 데이터 노드가 여전히 마스터로 선택될 수 있습니다.

3 이상 3 3

가동 중지 없음. 나머지 두 개의 전용 마스터 노드가 마스터로 선택될 수 있습니다.

모든 구성에서 원인과 상관없이 노드 장애는 클러스터의 나머지 데이터 노드에서 일정 기간 동안 부하 증가를 유발하며, Amazon ES는 현재 누락된 노드를 교체하도록 새 노드를 자동으로 구성할 수 있습니다.

예를 들어, 3개 영역 구성에서 가용 영역 장애가 발생하는 경우 데이터 노드의 최대 2/3가 클러스터에 대한 요청을 최대한 많이 처리해야 합니다. 이에 따라 나머지 노드들도 온라인 상태가 될 때 새 노드에 샤드를 복제하므로 성능에 더 큰 영향을 미칠 수 있습니다. 워크로드에 가용성이 중요한 경우 이 문제를 최소화하기 위해 클러스터에 리소스를 추가하는 것을 고려하십시오.

상태 대시보드 해석

Amazon ES 콘솔의 인스턴스 상태 탭에서는 상자 차트를 사용하여 각 Elasticsearch 노드의 상태를 한 눈에 볼 수 있습니다.

  • 각 색 상자는 지정된 기간 동안 노드의 값 범위를 보여 줍니다.

  • 파란색 상자는 다른 노드와 일관적인 값을 나타냅니다. 빨간색 상자는 이상값을 나타냅니다

  • 각 상자 내의 흰색 선은 노드의 현재 값을 보여 줍니다.

  • 각 상자의 양쪽에 있는 “수염”은 일정 기간 동안 모든 노드의 최소값과 최대값을 보여 줍니다.

Amazon CloudWatch를 사용하여 클러스터 지표 및 통계 모니터링(콘솔)

Amazon ES 도메인은 1분마다 성능 지표를 Amazon CloudWatch로 전송합니다. 범용 또는 마그네틱 EBS 볼륨을 사용하는 경우에는 EBS 볼륨 지표만 5분마다 업데이트됩니다. 이러한 지표를 보려면 Amazon Elasticsearch Service 콘솔의 Cluster health(클러스터 상태)Instance health(인스턴스 상태) 탭을 사용합니다. 이러한 지표는 추가 요금 없이 제공됩니다.

도메인의 구성을 변경하는 경우 클러스터 상태인스턴스 상태 탭의 개별 인스턴스 목록이 정확한 수로 반환되기 전에 짧은 기간 동안 두 배의 크기로 증가하곤 합니다. 이 동작에 대한 설명은 구성 변경 정보 단원을 참조하십시오.

Amazon ES 지표는 다음 범주로 구분됩니다.

참고

지표는 2주 동안 보관된 후 삭제됩니다.

클러스터 지표

AWS/ES 네임스페이스에는 다음 클러스터 지표가 포함되어 있습니다.

지표 설명
ClusterStatus.green

클러스터의 노드에 모든 인덱스 샤드가 할당되었는지 나타냅니다.

관련 통계: Minimum, Maximum

ClusterStatus.yellow 모든 인덱스의 기본 샤드가 클러스터의 노드에 할당되어 있지만 하나 이상의 인덱스에 대해 복제본 샤드가 할당되어 있지 않음을 나타냅니다. 단일 노드 클러스터는 복제본을 할당할 수 있는 두 번째 노드가 없기 때문에 항상 노란색 클러스터 상태로 초기화됩니다. 노드 수를 늘려 녹색 클러스터 상태를 획득하거나 Elasticsearch API를 사용하여 인덱스에 대한 number_of_replicas 설정을 0으로 지정할 수 있습니다. 자세한 정보는 Amazon Elasticsearch Service 도메인 구성을 참조하십시오.

관련 통계: Minimum, Maximum

ClusterStatus.red

인덱스 하나 이상의 기본 및 복제본 샤드가 클러스터의 노드에 할당되지 않았음을 나타냅니다. 복구하려면 인덱스를 삭제하거나 스냅샷을 복원한 다음 EBS 기반 스토리지를 추가하거나, 더 큰 인스턴스 유형을 사용하거나, 인스턴스를 추가해야 합니다. 자세한 정보는 빨간색 클러스터 상태 단원을 참조하십시오.

관련 통계: Minimum, Maximum

Nodes

전용 마스터 노드를 포함하여 Amazon ES 클러스터에 포함된 노드 수.

관련 통계: Minimum, Maximum, Average

SearchableDocuments

클러스터의 모든 인덱스에서 검색 가능한 총 문서 수

관련 통계: Minimum, Maximum, Average

DeletedDocuments

클러스터의 모든 인덱스에서 삭제 표시된 총 문서 수. 이들 문서는 더 이상 검색 결과에 나타나지 않지만, Elasticsearch은 세그먼트 병합 시에만 삭제된 문서를 디스크에서 제거합니다. 이 지표는 삭제 요청 후 증가하고 세그먼트 병합 후 감소합니다.

관련 통계: Minimum, Maximum, Average

CPUUtilization

클러스터의 데이터 노드에 사용된 CPU 리소스의 최대 비율 이 지표는 개별 노드에도 사용할 수 있습니다.

관련 통계: Maximum, Average

FreeStorageSpace

클러스터에서 사용할 수 있는 노드 공간. Sum은 클러스터의 사용 가능한 전체 공간을 표시하지만, 정확한 값을 얻으려면 이 기간을 1분으로 두어야 합니다. Minimum, Maximum, Average는 개별 노드의 사용 가능한 공간을 각각 표시합니다. 이 지표는 개별 노드에도 사용할 수 있습니다. 이 지표가 0에 도달하면 Amazon ES에 ClusterBlockException이 발생합니다. 복구하려면 인덱스를 삭제하거나, 더 큰 인스턴스를 추가하거나 기존 인스턴스에 EBS 기반 스토리지를 추가해야 합니다. 자세한 정보는 여유 스토리지 공간 부족에서 복구 단원을 참조하십시오.

Amazon ES 콘솔은 이 값을 GiB로 표시합니다. Amazon CloudWatch 콘솔은 MiB로 표시합니다.

참고

FreeStorageSpace는 Elasticsearch _cluster/stats API가 제공하는 값보다 항상 적습니다. Amazon ES는 내부 작업을 위해 각 인스턴스에 스토리지 공간의 일정 비율을 예약합니다.

관련 통계: Minimum, Maximum, Average, Sum

ClusterUsedSpace

클러스터의 총 사용 공간. 정확한 값을 얻으려면 이 기간을 1분으로 두어야 합니다.

Amazon ES 콘솔은 이 값을 GiB로 표시합니다. Amazon CloudWatch 콘솔은 MiB로 표시합니다.

관련 통계: Minimum, Maximum

ClusterIndexWritesBlocked

수신되는 쓰기 요청에 대한 클러스터의 허용 또는 차단 여부를 나타냅니다. 값이 0이면 클러스터가 요청을 허용하고 있다는 것을 의미합니다. 값이 1이면 클러스터가 요청을 차단하고 있다는 것을 의미합니다.

클러스터가 요청을 차단하는 요인은 매우 다양할 수 있습니다. 몇 가지 공통적인 요인을 꼽자면 FreeStorageSpace가 너무 낮은 경우, JVMMemoryPressure가 너무 높은 경우, 또는 CPUUtilization이 너무 높은 경우가 있습니다. 이러한 문제를 줄이려면 디스크 공간을 추가하거나 클러스터를 확장하는 것이 좋습니다.

관련 통계: Maximum

참고

이 지표는 Amazon CloudWatch 콘솔이 아닌 Amazon ES 콘솔에서 볼 수 있습니다.

JVMMemoryPressure

클러스터의 모든 데이터 노드에 사용된 Java 힙의 최대 비율

관련 통계: Maximum

AutomatedSnapshotFailure

클러스터에 대해 실패한 자동 스냅샷 수. 값 1은 지난 36시간 동안 도메인에 대해 생성된 자동 스냅샷이 없음을 나타냅니다.

관련 통계: Minimum, Maximum

CPUCreditBalance

클러스터의 데이터 노드에 사용할 수 있는 잔여 CPU 크레딧. CPU 크레딧은 1분 동안 CPU 코어의 전체 성능을 제공합니다. 자세한 정보는 Amazon EC2 개발자 안내서CPU 크레딧을 참조하십시오. 이 지표를 사용할 수 있는 인스턴스 유형은 t2.micro.elasticsearch, t2.small.elasticsearch, 및 t2.medium.elasticsearch로 제한됩니다.

관련 통계: Minimum

KibanaHealthyNodes

Kibana 상태 확인. 값이 1이면 정상적인 동작 상태를 나타냅니다. 값이 0이면 Kibana에 액세스할 수 없다는 것을 나타냅니다. 대부분 경우 Kibana 상태가 클러스터 상태를 그대로 반영합니다.

관련 통계: Minimum

참고

이 지표는 Amazon CloudWatch 콘솔이 아닌 Amazon ES 콘솔에서 볼 수 있습니다.

KMSKeyError

값 1은 저장 데이터를 암호화하는 데 사용된 KMS 고객 마스터 키가 비활성화된 것을 나타냅니다. 도메인을 정상 작동으로 복원하려면 키를 다시 활성화해야 합니다. 콘솔에는 저장 데이터를 암호화하는 도메인에 대해서만 이 지표가 표시됩니다.

관련 통계: Minimum, Maximum

KMSKeyInaccessible

값 1은 유휴 데이터를 암호화하는 데 사용된 KMS 고객 마스터 키가 삭제되었거나 Amazon ES에 대한 권한 부여가 취소되었음을 나타냅니다. 이 상태의 도메인은 복원할 수 없습니다. 하지만 수동 스냅샷이 있는 경우 해당 스냅샷을 사용하여 도메인의 데이터를 새 도메인으로 마이그레이션할 수 있습니다. 콘솔에는 저장 데이터를 암호화하는 도메인에 대해서만 이 지표가 표시됩니다.

관련 통계: Minimum, Maximum

InvalidHostHeaderRequests

잘못된(또는 누락된) 호스트 헤더를 포함하여 Elasticsearch 클러스터에 수행된 HTTP 요청 수입니다. 유효 요청은 호스트 헤더 값으로 도메인 호스트 이름을 포함합니다. Amazon ES 는 제한적인 액세스 정책이 없는 퍼블릭 액세스 도메인에 대한 잘못된 요청을 거부합니다. 모든 도메인에 제한적인 액세스 정책을 적용하는 것을 권장합니다.

이 지표에 대한 값이 클 경우, 사용자의 Elasticsearch 클라이언트가 요청에 도메인 호스트 이름이(예를 들어, IP 주소 아님) 포함되었는지 확인합니다.

관련 통계: Sum

ElasticsearchRequests

Elasticsearch 클러스터에 수행된 요청 수입니다.

관련 통계: Sum

2xx, 3xx, 4xx, 5xx

해당 HTTP 응답 코드(2xx, 3xx, 4xx, 5xx)를 발생시킨 도메인에 대한 요청 건수입니다.

관련 통계: Sum

전용 마스터 노드 지표

AWS/ES 네임스페이스에는 다음과 같이 전용 마스터 노드의 지표가 포함되어 있습니다.

지표 설명
MasterCPUUtilization

전용 마스터 노드에서 사용하는 최대 CPU 리소스 비율. 이 지표가 60%에 도달하면 인스턴스 유형의 크기를 늘리는 것이 좋습니다.

관련 통계: Average

MasterFreeStorageSpace

이 지표는 관련이 없으므로 무시해도 좋습니다. 이 서비스에서는 마스터 노드를 데이터 노드로 사용하지 않습니다.

MasterJVMMemoryPressure

클러스터의 모든 전용 마스터 노드에 사용되는 Java 힙의 최대 비율. 이 지표가 85%에 도달하면 더 큰 인스턴스 유형으로 이전하는 것이 좋습니다.

관련 통계: Maximum

MasterCPUCreditBalance

클러스터의 전용 마스터 노드에 사용할 수 있는 잔여 CPU 크레딧. CPU 크레딧은 1분 동안 CPU 코어의 전체 성능을 제공합니다. 자세한 정보는 Linux 인스턴스용 Amazon EC2 사용 설명서에서 CPU Credits를 참조하십시오. 이 지표를 사용할 수 있는 인스턴스 유형은 t2.micro.elasticsearch, t2.small.elasticsearch, 및 t2.medium.elasticsearch로 제한됩니다.

관련 통계: Minimum

MasterReachableFromNode

MasterNotDiscovered 예외 상태. 값이 1이면 정상적인 동작 상태를 나타냅니다. 값이 0이면 /_cluster/health/가 오류를 일으킨 것을 나타냅니다.

여기에서 오류란 마스터 노드가 중단되었거나, 도달할 수 없다는 것을 의미합니다. 이러한 오류가 발생하는 이유는 대부분 네트워크 연결 문제 또는 AWS 종속성 문제에서 기인합니다.

관련 통계: Minimum

참고

이 지표는 Amazon CloudWatch 콘솔이 아닌 Amazon ES 콘솔에서 볼 수 있습니다.

MasterSysMemoryUtilization

사용 중인 마스터 노드 메모리의 비율입니다.

관련 통계: Maximum

EBS 볼륨 지표

AWS/ES 네임스페이스에는 EBS 볼륨에 대한 다음 지표가 포함되어 있습니다.

지표 설명
ReadLatency

EBS 볼륨에 대한 읽기 작업의 지연 시간(초)

관련 통계: Minimum, Maximum, Average

WriteLatency

EBS 볼륨에 대한 쓰기 작업의 지연 시간(초)

관련 통계: Minimum, Maximum, Average

ReadThroughput

EBS 볼륨에 대한 읽기 작업의 처리량(바이트/초)

관련 통계: Minimum, Maximum, Average

WriteThroughput

EBS 볼륨에 대한 쓰기 작업의 처리량(바이트/초)

관련 통계: Minimum, Maximum, Average

DiskQueueDepth

EBS 볼륨에 대해 대기 중인 I/O 요청 수

관련 통계: Minimum, Maximum, Average

ReadIOPS

EBS 볼륨에 대한 읽기 작업의 초당 I/O 작업 수

관련 통계: Minimum, Maximum, Average

WriteIOPS

EBS 볼륨에 대한 쓰기 작업의 초당 I/O 작업 수

관련 통계: Minimum, Maximum, Average

인스턴스 지표

AWS/ES 네임스페이스는 도메인의 각 인스턴스에 대해 다음과 같은 지표를 포함합니다. 또는 Amazon ES는 이러한 인스턴스 지표를 집계하여 전체 클러스터 상태에 대한 통찰을 제공합니다. 콘솔의 데이터 샘플 통계를 이용하여 이 동작을 확인할 수 있습니다. 다음 표의 각 지표는 노드 클러스터 관련 통계를 포함합니다.

중요

다양한 버전의 Elasticsearch은 서로 다른 스레드 풀을 사용하여 _index API에 대한 호출을 처리합니다. Elasticsearch 1.5 및 2.3은 인덱스 스레드 풀을 사용합니다. Elasticsearch 5.x, 6.0, 6.2는 벌크 스레드 풀을 사용합니다. 6.3 이상은 쓰기 스레드 풀을 사용합니다. 현재 Amazon ES는 벌크 및 쓰기 스레드 풀에 대한 지표를 제공하지 않습니다.

지표 설명
IndexingLatency

샤드 1개가 인덱싱 작업을 완료하는 데 걸리는 평균 시간(밀리초)입니다.

관련 노드 통계: Average

관련 클러스터 통계: Average, Maximum

IndexingRate

분당 인덱싱 작업 수입니다. 2개의 문서를 추가하고 2개를 4개 작업으로 업데이트하는 _bulk API에 대한 하나의 호출입니다. 이것은 하나 이상의 노드에 분산될 수 있습니다. 인덱스에 하나 이상의 복제본이 있는 경우 클러스터의 다른 노드 역시 총 4개의 인덱싱 작업을 기록합니다. 문서 삭제는 이 지표에 포함되지 않습니다.

관련 노드 통계: Average

관련 클러스터 통계: Average, Maximum, Sum

SearchLatency

샤드 1개가 검색 작업을 완료하는 데 걸리는 평균 시간(밀리초)입니다.

관련 노드 통계: Average

관련 클러스터 통계: Average, Maximum

SearchRate

한 노드의 모든 샤드에 대한 분당 검색 요청의 총 수입니다. _search API에 대한 단일 호출은 많은 샤드로부터 결과를 반환할 수 있습니다. 이러한 샤드 중 5개가 한 노드에 있는 경우, 클라이언트가 단 한 개만 요청했더라도 노드는 이 지표에 대해 5를 보고할 것입니다.

관련 노드 통계: Average

관련 클러스터 통계: Average, Maximum, Sum

SysMemoryUtilization

사용 중인 인스턴스 메모리의 비율(%)입니다.

관련 노드 통계: Minimum, Maximum, Average

관련 클러스터 통계: Minimum, Maximum, Average

JVMGCYoungCollectionCount

"신세대" 가비지 수집이 실행된 횟수입니다. 클러스터 작업은 일반적으로 실행 수가 계속 증가하여 커집니다.

관련 노드 통계: Maximum

관련 클러스터 통계: Sum, Maximum, Average

JVMGCYoungCollectionTime

클러스터가 "신세대"가비지 수집을 수행하는 데 소비 한 시간(밀리 초)입니다.

관련 노드 통계: Maximum

관련 클러스터 통계: Sum, Maximum, Average

JVMGCOldCollectionCount

"구세대"가비지 수집이 실행된 횟수입니다. 리소스가 충분한 클러스터에서는 이 수가 작게 유지되고 자주 증가하지 않습니다.

관련 노드 통계: Maximum

관련 클러스터 통계: Sum, Maximum, Average

JVMGCOldCollectionTime

클러스터가 "구세대"가비지 수집을 수행하는 데 소비 한 시간 (밀리 초)입니다.

관련 노드 통계: Maximum

관련 클러스터 통계: Sum, Maximum, Average

ThreadpoolForce_mergeQueue

강제 병합 스레드 풀에서 대기 중인 작업의 수입니다. 대기열 크기가 지속적으로 높으면 클러스터 확장을 고려하십시오.

관련 노드 통계: Maximum

관련 클러스터 통계: Sum, Maximum, Average

ThreadpoolForce_mergeRejected

강제 병합 스레드 풀에서 거부된 작업의 수입니다. 이 수가 계속 증가하면 클러스터 확장을 고려하십시오.

관련 노드 통계: Maximum

관련 클러스터 통계: Sum

ThreadpoolForce_mergeThreads

강제 병합 스레드 풀의 크기입니다.

관련 노드 통계: Maximum

관련 클러스터 통계: Average, Sum

ThreadpoolIndexQueue

인덱스 스레드 풀에서 대기 중인 작업의 수입니다. 대기열 크기가 지속적으로 높으면 클러스터 확장을 고려하십시오. 인덱스 대기열의 최대 크기는 200입니다.

관련 노드 통계: Maximum

관련 클러스터 통계: Sum, Maximum, Average

ThreadpoolIndexRejected

인덱스 스레드 풀에서 거부된 작업의 수입니다. 이 수가 계속 증가하면 클러스터 확장을 고려하십시오.

관련 노드 통계: Maximum

관련 클러스터 통계: Sum

ThreadpoolIndexThreads

인덱스 스레드 풀의 크기입니다.

관련 노드 통계: Maximum

관련 클러스터 통계: Average, Sum

ThreadpoolSearchQueue

검색 스레드 풀에서 대기 중인 작업의 수입니다. 대기열 크기가 지속적으로 높으면 클러스터 확장을 고려하십시오. 검색 대기열의 최대 크기는 1,000입니다.

관련 노드 통계: Maximum

관련 클러스터 통계: Sum, Maximum, Average

ThreadpoolSearchRejected

검색 스레드 풀에서 거부된 작업의 수입니다. 이 수가 계속 증가하면 클러스터 확장을 고려하십시오.

관련 노드 통계: Maximum

관련 클러스터 통계: Sum

ThreadpoolSearchThreads

검색 스레드 풀의 크기입니다.

관련 노드 통계: Maximum

관련 클러스터 통계: Average, Sum

ThreadpoolBulkQueue

벌크 스레드 풀에서 대기 중인 작업의 수입니다. 대기열 크기가 지속적으로 높으면 클러스터 확장을 고려하십시오.

관련 노드 통계: Maximum

관련 클러스터 통계: Sum, Maximum, Average

ThreadpoolBulkRejected

벌크 스레드 풀에서 거부된 작업의 수입니다. 이 수가 계속 증가하면 클러스터 확장을 고려하십시오.

관련 노드 통계: Maximum

관련 클러스터 통계: Sum

ThreadpoolBulkThreads

벌크 스레드 풀의 크기입니다.

관련 노드 통계: Maximum

관련 클러스터 통계: Average, Sum

ThreadpoolWriteThreads

쓰기 스레드 풀의 크기입니다.

관련 노드 통계: Maximum

관련 클러스터 통계: Average, Sum

ThreadpoolWriteRejected

쓰기 스레드 풀에서 거부된 작업의 수입니다.

관련 노드 통계: Maximum

관련 클러스터 통계: Average, Sum

ThreadpoolWriteQueue

쓰기 스레드 풀에서 대기 중인 작업의 수입니다.

관련 노드 통계: Maximum

관련 클러스터 통계: Average, Sum

Amazon Elasticsearch Service 도메인 태그 지정

Amazon ES 태그를 사용하여 메타데이터를 Amazon ES 도메인에 추가할 수 있습니다. AWS에서는 태그에 의미론적 의미를 적용하지 않습니다. 태그는 엄격히 문자열로 해석됩니다. 모든 태그에는 다음 요소가 포함되어 있습니다.

태그 요소 설명
태그 키 태그 키는 태그의 필수 이름입니다. 태그 키는 연결된 Amazon ES 도메인에 대해 고유해야 합니다. 태그 키 및 값에 대한 기본 제한 사항 목록은 사용자 정의 태그 제한을 참조하십시오.
태그 값 태그 값은 태그의 선택적 문자열 값입니다. 태그 값은 태그 세트에서 고유할 필요는 없으며 null일 수 있습니다. 예를 들어, project/Trinity 및 cost-center/Trinity의 태그 세트에 키-값 페어가 있을 수 있습니다. 태그 키 및 값에 대한 기본 제한 사항 목록은 사용자 정의 태그 제한을 참조하십시오.

각 Amazon ES 도메인에는 해당 Amazon ES 도메인에 배정된 모든 태그를 포함하는 태그 세트가 있습니다. AWS는 Amazon ES 도메인에 어떠한 태그도 자동으로 설정하지 않습니다. 태그 세트 하나에 태그가 최대 50개까지 들어 있을 수도 있고, 비어 있을 수도 있습니다. 리소스의 기존 태그와 동일한 키가 있는 Amazon ES 도메인에 태그를 추가하면 새 값이 이전 값을 덮어씁니다.

비슷한 태그의 리소스 비용을 그룹화하여 이러한 태그로 비용을 추적할 수 있습니다. Amazon ES 도메인 태그는 사용자가 정의하고 Amazon ES 도메인과 연결하는 이름-값 페어입니다. 이 이름을 라고 합니다. 태그를 사용하여 Amazon ES 도메인에 임의의 정보를 할당할 수 있습니다. 범주 정의 등에 태그 키를 사용할 수 있으며 태그 값은 해당 범주의 항목일 수 있습니다. 예를 들어, 태그 키를 “project”로 정의하고 태그 값을 “Salix”로 정의하여 Amazon ES 도메인이 Salix project에 배정됨을 나타냅니다. 또한 태그를 사용하여 environment=test 또는 environment=production 등의 키를 사용해 Amazon ES 도메인을 테스트나 프로덕션에 사용되도록 지정할 수도 있습니다. Amazon ES 도메인과 연결된 메타데이터를 더 쉽게 추적할 수 있게 일관성 있는 태그 키 세트를 사용하는 것이 좋습니다.

또한 태그를 사용하여 비용 구조를 반영하도록 AWS 청구서를 구성할 수 있습니다. 이렇게 하려면 가입하여 태그 키 값이 포함된 AWS 계정 청구서를 가져옵니다. 그런 다음 같은 태그 키 값을 가진 리소스에 따라 결제 정보를 구성하여 리소스 비용의 합을 볼 수 있습니다. 예를 들어, 키-값 페어로 Amazon ES 도메인에 태그를 지정한 다음 결제 정보를 구성하여 여러 서비스에 걸친 각 도메인의 총 비용을 볼 수 있습니다. 자세한 내용은 AWS Billing and Cost Management 문서의 비용 할당 태그 사용을 참조하십시오.

참고

권한 부여 목적으로 태그가 캐시됩니다. 이 때문에 Amazon ES 도메인의 태그에 대한 추가나 업데이트가 제공되는 데 몇 분 정도 걸릴 수 있습니다.

태그 작업(콘솔)

다음 절차에 따라 리소스 태그를 만듭니다.

태그를 만들려면(콘솔)

  1. https://aws.amazon.com으로 이동하여 Sign In to the Console(콘솔에 로그인)을 선택합니다.

  2. Analytics에서 Elasticsearch 서비스를 선택합니다.

  3. 탐색 창에서 해당하는 Amazon ES 도메인을 선택합니다.

  4. 도메인 대시보드에서 태그 관리를 선택합니다.

  5. 열에 태그 키를 입력합니다.

  6. (선택 사항) 열에 태그 값을 입력합니다.

  7. 제출을 선택합니다.

태그를 삭제하려면(콘솔)

다음 절차에 따라 리소스 태그를 삭제합니다.

  1. https://aws.amazon.com으로 이동하여 Sign In to the Console(콘솔에 로그인)을 선택합니다.

  2. Analytics에서 Elasticsearch 서비스를 선택합니다.

  3. 탐색 창에서 해당하는 Amazon ES 도메인을 선택합니다.

  4. 도메인 대시보드에서 태그 관리를 선택합니다.

  5. 삭제할 태그 옆의 삭제를 선택합니다.

  6. 제출을 선택합니다.

콘솔에서 태그 사용에 대한 자세한 내용은 AWS Management Console 시작 안내서Tag Editor 작업을 참조하십시오.

태그 작업(AWS CLI)

--add-tags 명령을 사용하여 AWS CLI에서 리소스 태그를 만들 수 있습니다.

구문

add-tags --arn=<domain_arn> --tag-list Key=<key>,Value=<value>

파라미터 설명
--arn 태그를 연결하려는 Amazon ES 도메인의 Amazon 리소스 이름입니다.
--tag-list 공백으로 구분된 키-값 페어 세트로, 형식은 다음과 같습니다. Key=<key>,Value=<value>

다음 예에서는 logs 도메인에 대해 태그 2개를 생성합니다.

aws es add-tags --arn arn:aws:es:us-east-1:379931976431:domain/logs --tag-list Key=service,Value=Elasticsearch Key=instances,Value=m3.2xlarge

remove-tags 명령을 사용하여 Amazon ES 도메인에서 태그를 제거할 수 있습니다.

구문

remove-tags --arn=<domain_arn> --tag-keys Key=<key>,Value=<value>

파라미터 설명
--arn 태그를 연결하려는 Amazon ES 도메인의 Amazon 리소스 이름(ARN)입니다.
--tag-keys Amazon ES 도메인에서 제거하려는 공백으로 구분된 키-값 페어 세트입니다.

다음 예에서는 이전 예에서 생성한 logs 도메인에서 태그 2개를 제거합니다.

aws es remove-tags --arn arn:aws:es:us-east-1:379931976431:domain/logs --tag-keys service instances

list-tags 명령을 사용하여 Amazon ES 도메인에 대한 기존 태그를 볼 수 있습니다.

구문

list-tags --arn=<domain_arn>

파라미터 설명
--arn 태그를 연결하려는 Amazon ES 도메인의 Amazon 리소스 이름(ARN)입니다.

다음 예에서는 logs 도메인에 대한 리소스 태그를 모두 나열합니다.

aws es list-tags --arn arn:aws:es:us-east-1:379931976431:domain/logs

태그 작업(AWS SDK)

AWS SDK(Android 및 iOS SDK 제외)는 AddTags, ListTagsRemoveTags 작업을 비롯하여 Amazon ES 구성 API 참조에 정의된 모든 작업을 지원합니다. AWS SDK 설치 및 사용에 대한 자세한 내용은 AWS 소프트웨어 개발 키트를 참조하십시오.