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

Amazon Elasticsearch Service를 위한 페타바이트 규모

Amazon Elasticsearch Service에서 최대 3PB의 도메인 스토리지를 제공합니다. 각각의 스토리지가 15TB인 i3.16xlarge.elasticsearch 인스턴스 유형 200개를 포함한 도메인을 구성할 수 있습니다. 현저한 규모 차이로 인해 이 크기의 도메인 권장 사항은 일반적인 권장 사항과 다릅니다. 이 단원에서는 도메인 생성, 비용, 스토리지, 샤드 크기에 대한 고려 사항을 설명합니다.

이 단원에는 i3.16xlarge.elasticsearch 인스턴스 유형이 자주 나오지만, 그 밖에도 몇 가지 다른 인스턴스 유형을 사용하여 총 도메인 스토리지를 1PB까지 만들 수 있습니다.

작은 정보

AWS 데이터베이스 블로그에는 페타바이트급 도메인 생성 및 운영에 대한 훌륭한 게시물이 있습니다.

도메인 생성

이 크기의 도메인은 도메인당 40개의 인스턴스라는 기본 한도를 초과합니다. 도메인당 최대 200개의 인스턴스까지 서비스 한도 증가를 요청하려면 AWS Support 센터에서 요청을 생성하십시오.

요금

이 크기의 도메인을 생성하기 전에 Amazon Elasticsearch Service 요금 페이지를 통해 연관된 비용이 예상치와 일치하는지 확인합니다.

스토리지

i3 인스턴스 유형은 빠른 로컬 NVMe(Non-Volatile Memory Express) 스토리지를 제공하기 위해 특별하게 설계되었습니다. 이 로컬 스토리지는 Amazon Elastic Block Store와 비교하여 성능상 상당한 이점이 있기 때문에 Amazon ES에서 이러한 인스턴스 유형을 선택할 때 EBS 볼륨은 옵션이 아닙니다. EBS 스토리지를 선호한다면 r5.12xlarge.elasticsearch 등 다른 인스턴스 유형을 사용하십시오.

샤드 크기 및 개수

일반적인 Elasticsearch 지침은 샤드당 50GB를 초과하지 말라는 것입니다. 대형 도메인 및 i3.16xlarge.elasticsearch 인스턴스에 제공되는 리소스를 수용하는 데 필요한 샤드 수를 고려해 볼 때 100GB 크기의 샤드를 권장합니다.

예를 들어 450TB의 소스 데이터가 있고 한 개의 복제본이 필요한 경우 최소 스토리지 요구 사항은 450TB * 2 * 1.1 / 0.95 = 1.04PB에 가깝습니다. 이 계산에 대한 설명은 스토리지 요구 사항 계산 단원을 참조하십시오. 1.04PB/15TB = 70개의 인스턴스가 있지만 스스로에게 스토리지 안전망을 제공하고 시간 경과에 따른 데이터 양 차이를 고려하기 위해 80개 이상의 i3.16xlarge.elasticsearch 인스턴스를 선택할 수 있습니다. 각 인스턴스는 최소 스토리지 요구 사항에 20GiB를 더 추가하지만 이 크기의 디스크에서 20GiB는 거의 무시해도 될 정도입니다.

샤드 수 제어는 까다롭습니다. Elasticsearch 사용자는 하루 간격으로 종종 인덱스를 교체하고 1~2주 동안 데이터를 보관합니다. 이때 '활성'과 '비활성' 샤드를 구분하면 유용합니다. 활성화된 샤드는 아주 능동적으로 읽고 씁니다. 비활성화된 샤드는 가끔 읽기 요청에 응하지만 대체로 유휴 상태입니다. 일반적으로 활성화된 샤드의 수는 몇천 이하여야 합니다. 활성화된 샤드의 수가 10,000을 넘어가면 성능 및 안정성에 치명적인 위협이 될 수 있습니다.

기본 샤드 수를 계산하려면 공식으로 450,000GB * 샤드당 1.1/100GB = 4,950개 샤드를 사용하십시오. 복제본을 설명하기 위해서 그 수를 2배로 늘리면 9,900샤드가 되는데 모든 샤드가 활성화 상태라면 이는 주요한 문제가 됩니다. 만일 인덱스를 교체하여 어느 날이든 샤드의 7분의 1 혹은 14분의 1(각각 1414 혹은 707샤드)만이 활성화 상태라면 클러스터는 정상적으로 작동합니다. 항상 그렇듯이 도메인 규모를 결정하고 구성하는 가장 중요한 단계는 실질적인 데이터 세트를 사용하여 대표적인 클라이언트 테스트를 수행하는 것입니다.