강의 추천/검색 기능 글 시리즈
강의 추천/검색 기능 구현 1탄 - OpenSearch와 Elasticsearch
강의 추천/검색 기능 구현 2탄 - OpenAI Vector Embeddings 사용법 (Java 실습)
이번엔 실제로 AWS의 Amazon OpenSearch Service를 구축하는 글이다.
1탄에서 OpenSearch의 구조와 특징을 이해하면 실제로 도메인을 구축 후
인덱스 생성, 도큐먼트 생성 등의 코드와 동작 원리를 더 잘 이해할 수 있다.
Amazon OpenSearch Service 도메인 생성 방법
프리티어 기준
이 글에서는 무료로 사용 가능한 프리티어 기준으로 구축했다.
AWS에서 Amazon OpenSearch Service를 검색한 후 도메인 생성을 누른다.
도메인 이름을 입력하고 표준 생성, 개발 및 테스트를 선택한다. (다른 옵션은 요금이 부과된다.)
프리티어 기준이기 때문에 대기 없는 도메인과 1-AZ을 선택한다.
가용 영역이란?
AWS의 리전(Region)은 여러 개의 가용 영역(AZ, Availability Zone)으로 구성된다.
가용 영역(AZ)은 최소 1개 이상의 데이터 센터로 이루어져 있으며, 서로 독립적인 전력, 네트워크, 보안을 갖춘다.
3-AZ를 선택하면 데이터를 3개의 가용 영역에 분산 저장하여, 하나의 가용 영역에 장애가 발생하더라도 서비스의 안정성과 고가용성을 유지할 수 있다.
버전은 추천하고 있는 최신 버전으로 그대로 설정한다.
(다른 버전을 선택하거나 같이 사용할 서비스 등에 따라 호환성 모드 활성화 등도 가능하다.)
프리티어 모델인 t3.small.search 모델 선택 후 노드수 1개, 스토리지 크기는 10으로 설정한다.
프리티어의 인스턴스 사용량 720시간 기준이 노드 기준이기때문에 노드 1개를 한 달 동안 사용하면 프리티어 사용량이다.
간편한 API 요청과 OpenSearch 대시보드에 바로 접속하고 싶기때문에 퍼블릭 액세스를 선택했다.
보안이 중요한 사내 환경 등에서는 VPC 액세스를 설정해줘야 한다.
(이때 생성된 대시보드 Url에 바로 접속 불가능하고 서버와 연결해서 프록시 설정 등을 해줘야 한다.)
I AM을 생성하거나 직접 이름/암호를 생성해서 마스터 사용자를 생성한다.
보안과 복잡한 권한 설정을 하려면 IAM을 사용하는 것이 좋다.
세분화된 액세스 제어만 사용은 모든 요청에 대해 허용한다는 설정이다.
역할/기능에 따라 세분화 설정을 하려면 도메인 수준 액세스 정책 구성을 통해 정책 설정을 해주면 된다.
최대 절 수를 입력해야 생성하기 버튼을 누를 수 있다.
인공지능 관련 기능을 활성화 하는 설정인데 나는 추천 기능 구현시 사용할 예정이기 때문에 활성화했다.
나머지 설정은 따로 안 만지고 그대로 두었는데 필요에따라 설정해 주면 된다.
설정을 마치고 생성하기 버튼을 누르면 된다. 이때 설정 모델 등에따라 시간이 소요된다. (최소 10분 이상)
OpenSearch 대시보드 접속
대시보드(Dashboards)란?
AWS가 Elasticsearch의 데이터 분석 및 시각화 도구인 Kibana를 포크 하여 개발한 시각화 도구이다.
OpenSearch에 저장된 로그, 메트릭, 문서형 데이터 등을 시각화하고 탐색할 수 있는 다양한 기능을 제공한다.
도메인을 만든 후 대시보드에 접속할 수 있다.
OpenSearch 대시보드 URL을 누르면 대시보드 페이지가 나타난다.
마스터 사용자 이름과 비밀번호를 입력해서 로그인 한다.
접속이 잘 되면 성공이다!
참고 자료
https://kjs990114.tistory.com/56
https://longtermsad.tistory.com/14
https://docs.aws.amazon.com/ko_kr/opensearch-service/latest/developerguide/fgac.html
'프로젝트 > Reviewing(리뷰잉)' 카테고리의 다른 글
강의 추천/검색 기능 구현 2탄 - OpenAI Vector Embeddings API 사용법 (Java 실습) (1) | 2025.02.19 |
---|---|
강의 추천/검색 기능 구현 1탄 - Openearch와 Elasticsearch (0) | 2025.02.17 |
강의 리뷰 플랫폼 Reviewing(리뷰잉) 소개 (2) | 2025.02.10 |