- 복수의 노드로 클러스터를 구성하고 충분한 하드웨어를 할당할 필요가 있음
- 충분한 하드웨어 확보
- 클러스터링과 분산, 병령 처리 개념을 이해해 노드를 구성할 필요
- 최소 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. 장애에 대한 유연성