1. ILM 란?
ILM란 인덱스 수명 주기 관리 (Index Lifecycle Management)라고 불린다.
인덱스 수명 주기 관리(IML)은 ElasticSearch 6.7버전에서 출시되었으며, 인덱스 관리를 효율적으로 관리할 수 있도록 설계되었다.
인덱스 수명주기 관리 (ILM) API는 시간이 지남에 따라 인덱스를 관리하는 방법을 자동화 할 수 있다. 정해진 일정에 따라 인덱스에 대한 관리 작업을 수행하는 대신 샤드 크기 및 성능 요구 사항과 같은 다른 요소를 기반으로 작업을 수행할 수 있다.
인덱스를 생성하는 데 사용된 인덱스 템플릿에 수명 주기 정책을 연결하여 인덱스가 처리되는 방식을 제어한다.
2. Hot-Warm-Cold
Hot-warm-cold 아키텍처는 로깅 또는 메트릭과 같은 시계열 데이터에 일반적으로 사용된다. hot-warm-cold 아키텍처를 사용하여 비용 절감(최적화)을 쉽게 구현 할수 있다.
- Hot
인덱스가 활발하게 업데이트되고 쿼리 수행
모든 새 인덱스를 호스팅하고 모든 읽기 및 쓰기를 가져온다. SSD와 높은 CPU를 사용하는 것이 좋다.
- Warm
인덱스가 더 이상 업데이트 되지 않지만 여전히 쿼리 수행
예를 들어 1주 된 덜 최근 인덱스를 호스팅하고 모든 읽기를 기져온다. 성능이 낮은 하드웨어를 여기에서 사용할 수 있다.
- Cold
인덱스가 더 이상 업데이트되지 않고 거의 쿼리 미수행. 정보는 여전히 검색 가능해야 하지만 이러한 쿼리가 더 느리더라도 괜찮음.
예를 들어 3주 된 오래된 인덱스를 호스팅하고 모든 읽기 작업도 받는다. 저렴한 구성을 사용하면 여기에서 사용할 수 있다.
3. 수명 주기 정책
수명 주기 정책은 여러 단계를 통해 인덱스가 전환되는 방식과 단계별 수행되는 작업을 제어한다.
- 새 인덱스로 롤오버하려는 최대 크기 또는 기간 설정 작업
- 인덱스가 더 이상 업데이트 되지 않고 기본 샤드의 수를 줄일 수 있는 작업
- 삭제 표시된 문서를 영구적으로 병합하기 위해 삭제 작업
- 인덱스를 성능이 낮은 하드웨어로 이동 작업
- 복제본 수를 줄일 수 있는 작업
(1) Elasticsearch로 지표 데이터를 인덱싱하는 경우 다음과 같은 정책을 정의할 수 있다.
- 인덱스가 50GB에 도달하면 새 인덱스로 롤오버한다.
- 이전 인덱스를 Warm 단계로 이동하고 읽기 전용으로 표시한 다음 단일 샤드로 축소한다.
- 7일 후 인덱스를 Cold 단계로 이동하고 더 저렴한 하드웨어로 이동한다.
- 필요한 30일 보존 기간에 도달하면 인덱스를 삭제한다.
(2) ILM 사용 이점
- 성능이 뛰어난 노드(핫 노드)에만 샤드를 분산하여 쓰기 최적화
- 읽기 전용 노드(warm 또는 cold 노드, 핫 노드에서도 소수)에 샤드를 분산하여 읽기를 최적화
- 인덱스를 적절한 하드웨어로 이동하여 비용 최적화 (Hot : 강력한 하드웨어, Warm 및 Cold 시 덜 강력함)
- 작은 샤드 크기를 유지하고 I/O, 네트워크 대역폭을 줄여 전반적인 클러스터 상태를 최적화하고 클러스터 작업을 더 빠르게 만든다
[참고]
'데이터베이스 > ELK' 카테고리의 다른 글
[Elasticsearch] 다른 서버에서 클러스터 구성 (노드 연동) with. docker-compose (0) | 2022.08.18 |
---|---|
[ElasticSearch] 엘라스틱서치의 내부 구조 및 cluster, index, replica, shard (0) | 2022.08.12 |
[ELK] ELK의 REST API이해 (0) | 2022.05.21 |
[ELK] GCP환경에서 Docker로 ELK 설치 및 실행하기 (0) | 2022.05.13 |
[ELK] ELK Stack 이해하기 (0) | 2022.05.12 |