OpenSearch에서 Oracle Cloud Infrastructure Search를 사용하여 데이터 검색 및 시각화

소개

OpenSearch를 사용한 Oracle Cloud Infrastructure(OCI) Search는 Oracle 관리형 서비스로 제공되는 인사이트 엔진입니다. OpenSearch 및 OpenSearch 대시보드에 대한 OCI의 기능을 통해 대용량 데이터를 빠르게 저장, 검색 및 분석하고 결과를 거의 실시간으로 확인할 수 있습니다. Oracle은 다운타임 없이 서비스의 패치 적용, 업데이트, 업그레이드, 백업 및 크기 조정 등의 활동을 자동화합니다.

목표

필요 조건

  1. OCI 콘솔에서 필요한 서비스 정책을 생성합니다. any-user을 원하는 그룹으로 변경하고 필요한 경우 컴파트먼트의 경로를 제공합니다.

    작동 정책:

    Allow group SearchOpenSearchAdmins to manage vnics in compartment <NETWORK_RESOURCES_COMPARTMENT>
    Allow group SearchOpenSearchAdmins to manage vcns in compartment <NETWORK_RESOURCES_COMPARTMENT>
    Allow group SearchOpenSearchAdmins to manage subnets in compartment <NETWORK_RESOURCES_COMPARTMENT>
    Allow group SearchOpenSearchAdmins to use network-security-groups in compartment <NETWORK_RESOURCES_COMPARTMENT>
    Allow group SearchOpenSearchAdmins to manage opensearch-family in compartment <CLUSTER_RESOURCES_COMPARTMENT>
    
  2. 퍼블릭 서브넷 및 프라이빗 서브넷으로 VCN을 생성합니다.

    • 프로세스 간소화:

      1. OCI 콘솔로 이동하여 Navigation 메뉴를 엽니다.

      2. 네트워킹가상 클라우드 네트워크를 누릅니다.

      3. VCN 마법사 시작인터넷 접속을 통한 VCN 생성을 누릅니다.

    • 사용자정의 프로세스:

      1. OCI 콘솔로 이동하여 Navigation 메뉴를 엽니다.

      2. 네트워킹가상 클라우드 네트워크를 누릅니다.

      3. VCN 생성을 누르고 원하는 세부정보를 입력합니다.

  3. VCN의 공용 서브넷에 VM(가상 머신) 인스턴스를 생성합니다.

    1. OCI 콘솔로 이동하여 Navigation 메뉴를 엽니다.

    2. 계산인스턴스를 누릅니다.

    3. 인스턴스 생성을 누릅니다.

    4. 이름을 입력하고 구획을 선택합니다.

    5. 이미지 및 구성 섹션에서 기본값(Oracle Linux 8, VM.Standard.E4)을 사용합니다. 가변).

    6. 네트워킹 섹션에서 공용 서브넷을 선택하고 공용 IP를 지정합니다.

    7. SSH 키 추가 섹션에서 기존 SSH 키를 사용할지 아니면 새 SSH 키를 생성할지 결정합니다. 새 SSH 키를 생성하도록 선택한 경우 키를 다운로드해야 합니다.

주: 이 자습서에서는 Mac 및 Oracle Linux 인스턴스가 사용되었습니다. Windows 명령줄 지침은 다를 수 있습니다.

작업 1: OCI 검색 서비스 클러스터 생성

  1. OCI 콘솔로 이동하여 데이터베이스, OCI 검색 서비스, 클러스터로 이동하고 클러스터 생성을 누릅니다. 클러스터를 생성할 클러스터 이름과 컴파트먼트를 입력하고 다음을 누릅니다.

    이미지

  2. 클러스터 크기를 선택하고 다음을 누릅니다.

    이미지

  3. [필요 조건] 섹션에서 프라이빗 서브넷이 생성된 VCN을 선택하고 다음을 누릅니다.

    이미지

    클러스터를 생성한 후 OCI Search 서비스 클러스터 세부정보 페이지에서 API 끝점 및 다른 용도로 사용할 수 있는 IP 주소를 기록해 둡니다.

    이미지

작업 2: VCN 보안 목록에 보안 규칙 생성

VCN에서 다음 보안 규칙을 사용하여 보안 목록을 생성합니다. 또는 VCN 기본 보안 목록에 추가할 수 있습니다.

  1. 가상 클라우드 네트워크 세부정보 페이지에서 보안 목록, 보안 목록수신 규칙 추가를 누릅니다.

    주: 포트 9200(OpenSearch)에 대한 규칙과 5601(OpenSearch 대시보드)에 대한 규칙을 추가합니다.

    이미지

    이미지

    이미지

작업 3: OCI Search Service에 대한 접속 테스트 – OpenSearch 끝점

다음 옵션 중 하나를 사용할 수 있습니다.

옵션 1: 생성된 VM 인스턴스 내에서

  1. SSH를 사용하여 instance에 연결합니다.

    ssh -i ~/.ssh/id_rsa_opensearch.key opc@<your_VM_instance_public_IP>
    
  2. 다음 명령 중 하나를 실행합니다.

    curl https://mycluster.opensearch.us.example.com:9200
    # OpenSearch API endpoint example
    

    또는

    curl https://<your_opensearch_private_IP>:9200 --insecure
    # OpenSearch private IP example
    

옵션 2: 로컬 시스템에서 포트 전달을 통해

  1. 터미널에서 다음 포트 전달 SSH 명령을 실행합니다. 연결이 활성 상태인지 확인하기 위해 터미널을 닫지 마십시오.

    ssh -C -v -t -L 127.0.0.1:5601:<your_opensearch_dashboards_private_IP>:5601 -L 127.0.0.1:9200:<your_opensearch_private_IP>:9200 opc@<your_VM_instance_public_IP> -i <path_to_your_private_key>
    
  2. 새 터미널 window를 열고 다음 명령을 실행합니다.

    curl https://localhost:9200 --insecure
    

단계가 올바르게 수행되면 사용된 옵션에 관계없이 다음과 같이 응답이 표시됩니다.

{
"name" : "opensearch-master-0",
"cluster_name" : "opensearch",
"cluster_uuid" : "M6gclrE3QLGEBlkdme8JkQ",
"version" : {
   "distribution" : "opensearch",
   "number" : "1.2.4-SNAPSHOT",
   "build_type" : "tar",
   "build_hash" : "e505b10357c03ae8d26d675172402f2f2144ef0f",
   "build_date" : "2022-02-08T16:44:39.596468Z",
   "build_snapshot" : true,
   "lucene_version" : "8.10.1",
   "minimum_wire_compatibility_version" : "6.8.0",
   "minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "The OpenSearch Project: https://opensearch.org/"
}

작업 4: 데이터 수집

VM 인스턴스 내에서 다음 명령을 실행합니다.

  1. 샘플 데이터 집합을 다운로드합니다.

    curl -O https://raw.githubusercontent.com/oracle-livelabs/oci/main/oci-opensearch/files/OCI_services.json
    
  2. 매핑을 만듭니다(선택사항). 이 명령이나 변형을 실행하지 않으면 기본 매핑이 자동으로 생성됩니다.

    curl -XPUT "https://mycluster.opensearch.us.example.com:9200/oci" -H 'Content-Type: application/json' -d'
    {
      "mappings": {
        "properties": {
        "id": {"type": "integer"},
        "category": {"type": "keyword"},
       "text": {"type": "text"},
       "title": {"type": "text"},
       "url": {"type": "text"}
        }
      }
    }
    '
    
  3. 데이터 세트를 푸시합니다.

    curl -H 'Content-Type: application/x-ndjson' -XPOST "https://<your_opensearch_private_IP>:9200/oci/_bulk?pretty" --data-binary @OCI_services.json
    
  4. 인덱스를 확인합니다.

    curl "https://mycluster.opensearch.us.example.com:9200/_cat/indices"
    # OpenSearch API endpoint example
    
    curl -X GET "https://<your_opensearch_private_IP>:9200/_cat/indices" --insecure
    # OpenSearch private IP example
    

작업 5: OCI Search Service Query – 샘플 Search Query

다음 옵션 중 하나를 사용할 수 있습니다.

옵션 1: VM Instance 셸에서

curl -X GET "https://mycluster.opensearch.us.example.com:9200/oci/_search?q=title:Kubernetes&pretty"
# OpenSearch API endpoint example
curl -X GET "https://<your_opensearch_private_IP>:9200/oci/_search?q=title:Kubernetes&pretty"
# OpenSearch private IP example

옵션 2: 로컬 터미널에서 포트 전달 후

curl -X GET "https://localhost:9200/oci/_search?q=title:Kubernetes&pretty" --insecure

옵션 3: 로컬 브라우저에서 포트 전달 후

https://localhost:9200/oci/_search?q=title:Kubernetes&pretty

질의 구문에 대한 자세한 내용은 OpenSearch 또는 Elasticsearch 자습서를 참조하십시오.

작업 6: OpenSearch 대시보드에 연결

  1. 로컬 시스템에서 포트 전달을 통해

    주: 이전 단계에서 이미 실행했으며 접속이 아직 열려 있는 경우 이 단계를 건너뜁니다.

    ssh -C -v -t -L 127.0.0.1:5601:<your_opensearch_dashboards_private_IP>:5601 -L 127.0.0.1:9200:<your_opensearch_private_IP>:9200 opc@<your_instance_public_ip> -i <path_to_your_private_key>
    
  2. 브라우저에서 https://localhost:5601에 액세스합니다.

    주: 현재 브라우저에 따라 사용자 접속이 프라이빗이 아님과 유사한 경고 메시지가 표시됩니다. 계속할 수 있는 옵션을 선택합니다.

    이미지

작업 7: OpenSearch 대시보드에서 데이터 검색 및 시각화

  1. 포트 전달 연결이 설정된 상태에서 브라우저에서 https://localhost:5601에 액세스합니다.

  2. OpenSearch 대시보드 탐색 메뉴를 엽니다.

  3. Management, Stack Management로 이동하고 Index Patterns를 누릅니다. 이름이 oci인 인덱스 패턴을 생성합니다.

    이미지

  4. OpenSearch 대시보드 UI를 사용하여 데이터를 검색하려면 OpenSearch 대시보드 메뉴로 이동하고 검색을 누릅니다.

    이미지

  5. OpenSearch 대시보드 메뉴로 이동하여 대시보드를 누르고 다음 단계에 따라 샘플 파이 차트를 생성합니다.

    1. 새로 생성, 새 시각화파이를 누릅니다.

      이미지

    2. oci소스로 선택합니다.

    3. 버킷에서 추가를 누르고 슬라이스 분할을 확장합니다. 다음 이미지에 표시되는 정보를 입력하고 업데이트를 누릅니다.

      이미지

확인

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.