OpenSearch

마지막 업데이트: 2026년 2월 23일

Amazon OpenSearch Service는 완전관리형 검색 및 분석 서비스로, 실시간 애플리케이션 모니터링, 로그 분석, 웹사이트 검색 등에 활용됩니다. Elasticsearch의 포크인 OpenSearch를 기반으로 하며, 강력한 전문 검색(Full-text Search) 기능을 제공합니다.

목차


개요

OpenSearch vs Elasticsearch

OpenSearch는 2021년 AWS가 Elasticsearch 7.10을 포크하여 만든 오픈소스 프로젝트입니다.

특성
OpenSearch
Elasticsearch

라이선스

Apache 2.0

SSPL/Elastic License

관리형 서비스

Amazon OpenSearch Service

Elastic Cloud

호환성

ES 7.10 API 호환

최신 버전

플러그인

OpenSearch 플러그인

Elastic 플러그인

대시보드

OpenSearch Dashboards

Kibana

Amazon OpenSearch Service 특징

카테고리
기능

관리

완전 관리형, 자동 패칭, 자동 스냅샷

가용성

다중 AZ 배포, Cross-cluster

보안

암호화 (저장/전송), VPC 통합, Fine-grained Access, SAML 인증

스토리지

UltraWarm/Cold 스토리지, Serverless 옵션

모니터링

CloudWatch 통합

주요 사용 사례

  1. 로그 분석: 애플리케이션, 인프라, 보안 로그 분석

  2. 전문 검색: 웹사이트, 문서, 제품 검색

  3. 보안 분석: SIEM, 위협 탐지, 규정 준수

  4. 실시간 모니터링: 애플리케이션 성능 모니터링

  5. 비즈니스 분석: 클릭스트림, 사용자 행동 분석


아키텍처

OpenSearch 클러스터 아키텍처

spinner

노드 유형

노드 유형
역할
권장 인스턴스

Master

클러스터 관리, 인덱스 메타데이터

m6g.large.search (3개)

Data

데이터 저장, 검색/인덱싱

r6g.xlarge.search

UltraWarm

읽기 전용, 비용 효율적 저장

ultrawarm1.medium

Cold

S3 기반 아카이브

-

데이터 흐름

spinner

도메인 생성

AWS Console을 통한 생성

Terraform을 통한 생성


인덱스 관리

인덱스 템플릿

ISM (Index State Management) 정책

ISM 정책을 통해 인덱스 라이프사이클을 자동으로 관리합니다.

인덱스 앨리어스


데이터 수집

FluentBit에서 OpenSearch로 직접 전송

FluentBit DaemonSet (IRSA 사용)

Kinesis Data Firehose를 통한 수집


OpenSearch Dashboards

대시보드 접근 설정

인덱스 패턴 생성

검색 쿼리 예시

시각화 생성


보안 설정

Fine-Grained Access Control (FGAC)

문서 수준 보안 (DLS)

필드 수준 보안 (FLS)

SAML 인증 설정


비용 최적화

스토리지 티어링

비용 비교 (100GB/일 기준)

스토리지 티어
저장 기간
월간 비용
GB당 비용

Hot (EBS gp3)

7일

~$500

$0.10/GB

UltraWarm

23일

~$350

$0.024/GB

Cold Storage

60일

~$120

$0.01/GB

총 (90일 보존)

-

~$970/월

-

Hot만 사용 시

90일

~$2,700/월

-

절감액

-

~$1,730/월

64% 절감

인덱스 최적화

Reserved Instance


대규모 로그 환경에서의 한계

OpenSearch는 전문 검색에 강점이 있지만, 로그 볼륨이 급격히 증가하는 환경에서는 구조적 한계가 드러납니다.

역인덱스 구조의 비효율

항목
OpenSearch (역인덱스)
ClickHouse (컬럼형)

압축률

원본 대비 1.5-2배 증가 (인덱스 포함)

원본 대비 5-10배 압축

집계 쿼리

전체 문서 스캔 필요

컬럼 단위 스캔으로 빠름

스토리지 비용

높음 (인덱스 + 원본)

낮음 (컬럼 압축)

INSERT 비용

인덱싱 CPU 부하 높음

컬럼 append로 가벼움

집계 쿼리 성능 저하

로그 분석에서 자주 사용하는 집계 쿼리(최근 1시간 ERROR 수, 서비스별 에러율 등)에서 OpenSearch는 모든 매칭 문서를 읽어야 하므로 데이터가 커질수록 성능이 급격히 저하됩니다.

스케일링 비용 문제

일 로그량
OpenSearch 월 비용 (추정)
ClickHouse 월 비용 (추정)
비율

100GB

~$970

~$400

2.4x

500GB

~$4,500

~$1,200

3.8x

1TB

~$9,000

~$2,000

4.5x

10TB

~$80,000+

~$10,000

8x+

핵심: 로그 조회 패턴을 분석하면, 대부분의 환경에서 90% 이상이 "시간 범위 + 필드 조건" 기반 조회입니다. 이 패턴은 역인덱스보다 컬럼형 스토리지가 훨씬 효율적입니다.

ClickHouse 마이그레이션 판단 기준

아래 기준으로 OpenSearch를 유지할지, ClickHouse로 전환할지 판단할 수 있습니다.

기준
OpenSearch 유지
ClickHouse 전환 고려

일 로그량

100GB 미만

100GB 이상

주요 조회 패턴

전문 검색 (키워드 기반)

시간 범위 + 필드 조건

집계 쿼리 비율

낮음 (전체의 20% 미만)

높음 (전체의 50% 이상)

비용 민감도

낮음

높음

전문 검색 필요성

필수 (핵심 기능)

선택적 (있으면 좋음)

팀 SQL 역량

낮음

높음

마이그레이션 시 고려사항:


Loki와의 비교

기능 비교

기능
OpenSearch
Loki

전문 검색

우수 (Lucene 기반)

제한적 (레이블+grep)

쿼리 언어

Query DSL, SQL

LogQL

인덱싱

전체 텍스트

레이블만

스토리지 비용

높음

낮음 (객체 스토리지)

복잡한 집계

우수

기본적

대시보드

OpenSearch Dashboards

Grafana

운영 복잡성

높음

낮음

확장성

수평 확장

수평 확장

멀티테넌시

FGAC

네이티브

사용 사례별 권장

마이그레이션 고려사항


퀴즈

이 장에서 배운 내용을 테스트하려면 OpenSearch 퀴즈를 풀어보세요.

마지막 업데이트