Amazon Elasticsearch Service으로 ELK 구성 느낀점

2021. 8. 31. 13:57util

이번 처음으로 aws elasticsearch를 이용하여 ELK 스택을 구성해 보았고 기본적으로 사용하는 elastic의 elasticsearch(https://www.elastic.co/kr/) 과 다른점이 있었다 그것에 대해 정리를 해볼려 한다. 

확실한건 나는 elasticsarch를 많이 써보지 않았기도 하고 aws는 이번에 처음 접해보는것이라 틀린점이 많을것이다. 그렇기에 그런부분에 지적을해준다면 정말 감사히 생각하니 많으 지적과 말씀을 부탁한다.

 

차이점

  1. aws elasticsearch는 elastic의 elasticsarch가 아니라 Open Distro for Elasticsearch(https://opendistro.github.io/for-elasticsearch/)를 쓴다.
  2. elastic의 elasticsearch는 라이센스별로 기능이 제한이 있지만 Open Distory for Elasticsearch는 100% 오픈 소스라서 모든기능을 사용할 수 있다. (※대신 elastic의 elasticsearch의 basic 라이센스보다 기능이 없는것 같다)
  3. 이건 aws뿐만 아니라 gcp등 elasticsearch 서비스를 하는곳이면 같을것 같은데 elasticsearch를 ubuntu나 centOs 같은 리눅스에 설치하는 방식이 아니라 서비로 올려 url을 연동하는 방식이라 좀 복잡하다.
  4. elastic의 elasticsarch는 x-pack을 이용해 로그인 설정등을 하지만 open Distro for elasticsearch은 x-pack 말고 다른 방식으로 설정을 해야한다. (https://aws.amazon.com/ko/blogs/korea/new-open-distro-for-elasticsearch/)
  5. index life cycle 설정 방법이 다르다. elastic의 elasticsearch는 좀더 쉽게 되어있는 반면 open Distor for elasticsearch의 경우 json 값으로 설정을 해야한다.
  6. 연동해야하는 앱은 elastic의 elasticsearch는 Add data에 들어가서 메뉴얼대로 설치하면 되지만 open Distory for elasticsaerch는 Past Releases(https://www.elastic.co/kr/downloads/past-releases)에 들어가 OSS 버전을 따로 설치해야 한다.
    elastic의 elasticsearch 메인화면에 있는 Add data

 

단점

  1. aws elasticsearch는 Open Distor for elasticsearch라서 그런건지 aws elasticsarch라서 그런건지 x-pack이 안되서 설정이 복잡하다.
  2. elastic의 elasticsearch는 차이점 5번의 내용처럼 따로 직접 찾아서 설치해야해서 번거롭고 명령어를 써도 설치된 앱의 버전정도나 알려주지 이게 일반 버전인지 OSS 버전인지 알수 없어 연동시에 에러가 나면 이게 연동정보 에러인지 OSS 버전이 아니라 난 에러인지 헷갈려서 그냥 애매하면 삭제하고 다시 설치하는걸 추천한다.
  3. elastic의 elasticsearch는 상단에 검색창이 있어서 편하게 검색으로 메뉴를 이동할 수 있지만 Open Distor for elasticsearch의 경우 검색창이 없어 직접 메뉴에 접근해서 들어가야한다.
    elastic의 elasticsearch 검색창
  4. 메뉴의 갯수가 적다. elastic의 elasticsearch의 메뉴는 많은 반면 open Distory for elasticsearch를 보면 메뉴화면이 적은데 심지어 이건 인스턴스에 설치한 elasticsearch가 아닌 서비스 형태의 elasticsearch 라서 뭔가 다른 어플리케이션으로 메뉴 확장도 어려울듯 하다.
    위 - elastic의 elasticsearch, 아래 - Open Distor for elasticsearch
  5. Open Distor for elasticsearch의 경우 대시 보드 생성을 할때 선택가능한 옵션이 elastic의 elasticsearch에 비해 많이 적고 설정 방법도 더 복잡하다.
  6. aws elasticsearch는 https 통신을 정책상 막아놨다고 한다. 그래서 그런지 logstah 외에 다른 앱을 enable 할려면 막힌다. 그렇기에 filebeat를 쓸경우 filebeat -> elasticsearch가 아닌 filebeat -> logstash -> elasticsearch를 하라고 한다.
    (만약 filebeat 에서 바로 elasticsearch 통신시 kibana 연결에서 401 에러 발생)

 

장점

  1. aws elasticsarch의 경우 스냅샷을 설정할 수있고 aws의 여러 솔루션(lambda 등)과 연동하여 활용가능하다.
  2. aws elasticsearch는 스냅샷이 자유롭기 때문에 장애시 복구에 편리하며 일정 기간별로 저장시키면 원하는 시기로 복구가 가능하다.

 

결론

  • aws elasticsearch는 정말 훌륭한 서비스이기는 하나 ELK 같이 여러 앱을 통해서 로그를 수집하는거에 대해서는 적절한 선택인지 의문이다.
  • 만약 aws에서 ELK 스택을 사용해야한다면 그냥 인스턴스에 elasticsearch를 설치 후 사용하는걸 추천한다.

 

● 이모든건 저의 개인적인 생각으로 틀린점이 있다면 언제든 말씀 부탁드립니다.