-
[14장] 운영 클러스터 구축책/엘라스틱_스택_개발부터_운영까지 2022. 5. 7. 20:12
- 복수의 노드로 클러스터를 구성하고 충분한 하드웨어를 할당할 필요가 있음
운영 클러스터 고려사항
- 충분한 하드웨어 확보
- 클러스터링과 분산, 병령 처리 개념을 이해해 노드를 구성할 필요
- 최소 3개의 마스터 노드 구성 => 스플릿 브레인 없이 서비스가 지속되게 하기 위한 최소한의 구성
- 데이터 노드를 최소 두 대 이상 확보
- 메모리: 가장 이상적인 메모리 64GB
- CPU: 단일 코의 성능 높은 CPU 보단 더 많은 코어 수를 권장
- 디스크: SSD 권장(하드 디스크를 사용할 경우 RPM이 빠른 제품 선택) => 네트워크 저장소 피하고, 최대한 빠른 디스크 성능 선택
- 하드웨어 통일: 성능을 통일하는 것이 중요
- 스냅샷 처리: 모든 노드에서 접근 가능하도록 네트워크 공유 드라이브 구성이 필요
- 노드 elasticsearch.yml 파일에서 클러스터 구성을 위한 설정을 해준다
- 힙 메모리 설정시 주의사항
- Xms, Xmx 수치를 동일하게 할당한다.
- 동일하지 않으면 메모리 할당량을 확장하는 과정에서 노드가 일시적으로 멈출 수 있음. 기본 1G
- 힙 크기는 최대 시스템 물리 메모리의 절반으로 한다.
- 힙 크기는 최대 30~31GB 수준을 넘지 않는다.
- 자바에서는 힙 메모리를 효율적으로 사용할 수 있는 기술인 Compressed Ordinary Object Pointers 기술이 적용되어 있음. 이것이 힙 메모리가 최대 32GB를 넘기면 비활성화 됨.보안기능 설정
- Xms, Xmx 수치를 동일하게 할당한다.
- 보안 설정 적용 시 전송 계층 보안을 적용하는 과정에서 반드시 한 번 전체 클러스터 재시작이 필요.(따라서 초기에 구축하는 것이 좋음)
- 인증서 생성
- CA 인증서 생성. CA 인증서는 노드별로 작업하지 않고 한 번만 생성함
- CA 인증서로부터 노드별 인증서를 발급하여야 함
- 노드간 통신에 암호화를 설정
- TLS 설정. 생성한 인증서를 사용해 클러스터 내 노드 간에 전송되는 데이터를 인증서 기반으로 암호화
- http 클라이언트 통신 암호화
- https 설정.
- 비밀번호를 분실했을 때?
- data 폴더의 내용 삭제 또는 파일 렐름(realm) 활용
- 키바나와 엘라스틱서치 간 통신 암호화
- 키바나와 브라우저 간 통신 암호화
정리
- 운영 모드에서 최소 3대의 마스터 노드를 포함하여 적절한 노드 확보
- 스냅샷 저장소 필수적으로 구성
- 주기적인 스냅샷을 받아 놓을 것
- 보안설정
- 운영환경에 가장 중요한 것: 1. 보안, 2. 장애에 대한 유연성
실제로 환경을 구축하는 경우는 지금 필요하지 않기에 구축할 경우 어떤 내용들을 고려해야하는지 파악하는 정도로 해당 챕터를 읽었다. 어떤 내용들을 확인해야하는지 키워드 위주로 정리해 보았다.
'책 > 엘라스틱_스택_개발부터_운영까지' 카테고리의 다른 글
[13장] 클러스터와 노드 구성 (0) 2022.05.01 [5장] 엘라스틱서치 집계 (0) 2022.03.23 [4장] 엘라스틱서치 검색 (0) 2022.03.09 [3장] 엘라스틱 서치 기본 (0) 2022.02.28 [1,2장] 엘라스틱스택이란 (0) 2022.02.20