imok
article thumbnail
728x90

AWS에서 진행하는 Amazon OpenSearch BootCamp for Partners 세션에 참여하면서 공부한 내용들을 정리하려 합니다.

 

주요 기능


성능 및 확장성  쉬운 사용 보안 및 가용성
1. K-NN(K-Nearest Neighbor) 및 LTR(Learning to Rank) 모델로 검색 품질관련성 향상
2. 사용자 정의 사전, 동의어 파일의 핫리로드(hot-reload)로 즉각적인 검색 정확도 업데이트
1. 세분화된 엑세스 제어감사 로깅으로 모든 수준에서 도메인 보호
2. Trace Analytics를 사용하여 분산 애플리케이션의 성능 및 가용성 문제 해결
1. UltraWarmCold Storage로 스토리지 비용을 낮추고 데이터 보존 기간 연장
2. 노드 자가 치유(Self-healing nodes) 및 오토튠(Auto-tune)으로 메모리 리소스 자동 최적화

 

  • K-NN : 데이터를 벡터화시켜서 벡터끼리 비교함 ex) 음성 검색, 노래 검색
  • 핫리로드 : 기존에는 사전을 등록하려면 클러스터를 내렸다가 올려야 하는 수고로움이 있었다면, OpenSearch는 바로 사용 가능
  • 세분화된 액세스 제어 : 클러스터 레벨, 문서 레벨 등
  • Trace Analytics : 어디서 병목 현상이 생기는지 모니터링할 수 있는 부분
  • 노드 자가 치유 : 클러스터 안의 각각의 노드 중 하나가 문제가 생기면 알아서 탈락시키고 다시 새로운 노드를 만들어서 기존에 있던 데이터를 마이그레이션 해주는 기능
  • 오토튠 : 인스턴스 상태에 따라 configration을 자동으로 바꿔주는 기능

 

워크로드 별 기능 

검색 워크로드 시계열 로드 중심 워크로드 비용 관리
1. 자동 완성
   - 입력할 때 제안을 제공하는 API
2. K-최근접 이웃 (KNN)
   - 유사성을 찾는 데 사용하는 벡터 표현
3. 랭킹 배우기 (LTR)
   - 활동을 기반으로 한 맞춤형 검색
4. 검색 관련성
   - 쿼리 관련성을 모델링하는 데 도움이 되는
      비교 도구
5. 하이라이팅
   - 문서의 주요 구절 및 용어 강조 
1. 경고 및 알림
    - 최신 정보를 확인하고 프로그래밍
       방식으로 문제에 대응
2. 강력한 시각화
    -  그래프, 차트, 다이어그램을 사용하여
        데이터에서 인사이트 확보
3. 옵저버빌리티
    - OTEL 표준을 사용하여 시스템의
       대기 시간 및 오류를 모니터링
4. 보안 애널리틱스
    - 운영 로그의 보안 이벤트 감지 및 대응
5. 이상 징후 감지
    - ML을 사용해 흥미로운 이벤트 찾기
1. 기업 할인 프로그램 (EDP)
    - 일정 비율 할인을 위한 고객 지출 약정
2. 예약 인스턴스
    - 일정 비율 할인받고 더 오래 구매
3. 그래비톤 인스턴스
    - 5세대 x86 인스턴스 대비
       평균 9% 이상 절감
4. GP3 볼륨
    - GP2 기반 스토리지에 비해
       평균 9% 이상 절감 
5. 울트라 웜 (주로 시계열)
    - S3에서 지원하는 인덱스 사용해 절감

 

 


UltraWarm


매일 로그 데이터를 쌓으면, 데이터가 매일 증가할 텐데 이 데이터를 쌓기 위해 OpenSearch 노드를 계속 늘리면 비용이 어마어마하게 증가할 것입니다. 이를 위해서 OpenSaerch에서 만든 것이 저비용 스토리지 계층UltraWarm입니다.

 

보통 클러스터를 만든다고 하면, 위의 그림처럼 Master node와 Data node의 구성으로 이루어집니다.

Master node는 머리 역할이고, Data node는 데이터의 검색이나 처리하는 역할로, 실제 데이터가 담기는 곳이 이곳 입니다.

따라서 자주 보는 데이터는 Hot Data node에 넣고, 자주 접근하지 않는 데이터는 UltraWarm node에 넣으면, UltraWarm node는 Amazon S3에 데이터가 들어가기 때문에 핫 스토리지 티어 대비해 최대 90%의 비용 절감을 할 수 있고, 도메인 당 최대 3PB까지 확장할 수 있습니다.

 

 


Cold Storage


3~5년 치 데이터를 검색해야 하는데 검색할 일은 거의 없고, 법적인 문제 때문에 보관을 해야 하는 케이스는 용량 제한도 없는 cold storage에 넣을 수 있습니다. 


일주일 치 데이터는 Hot Node에 넣음 -> 일주일이 지나면, Ultra Warm Node에 넣음 -> 한 달 이후는 Cold Storage에 넣음

 


데이터 라이프사이클


1. OpenSearch로 데이터를 보내고, 인덱스 상태 관리를 사용하여 인덱스 마이그레이션 또는 삭제 자동화

2. 데이터가 인덱싱되고 Hot Tier에 저장

3. UltraWarm 또는 장기 저장을 위해 Cold Storage로 인덱스 마이그레이션

4. 라이프사이클이 끝나면 인덱스 삭제

 

 


Trace Analytics


 

OpenSearch Observability 플러그인의 일부인 Trace Analytics를 사용하여 분산 애플리케이션의 추적 데이터를 분석할 수 있습니다. 

예를 들어 애플리케이션 front-end가 다른 서비스를 호출하고 데이터베이스를 쿼리하며 쿼리를 처리하고 결과를 반환하는 Back-end 서를 호출하는 일련의 이벤트가 있다고 가정한다면, Trace Analytics를 사용하여 이러한 이벤트 흐름을 시각화하고 성능 문제를 식별할 수 있습니다.

 


Cross-cluster


Cross-cluster 기능을 사용하여 연결된 여러 도메인에서 쿼리 및 집계를 수행할 수 있습니다. 특히 여러 유형의 워크로드를 실행하는 경우 큰 단일 도메인 대신 여러 개의 작은 도메인을 사용하는 것이 더 좋습니다.

  1. 효율성 증대 : 특정 워크로드에 대한 도메인 리소스 최적화
  2. 가용성 향상 : 장애에 대해서 특정 워크로드로 격리
    • 결함 격리 경계 설정으로 워크로드 중 하나가 실패하면 해당 특정 도메인 내에 결함이 포함되며 다른 워크로드에 영향을 주지 않음
  3. FGAC(Fine Grained Access Control) 정책을 통한 보안

 


다계층(Multi-layer) 보안


 

  1. 전송 계층 보안(TLS)으로 전송 중 종단 간 암호화.
  2. 저장된 데이터 Key Management Security(KMS)로 저장 시 암호화
  3. 각자의 VPC에 배포하기 위해 프라이빗 엔드포인트를 사용. 트래픽 제어를 위해 보안 그룹 사용
  4. Cognito 통합 또는 기본 Open Distro Security로 OpenSearch 대시보드 로그인
  5. IAM(Identity and Access Management) 정책으로 세분화된 액세스 제어
  6. 최소한의 영향으로 데이터를 보다 엄격하게 제어하기 위한 FGAC(Fine-Grained Access Control)

 


728x90
profile

imok

@imok2

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!