지난 프로젝트에서 Elastcisearch를 구현해보지 못해 아쉬워서 강의를 결제해서 듣기 시작했다 !
1. Elasticsearch 란?
Elasticsearch는 검색, 데이터 분석에 최적화된 데이터베이스이다.
이는 두 가지로 활용이 가능한데
1. 데이터 수집 및 분석
대규모 데이터(로그) 수집 , 분석하는데 최적화되어있고 elasticsearch, logstash, kibana 활용해 데이터 수집 및 분석한다.
2. 검색 최적화
데이터가 많더라도 뛰어난 검색 속도를 가지고 있다. 오타나 동의어를 고려해 유연하게 검색할 수 있다.
이 강의는 2번에 관한 내용을 담고 있다.
2. Elasticsearch 설치하기
compose.yml
services:
elastic:
image: docker.elastic.co/elasticsearch/elasticsearch:8.17.4 # Elastic 8.17.4 버전의 이미지
ports:
- 9200:9200 # 9200번 포트에서 Elasticsearch 실행
environment:
# 아래 설정은 개발/테스트 환경에서 간단하게 테스트하기 위한 옵션 (운영 환경에서는 설정하면 안 됨)
- discovery.type=single-node # 단일 노드 (지금은 알 필요 없음)
- xpack.security.enabled=false # 보안 설정
- xpack.security.http.ssl.enabled=false # 보안 설정
els에 포트번호는 9200이다.
postman으로 요청을 날려보면 설치가 잘 되었는지 확인할 수 있다.

3. 작동 방식
elasticsearch와 소통하려면 REST API라는 방식으로 통신해야한다.
데이터 삽입
curl -X POST "localhost:9200/users/_doc" -H 'Content-Type: application/json' -d'
{
"name": "Alice",
"email": "alice@example.com"
}'
데이터 조회
curl -X GET "localhost:9200/users/_search" -H 'Content-Type: application/json' -d'
{
"query": {
"match_all": {}
}
}'
4. Gui tool : kibana
Mysql에는 workbench, Dbeaver가 있듯이 elasticsearch도 kibana를 통해 좀 더 편리하게 조작할 수 있다.
아케텍처는 아래와 같다.

앞서 작성했던 파일 내용을 지우고 elaticsearch와 kibana를 함께 설치해주는 파일을 작성해주겠다.
compose.yml
services:
elastic:
image: docker.elastic.co/elasticsearch/elasticsearch:8.17.4 # 8.17.4 버전
ports:
- 9200:9200 # 9200번 포트에서 Elasticsearch 실행
environment:
# 아래 설정은 개발/테스트 환경에서 간단하게 테스트하기 위한 옵션 (운영 환경에서는 설정하면 안 됨)
- discovery.type=single-node # 단일 노드 (지금은 알 필요 없음)
- xpack.security.enabled=false # 보안 설정
- xpack.security.http.ssl.enabled=false # 보안 설정
kibana:
image: docker.elastic.co/kibana/kibana:8.17.4 # 8.17.4 버전
ports:
- 5601:5601 # 5601번 포트에서 kibana 실행
environment:
- ELASTICSEARCH_HOSTS=http://elastic:9200 # kibana가 통신할 Elasticsearch 주소 알려주기
백그라운드에서 실행하려면
docker compose up -d 로 실행시키면 된다.
kibana tool을 사용하기 위해서는 localhost:5601로 접속하면 된다. dev tools를 찾아 들어가서 GET / 를 입력하면 postman에서 localhost:9200 을 요청했던 것과 똑같은 응답이 온 것을 확인할 수 있다.

이처럼 kibana를 이용하면 더 간편하고 편리하게 요청을 보낼 수 있는 것을 알 수 있다.
'ELK' 카테고리의 다른 글
| [Elasticsearch] Elasticsearch 인덱스 및 도큐먼트 CRUD (0) | 2026.03.17 |
|---|---|
| [Elastic Stack] ELK Stack 기반 로그 모니터링 시스템 (2) | 2026.03.10 |