안녕하세요 맥썸입니다.
이번 포스팅은 AWS Service에서 Opensearch 라고 불리는 ElasticSearch를 소개하도록 하겠습니다.
Opensearch는 검색 엔진이라고 하며 보편적으로 로그를 분석할때 사용 됩니다.
저장 또는 검색, 분석을 위해 단독적으로 사용되기도 하며 저번 포스팅의 ELK 스택으로도 사용되기도 합니다.
🔷 구조
- Cluster: 가장 큰 시스템 단위, 최소 하나 이상의 노드로 이뤄진 노드의 집합
- Node: 클러스터에 포함된 단일 서버로 클러스터의 검색 기능 참여
- Master node: 인덱스의 데이터, 샤드의 위치와 같은 클러스터 상태 정보를 관리하는 역할
(설정에서 node.data:false하면 마스터 노드가 되어 클러스터만 관리 가능) - Data node: 실제로 색인된 데이터를 저장하고 있는 노드
(node.master:false하면 데이터 노트 역할로 데이터 처리에만 집중 가능)
- Master node: 인덱스의 데이터, 샤드의 위치와 같은 클러스터 상태 정보를 관리하는 역할
- Index: 비슷한 특성을 가진 문서의 모음
- Type: 논리적으로 분류, 구분한 것으로 사용자가 결정
- Document: Index화 할 수 있는 기본 정보 단위: 실제로 알고자하는 값
- Shard & Replica: 각 색인은 여러 개의 샤드로 분할
- Shard: 데이터를 분산해서 저장하는 방법을 의미하며 스케일 아웃을 위해 index를 여러 Shard로 쪼개놓은 것
- Replica: 또 다른 형태의 샤드로 노드를 손실했을 경우 데이터 신뢰성을 위해 샤드를 복제 해놓은 것으로 서로 다른 노드에 존재하는 것을 권장
Shard와 Replica Shard(기본 샤드의 복제본)을 가지며 Shard 및 Replica의 수는 Index별로 Index 생성 시점에 정의할 수 있습니다.
Index가 생성된 다음에도 탄력적으로 Replica 수를 변경할 수 있으나 Shard 는 사후 변경이 불가능 합니다.
Document < Index < Shard < Node 순으로 Index가 Shard에 포함되어 있는 것이 아닙니다!
각 Shard에 공통적인 부분에서 하나의 index를 공유해서 사용하는 것으로 생각하시면 됩니다 😊
🔷 Cluster Status
콘솔로 확인을 할 수 있지만, cat API를 사용하여 상태를 확인 할 수 있습니다.
- Green: 모든 샤드가 정상적으로 동작하고 있는 상태
- Yellow: 일부 혹은 모든 인덱스의 replica 샤드가 정상적으로 동작하고 있지 않은 상태
- 일부 인덱스에 replica가 없어서 primary 샤드에 문제가 생기면 데이터 유실이 발생할 가능성이 있어 Yellow Status로 출력된다.
- 쓰기, 읽기의 기능적인 문제에는 영향이 없음
- Red: 일부 혹은 모든 인덱스의 Primary 샤드와 replica 샤드가 정상적으로 동작하고 있지 않은 상태
- 장애의 현황을 정확하게 파악하는 것이 중요
- _cat/indices API를 통해 확인
- Primary shard가 어떤 노드에도 배치되어 있지 않을때
- _cat/shards API를 통해 확인
- 장애의 현황을 정확하게 파악하는 것이 중요
저번 포스팅의 ELK에서 ElasticSearch의 설명이 부족한 것 같아 이번 주제로 선정했습니다.
긴 글 읽어주셔서 감사합니다.
'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글
[AWS] Load Balancer -1 (0) | 2022.08.12 |
---|---|
AWS MAP SOW(Migration Acceleration Program) 작성 요령 (0) | 2022.08.12 |
AWS AMI로 EC2 생성하기 (0) | 2022.08.10 |
S3 간단하게 마운트하기 (0) | 2022.08.09 |
GlusterFS (0) | 2022.08.05 |
댓글