Skip to content

Latest commit

 

History

History
39 lines (37 loc) · 2.65 KB

14장_운영_클러스터_구축.md

File metadata and controls

39 lines (37 loc) · 2.65 KB
  • 복수의 노드로 클러스터를 구성하고 충분한 하드웨어를 할당할 필요가 있음

운영 클러스터 고려사항

  • 충분한 하드웨어 확보
  • 클러스터링과 분산, 병령 처리 개념을 이해해 노드를 구성할 필요
  • 최소 3개의 마스터 노드 구성 => 스플릿 브레인 없이 서비스가 지속되게 하기 위한 최소한의 구성
  • 데이터 노드를 최소 두 대 이상 확보
  • 메모리: 가장 이상적인 메모리 64GB
  • CPU: 단일 코의 성능 높은 CPU 보단 더 많은 코어 수를 권장
  • 디스크: SSD 권장(하드 디스크를 사용할 경우 RPM이 빠른 제품 선택) => 네트워크 저장소 피하고, 최대한 빠른 디스크 성능 선택
  • 하드웨어 통일: 성능을 통일하는 것이 중요
  • 스냅샷 처리: 모든 노드에서 접근 가능하도록 네트워크 공유 드라이브 구성이 필요
  • 노드 elasticsearch.yml 파일에서 클러스터 구성을 위한 설정을 해준다
  • 힙 메모리 설정시 주의사항
    • Xms, Xmx 수치를 동일하게 할당한다.
      • 동일하지 않으면 메모리 할당량을 확장하는 과정에서 노드가 일시적으로 멈출 수 있음. 기본 1G
    • 힙 크기는 최대 시스템 물리 메모리의 절반으로 한다.
    • 힙 크기는 최대 30~31GB 수준을 넘지 않는다.
      • 자바에서는 힙 메모리를 효율적으로 사용할 수 있는 기술인 Compressed Ordinary Object Pointers 기술이 적용되어 있음. 이것이 힙 메모리가 최대 32GB를 넘기면 비활성화 됨.

보안기능 설정

  • 보안 설정 적용 시 전송 계층 보안을 적용하는 과정에서 반드시 한 번 전체 클러스터 재시작이 필요.(따라서 초기에 구축하는 것이 좋음)
  • 인증서 생성
    • CA 인증서 생성. CA 인증서는 노드별로 작업하지 않고 한 번만 생성함
    • CA 인증서로부터 노드별 인증서를 발급하여야 함
  • 노드간 통신에 암호화를 설정
    • TLS 설정. 생성한 인증서를 사용해 클러스터 내 노드 간에 전송되는 데이터를 인증서 기반으로 암호화
  • http 클라이언트 통신 암호화
    • https 설정.
  • 비밀번호를 분실했을 때?
    • data 폴더의 내용 삭제 또는 파일 렐름(realm) 활용
  • 키바나와 엘라스틱서치 간 통신 암호화
  • 키바나와 브라우저 간 통신 암호화

정리

  • 운영 모드에서 최소 3대의 마스터 노드를 포함하여 적절한 노드 확보
  • 스냅샷 저장소 필수적으로 구성
  • 주기적인 스냅샷을 받아 놓을 것
  • 보안설정
  • 운영환경에 가장 중요한 것: 1. 보안, 2. 장애에 대한 유연성