Amazon Web Services 한국 블로그

Amazon OpenSearch 서버리스 미리보기 – 클러스터 관리 없이 검색 및 분석 워크로드 실행 기능

대부분의 AWS 분석 서비스에는 고객이 기본 인프라를 구성, 확장 또는 관리할 필요 없이 방대한 양의 데이터를 훨씬 쉽게 분석할 수 있는 강력한 서버리스 서비스를 제공합니다.

비즈니스 인텔리전스를 위한 Amazon QuickSight 및 데이터 통합을 위한 AWS Glue와 같은 다른 서버리스 분석과 함께 올해 Amazon EMR Serverless, Amazon MSK ServerlessAmazon Redshift Serverless를 출시했습니다.

오늘 Amazon OpenSearch Service를 위한 새로운 서버리스 옵션의 평가판 릴리스를 발표합니다. 이를 통해 고객은 클러스터를 관리하지 않고도 대규모 검색 및 분석 워크로드를 쉽게 실행할 수 있습니다. 기본 리소스를 자동으로 프로비저닝하고 확장하여 가장 까다롭고 예측할 수 없는 워크로드에도 빠른 데이터 수집 및 쿼리 응답을 제공하므로 클러스터를 구성하고 최적화할 필요가 없습니다.

Amazon OpenSearch Serverless를 사용하면 쿼리의 빈도 및 복잡성이나 분석 대상이 될 데이터의 양과 같이 미리 알기 어려운 요소를 고려할 필요가 없습니다. 인프라를 관리하는 대신 OpenSearch를 사용하여 데이터를 탐색하고 인사이트를 도출하는 데 집중할 수 있습니다. 또한 익숙한 API를 사용하여 데이터를 로드 및 쿼리하고 대화형 데이터 분석 및 시각화를 위한 OpenSearch Dashboards를 사용할 수 있습니다.

OpenSearch Serverless 컬렉션 구성하기
Amazon OpenSearch Serverless를 시작하려면 AWS Management Console, AWS 명령줄 인터페이스(AWS CLI) 또는 AWS API를 통해 Collection(컬렉션)을 생성해야 합니다.

OpenSearch Serverless를 출시하기 전에는 인스턴스 유형, 개수 및 스토리지 옵션을 지정하여 관리형 클러스터를 생성한 다음 해당 클러스터 내의 인덱스에 대한 수명 주기 및 샤드 전략을 관리했습니다. OpenSearch Serverless를 사용하면 특정 워크로드를 지원하기 위해 함께 작동하는 인덱스 그룹을 관리하는 컬렉션을 생성할 수 있습니다. 더 이상 하드웨어를 지정하거나 인덱스를 직접 관리할 필요가 없습니다.

OpenSearch Serverless 컬렉션을 생성하고 데이터를 보호하려면 Encryption policies(암호화 정책)을 설정하여 하나 이상의 컬렉션에 AWS KMS 키를 할당하고 컬렉션에 Network policies(네트워크 정책)을 연결하여 지정된 VPC 및 퍼블릭 IP 주소로부터의 액세스를 제어해야 합니다.

암호화 정책을 생성하려면 왼쪽 탐색 창에서 Encryption policies(암호화 정책) 및 Create encryption policy(암호화 정책 생성)을 선택합니다. 미사용 암호화는 컬렉션 내 인덱스를 보호합니다. AWS KMS는 각 컬렉션에 대해 고유한 대칭형 암호화 키를 생성합니다. 암호화 정책은 여러 컬렉션에서 AWS KMS 키를 관리하는 최적의 방법입니다. 대상 컬렉션 이름 또는 이 정책의 암호화 설정을 컬렉션에 자동으로 적용하는 접두사를 정의할 수 있습니다.

사용자가 컬렉션에 액세스하도록 하려면 왼쪽 탐색 창에서 Network policies(네트워크 정책) 및 Create network policy(네트워크 정책 생성)을 선택합니다. 네트워크 정책은 공용 네트워크에서 인터넷을 통해 컬렉션에 액세스할 수 있는지 또는 OpenSearch Serverless 관리형 VPC 엔드포인트를 통해 컬렉션에 액세스해야 하는지 여부를 결정합니다.

각 컬렉션(Public(퍼블릭) 또는 VPC)에 대해 여러 규칙을 Access Type(액세스 유형)에 대한 권장 옵션으로 정의할 수 있습니다. 퍼블릭 옵션을 선택하면 OpenSearch Dashboards에서 컬렉션에 액세스할 수 있습니다.

또한 OpenSearch Dashboards와 OpenSearch 엔드포인트에 대한 액세스를 구성할 수 있습니다. Resource type(리소스 유형)의 경우, OpenSearch 엔드포인트에 대한 액세스와 OpenSearch Dashboards에 대한 액세스를 모두 활성화합니다. 두 입력 상자 모두에서 Collection Name(컬렉션 이름) 속성과 컬렉션 이름 또는 접두사를 선택합니다.

마지막으로, OpenSearch Serverless 컬렉션을 생성하려면 홈 페이지에서 Create collection(컬렉션 생성)을 선택하거나 왼쪽 탐색 창에서 Collections(컬렉션)을 선택하고 Create collection(컬렉션 생성)을 선택합니다.

컬렉션 이름, 설명 및 컬렉션 유형(데이터 유형에 따라 Time series(시계열) 또는 Search(검색))을 입력합니다.

  • Time series(시계열) – 운영, 보안, 사용자 행동 및 비즈니스 인사이트를 위해 기계에서 생성된 대량의 반구조화된 데이터를 실시간으로 분석하는 데 중점을 둔 로그 분석 세그먼트입니다.
  • Search(검색) – 내부 네트워크의 애플리케이션(콘텐츠 관리 시스템, 법률 문서)과 인터넷 연결 애플리케이션(예: 전자 상거래 웹사이트 검색 및 콘텐츠 검색)을 지원하는 전체 텍스트 검색입니다.

Create(생성)을 선택하면 일반적으로 컬렉션을 초기화하는 데 1분도 채 걸리지 않습니다.

컬렉션의 데이터 업로드 및 검색
컬렉션의 데이터를 업로드하고 검색하기 전에 컬렉션 내의 실제 데이터에 액세스하도록 IAM 정책을 구성합니다. 왼쪽 탐색 창에서 Data access policies(데이터 액세스 정책) 및 Create data access policy(데이터 액세스 정책 생성)을 선택합니다.

동일한 리소스에 여러 정책을 동시에 적용할 수 있습니다. 각 정책에는 일련의 규칙이 포함되어 있습니다. 각 규칙에는 리소스(컬렉션 또는 인덱스), 리소스에 대한 권한, 보안 주체 목록(IAM 사용자, 역할 ARN 또는 SAML ID)이 있습니다.

다음은 컬렉션에서 인덱스를 생성하고, 일부 데이터를 인덱싱하고, 검색하는 데 필요한 최소 권한을 단일 사용자에게 제공하는 샘플 정책입니다. 주 ARN을 OpenSearch Dashboards에 로그인하는 데 사용할 계정의 ARN으로 바꿉니다.

[
  {
    "Rules": [
      {
        "ResourceType": "index",
        "Resource": [
          "index/books/*"
        ],
        "Permission": [
          "aoss:CreateIndex",
          "aoss:ReadDocument",
          "aoss:UpdateIndex",
          "aoss:DeleteIndex",
          "aoss:WriteDocument"
        ]
      }
    ],
    "Principal": [
      "arn:aws:iam::123456789012:user/admin"
    ]
  }
]

이제 Postman 또는 curl을 사용하여 OpenSearch Serverless 컬렉션에 데이터를 업로드할 수 있습니다. OpenSearch Dashboards 콘솔 내의 개발 도구를 사용할 수도 있습니다. 컬렉션의 세부 정보 페이지에서 OpenSearch Dashboards를 선택합니다.

데이터 액세스 정책에 지정한 보안 주체의 AWS 액세스 및 비밀 키를 사용하여 OpenSearch Dashboards에 로그인합니다. OpenSearch Dashboards에서 왼쪽 탐색 메뉴를 열고 Dev Tools(개발자 도구)를 선택합니다.

books-index라는 단일 인덱스를 생성하려면 PUT books-index를 실행하고 첫 번째 단일 문서를 books-index에 인덱싱합니다.

개발자 도구에서 검색 데이터를 쿼리할 수도 있습니다.

GET books_index/_search
{
    "query": {
    "simple_query_string": {
    "query": "Jeff",
    "fields": ["author"]
    } 
  }
}

시계열 데이터의 경우 네이티브 OpenSearch 스트리밍 API, Amazon Kinesis Data Firehose, AWS Glue 및 Logstash, FluentBit, Fluentd 및 Data Prepper와 같은 광범위한 오픈 소스 스트리밍 수집 파이프라인과 같은 모든 스트리밍 수집 옵션을 사용하여 데이터를 수집할 수 있습니다.

또한 OpenSearch Service의 관리형 클러스터에서 데이터를 스냅샷하고 컬렉션에 복원할 수 있으므로 워크로드를 쉽게 마이그레이션할 수 있습니다. 데이터가 컬렉션에 포함되면 자주 사용하는 OpenSearch 클라이언트를 사용하여 데이터를 쿼리하고 OpenSearch Dashboards를 사용하여 데이터를 대화형 방식으로 분석 및 시각화할 수 있습니다.

주요 사항
Amazon OpenSearch Serverless를 선택할 때 추가 기능 및 고려 사항에 대해 살펴봐야 할 몇 가지 내용은 다음과 같습니다.

  • SAML Authentications(SAML 인증) – 기존 ID 공급자를 사용하여 OpenSearch Serverless SAML 인증의 OpenSearch Dashboards 엔드포인트에 SSO(Single Sign-On)를 제공할 수 있습니다. 이를 통해 타사 ID 공급자를 사용하여 OpenSearch 대시보드에 로그인하여 데이터를 인덱싱하고 검색할 수 있습니다. OpenSearch Serverless는 Okta, Keycloak, Active Directory Federation Service 및 Auth0와 같은 SAML 2.0 표준을 사용하는 공급자를 지원합니다.
  • Private VPC Endpoints(프라이빗 VPC 엔드포인트) – AWS PrivateLink를 사용하여 VPC와 OpenSearch Serverless 간 프라이빗 연결을 생성할 수 있습니다. 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결을 사용하지 않고도 컬렉션에 마치 VPC에 있는 것처럼 액세스할 수 있습니다. 인터페이스 엔드포인트를 생성하려면 OpenSearch Service의 왼쪽 탐색 창에서 VPC endpoints(VPC 엔드포인트)를 선택합니다.
  • Managed Clusters(관리형 클러스터) – 클러스터 구성 또는 특정 사용자 지정을 엄격하게 제어해야 하는 시나리오에서는 Amazon OpenSearch Service의 관리형 클러스터 옵션을 사용하는 것이 좋습니다. 예를 들어, 워크로드에 가속 컴퓨팅 인스턴스에서 가장 잘 실행되고 데이터 샤딩 전략과 같은 구성에 대한 추가 제어가 필요한 사용자 지정 플러그인이 필요할 수 있습니다. 워크로드의 요구 사항에 따라 프로비저닝된 인스턴스 또는 서버리스를 선택할 수 있습니다.

평가판 사용하기
Amazon OpenSearch Serverless의 평가판 릴리스는 이제 미국 동부(버지니아 북부, 오하이오), 미국 서부(오레곤), EU(아일랜드), 아시아 태평양(도쿄)에서 사용할 수 있습니다. OpenSearch Serverless를 사용하면 선결제 비용이 없으며 수집한 데이터와 실행한 쿼리에 대해서만 비용을 지불하면 됩니다. 요금 세부 정보는 OpenSearch Service 요금 페이지를 참조하세요. 자세한 내용은 Amazon OpenSearch Service 사용 설명서를 참조하세요.

평가판 기간 동안 더 많은 피드백을 듣고 싶습니다. 일반 AWS Support 문의처 또는 Amazon OpenSearch Service용 AWS re:Post로 피드백을 보내주세요.

Channy