- 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
- 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.
검색 서비스를 제공하는 CloudSearch
이재홍 http://www.pyrasis.com 2014.03.24 ~ 2014.06.30
CloudSearch 검색 도메인 생성하기
CloudSearch는 기존에 데이터를 가지고 있는 상황에서 사용하는 것을 전제로 하고 있습니다. 이번에는 CloudSearch의 기본 기능을 알아보기 위해 AWS에서 제공하는 IMDB 영화 정보 예제 데이터로 검색 도메인을 생성해보겠습니다. 실무에서 사용하기 위해서는 인덱스 구조를 설계하고 데이터를 올려야 하는데 이 부분은 '25.5.1 CloudSearch 인덱스 구조를 설계하고 검색 도메인 생성하기'에서 설명하겠습니다.
AWS 콘솔로 접속한 뒤 메인 화면에서 App Services의 CloudSearch를 클릭합니다.
오른쪽 위에서 CloudSearch의 리전을 변경할 수 있습니다. Tokyo 리전을 사용하겠습니다.
생성한 CloudSearch 검색 도메인이 하나도 없을 때 그림 25-5와 같은 페이지가 표시됩니다. Create a new search domain 버튼을 클릭합니다.
CloudSearch 검색 도메인을 생성합니다.
- Search Domain Name: 검색 도메인의 이름입니다. .(점)은 입력할 수 없습니다. exampledomain을 입력합니다.
- Desired Instance Type: 검색 도메인이 생성할 검색 인스턴스 유형입니다. 설정하지 않으면 search.m1.small을 사용합니다. 기본값 그대로 사용합니다.
- Desired Replication Count: 검색 도메인의 복제 개수입니다. 데이터 저장 용량과는 상관 없고, 검색 트래픽이 많을 때 설정합니다. 5개까지 설정할 수 있습니다. 기본값 그대로 사용합니다.
- Desired Partition Count: 생성할 검색 파티션 개수입니다. 검색 인스턴스 search.m2.2xlarge에서만 설정할 수 있고, 10개까지 생성할 수 있습니다.
설정이 완료되었으면 Continue 버튼을 클릭합니다.
CloudSearch 검색 도메인의 인덱스를 정의합니다. 여기서 선택한 데이터를 분석하여 인덱스를 정의하게 됩니다. Use a predefined configuration을 선택한 뒤 기본값 그대로 IMDB movies(demo)를 선택합니다.
- Analyze sample file(s) from my local machine: 사용자의 컴퓨터에 저장된 데이터를 분석하여 인덱스를 생성합니다.
- Analyze sample object(s) from Amazon S3: S3 버킷에 저장된 데이터를 분석하여 인덱스를 생성합니다.
- Analyze sample item(s) from Amazon DynamoDB: DynamoDB에 저장된 데이터를 분석하여 인덱스를 생성합니다.
- Use a predefined configuration: 미리 정의된 설정을 사용합니다.
- Manual configuration: 다음 페이지에서 사용자가 인덱스를 직접 정의합니다.
AWS에서 제공하는 IMDB 영화 정보를 분석하여 인덱스가 생성되었습니다. 데이터베이스에서 테이블을 정의하는 것처럼 검색 엔진도 인덱스를 정의해야 합니다. 기본값 그대로 사용합니다(그림 25-8).
- Search: 항목이 검색되도록 하는 옵션입니다.
- Default Value: 항목의 기본값입니다. 데이터를 추가했을 때 내용이 없으면 여기에 설정한 값을 사용합니다.
- Source Field: 데이터를 복사했을 때 내용을 가져올 항목입니다. 자료형이 호환(숫자는 숫자끼리, 문자열은 문자열끼리)되는 항목만 사용할 수 있고, 여러 개를 설정할 수 있습니다. Source Field로 사용되고 있는 항목은 다른 곳에서 다시 Source Field로 설정할 수 없습니다.
- Remove: 항목을 삭제합니다.
- Add Index Field: 항목을 추가합니다.
- Re-configure Index: 뒤 페이지로 돌아가서 분석할 데이터를 다시 설정합니다.
Continue 버튼을 클릭합니다.
CloudSearch 검색 도메인의 접근 정책을 설정합니다. 데이터 업로드용 엔드포인트 주소와 검색용 엔드포인트 주소에 대한 정책입니다. Search and Suggester service: Allow all. Document Service: Account owner only를 클릭합니다(그림 25-9).
- Search and Suggester service: Allow all, Document Service: Account owner only: 검색은 모두 허용하고, CloudSearch를 생성한 AWS 계정만 데이터를 업로드 할 수 있습니다.
- Allow everyone access to all services: 검색, 데이터 업로드를 모두 허용합니다. 아무나 데이터를 올릴 수 있으므로 권장하지 않습니다.
- Deny everyone access to all services: 검색, 데이터 업로드를 모두 차단합니다. AWS 콘솔에서만 데이터를 올리고 검색할 수 있습니다.
설정이 완료되었으면 Continue 버튼을 클릭합니다.
지금까지 설정한 내용에 이상이 없는지 확인합니다. 이상이 없으면 Confirm을 클릭합니다.
CloudSearch 검색 도메인 생성이 시작되었습니다. OK 버튼을 클릭합니다.
CloudSearch 검색 도메인 목록에 검색 도메인(exampledomain)이 생성되었습니다. 완전히 생성되기까지 약 10분정도 소요됩니다.
CloudSearch 검색 도메인 생성이 완료되었습니다. 검색 도메인(exampledoamin)의 세부 내용에 검색 엔드포인트 주소, 문서 엔드포인트 주소가 표시됩니다. 엔드포인트 주소에 HTTP 메서드를 이용하여 데이터를 올리거나 검색 요청을 할 수 있습니다.
아직 생성된 검색 인스턴스 개수가 0개라고 표시됩니다. 1분 정도 기다린 후 Refresh 버튼을 클릭하면 생성된 검색 인스턴스가 표시됩니다.
30일 무료 평가 프로그램
첫 검색 도메인을 생성하면 30일 무료 평가 프로그램이 시작됩니다. 그리고 검색 도메인을 하나 더 만들면 무료 사용 시간이 2배로 소모됩니다(검색 인스턴스 유형과 데이터 업로드 용량, 검색 요청량에 따라 달라질 수 있습니다).
CloudSearch 검색 도메인이 생성된 뒤 설정할 수 있는 기능
- Multi-AZ: 장애가 발생해도 다른 가용 영역에서 서비스를 제공할 수 있도록 Multi-AZ 기능을 사용합니다.
- 검색 도메인에서 Availability Options를 클릭합니다.
- Turn Multi-AZ on 버튼을 클릭합니다.
- 검색 도메인 접근 정책 수정: 검색 도메인을 생성할 때 설정했던 접근 정책 설정 방식과 동일합니다.
- 검색 도메인에서 Access Policies를 클릭합니다.
- 접근 정책을 수정합니다.
- Submit 버튼을 클릭합니다.
- 인덱스 구조 변경: 검색 도메인을 생성할 때 설정했던 인덱스 설정 방식과 동일합니다.
- 검색 도메인에서 Indexing Options를 클릭합니다.
- 각 필드의 설정을 변경합니다.
- Submit 버튼을 클릭합니다.
- 자동 확장 설정 변경: 검색 도메인을 생성할 때 설정했던 자동 확장 설정과 동일합니다.
- 검색 도메인에서 Scaling Options를 클릭합니다.
- 검색 인스턴스, Replication, Partition 설정을 변경합니다.
- Submit 버튼을 클릭합니다.
- Analysis Scheme 추가: 각 언어 특성에 맞는 필드 분석 방식을 정의합니다.
- 검색 도메인에서 Analysis Schemes를 클릭합니다.
- Add Analysis Scheme 버튼을 클릭합니다.
- Analysis Scheme Name을 입력하고, Analysis Scheme Language를 선택합니다.
- Stopwords(불용어), Stemming(형태소 분석), 동의어(Synonyms)를 추가합니다.
- Create 버튼을 클릭합니다.
저작권 안내
이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.- 블로그, 게시판 등에 퍼가는 것을 금지합니다.
- 비공개 포스트에 퍼가는 것을 금지합니다.
- 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
- 링크 및 SNS 공유는 허용합니다.