카테고리 없음
OpenSearch 구성 방법 및 설정 가이드 | 검색 및 로그 분석 시스템
idea9329
2025. 2. 21. 09:35
반응형
OpenSearch란?
OpenSearch는 AWS에서 Elasticsearch 오픈소스 버전을 기반으로 개발한 분산 검색 및 로그 분석 엔진입니다. 검색, 데이터 분석, 시각화 및 보안 기능을 제공하며, 기업의 데이터 인사이트 및 검색 성능 최적화에 활용됩니다.
✅ OpenSearch 주요 특징
- 검색 기능: 대규모 텍스트 데이터에서 빠른 검색 가능
- 로그 및 모니터링 분석: 실시간 로그 수집 및 대시보드 제공
- 보안 강화: 기본적으로 보안 및 인증 기능 포함
- Elasticsearch API 호환: 기존 Elasticsearch API와 호환되어 쉽게 마이그레이션 가능
- Kibana 대체 OpenSearch Dashboards 제공
1. OpenSearch 아키텍처 및 주요 구성 요소
OpenSearch는 다음과 같은 주요 컴포넌트로 구성됩니다.
구성 요소역할
OpenSearch Node (클러스터 구성 가능) | 데이터 저장 및 검색을 수행 |
OpenSearch Dashboards | 데이터 시각화 및 대시보드 제공 (Kibana 대체) |
Index (색인) | 데이터 저장 및 검색을 위한 구조 |
Shard (샤드) | 색인을 분산하여 성능 최적화 |
Replica (복제본) | 고가용성을 위한 데이터 백업 |
2. OpenSearch 설치 및 실행 방법
OpenSearch는 Docker, Linux 패키지, AWS 서비스 등 다양한 방법으로 설치할 수 있습니다.
1) Docker를 이용한 OpenSearch 설치 및 실행
가장 간편한 방법은 Docker를 이용하는 것입니다.
① OpenSearch 및 OpenSearch Dashboards 컨테이너 실행
docker network create opensearch-net
docker run -d --name opensearch-node1 --net opensearch-net -p 9200:9200 -p 9600:9600 \
-e "discovery.type=single-node" \
-e "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m" \
opensearchproject/opensearch:latest
docker run -d --name opensearch-dashboards --net opensearch-net -p 5601:5601 \
-e "OPENSEARCH_HOSTS=[\"http://opensearch-node1:9200\"]" \
opensearchproject/opensearch-dashboards:latest
② OpenSearch 상태 확인
curl -X GET "http://localhost:9200/_cluster/health?pretty"
- 정상적으로 실행되면 "status": "green"이 출력됩니다.
③ OpenSearch Dashboards 접속
- 웹 브라우저에서 http://localhost:5601 접속 → OpenSearch Dashboards 실행 확인
2) Linux 환경에서 OpenSearch 직접 설치
① OpenSearch 다운로드 및 설치
wget https://artifacts.opensearch.org/releases/bundle/opensearch/2.14.0/opensearch-2.14.0-linux-x64.tar.gz
tar -xvzf opensearch-2.14.0-linux-x64.tar.gz
cd opensearch-2.14.0
② OpenSearch 실행
./opensearch-tar-install.sh
- 기본적으로 9200 포트에서 실행됩니다.
③ 보안 인증 비활성화 후 실행 (테스트용)
./bin/opensearch -E "discovery.type=single-node" -E "plugins.security.disabled=true"
④ OpenSearch Dashboards 설치 및 실행
wget https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.14.0/opensearch-dashboards-2.14.0-linux-x64.tar.gz
tar -xvzf opensearch-dashboards-2.14.0-linux-x64.tar.gz
cd opensearch-dashboards-2.14.0
./bin/opensearch-dashboards
- http://localhost:5601에서 접속하여 데이터 시각화 가능
3. OpenSearch 주요 설정 및 구성
1) OpenSearch 설정 파일 (config/opensearch.yml)
cluster.name: my-opensearch-cluster
node.name: node-1
network.host: 0.0.0.0
discovery.type: single-node
bootstrap.memory_lock: true
plugins.security.disabled: true # 보안 기능 비활성화 (테스트용)
2) OpenSearch Dashboards 설정 (config/opensearch_dashboards.yml)
server.host: "0.0.0.0"
opensearch.hosts: ["http://localhost:9200"]
4. OpenSearch 인덱스 및 데이터 관리
1) OpenSearch 인덱스 생성
curl -X PUT "http://localhost:9200/my-index?pretty"
2) 데이터 입력
curl -X POST "http://localhost:9200/my-index/_doc/1?pretty" -H 'Content-Type: application/json' -d'
{
"title": "OpenSearch 사용법",
"content": "OpenSearch는 검색과 로그 분석을 위한 강력한 도구입니다."
}'
3) 데이터 검색
curl -X GET "http://localhost:9200/my-index/_search?pretty" -H 'Content-Type: application/json' -d'
{
"query": {
"match": {
"title": "OpenSearch"
}
}
}'
5. OpenSearch 확장 및 활용
✅ 클러스터 구성
- OpenSearch는 여러 개의 노드를 묶어 클러스터를 구성할 수 있습니다.
- 클러스터 구성 예제 (config/opensearch.yml 설정 변경)
cluster.name: my-cluster
node.name: node-1
network.host: 0.0.0.0
discovery.seed_hosts: ["node-2", "node-3"]
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
✅ OpenSearch와 Logstash 연동 (로그 수집)
- Logstash를 활용하면 서버 로그를 OpenSearch에 자동 저장할 수 있습니다.
- logstash.conf 설정 예제:
input {
file {
path => "/var/log/syslog"
start_position => "beginning"
}
}
filter {
grok {
match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:loglevel} %{DATA:message}" }
}
}
output {
opensearch {
hosts => ["http://localhost:9200"]
index => "logstash-logs"
}
}
✅ Kubernetes 환경에서 OpenSearch 배포
- Helm Chart를 사용하여 Kubernetes에서 OpenSearch를 쉽게 배포할 수 있습니다.
helm repo add opensearch https://opensearch-project.github.io/helm-charts/
helm install my-opensearch opensearch/opensearch
6. OpenSearch 사용 시 장점
✅ 무료 오픈소스 검색 엔진 – Elasticsearch 대비 라이선스 문제 없음
✅ 빠른 검색 성능 – 대규모 데이터에서도 빠른 검색 가능
✅ 로그 분석 및 모니터링 가능 – ELK Stack 대체 가능
✅ 보안 기능 내장 – 기본 인증 및 역할 기반 접근 제어(RBAC) 지원
✅ 확장성 우수 – 클러스터링 및 샤딩을 통해 대규모 데이터 처리 가능
7. 결론
OpenSearch는 검색, 로그 분석, 데이터 시각화를 위한 강력한 오픈소스 솔루션입니다. Docker, Linux, Kubernetes 등 다양한 환경에서 쉽게 배포할 수 있으며, Elasticsearch API와 호환되어 기존 검색 시스템을 손쉽게 마이그레이션할 수 있습니다.
👉 빠르고 안정적인 검색 엔진이 필요하다면 OpenSearch를 활용하세요! 🚀
반응형