Amazon OpenSearch Serverless 컬렉션 생성, 리스팅, 삭제 - Amazon OpenSearch 서비스

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon OpenSearch Serverless 컬렉션 생성, 리스팅, 삭제

Amazon OpenSearch Serverless의 컬렉션은 분석 워크로드를 나타내는 하나 이상의 인덱스를 논리적으로 그룹화한 것입니다. OpenSearch Service는 컬렉션을 자동으로 관리하고 조정하므로 수동 입력이 거의 필요하지 않습니다.

필요한 권한

OpenSearch Serverless는 컬렉션을 생성하고 관리하는 데 다음 AWS Identity and Access Management(IAM) 권한을 사용합니다. 사용자를 특정 컬렉션으로 제한하도록 IAM 조건을 지정할 수 있습니다.

  • aoss:CreateCollection – 컬렉션을 생성합니다.

  • aoss:ListCollections – 현재 계정의 컬렉션을 나열합니다.

  • aoss:BatchGetCollection – 하나 이상의 컬렉션에 대한 세부 정보를 가져옵니다.

  • aoss:UpdateCollection – 컬렉션을 수정합니다.

  • aoss:DeleteCollection – 컬렉션을 삭제합니다.

다음 샘플 자격 증명 기반 액세스 정책은 사용자가 Logs라는 단일 컬렉션을 관리하는 데 필요한 최소 권한을 제공합니다.

[ { "Sid":"Allows managing logs collections", "Effect":"Allow", "Action":[ "aoss:CreateCollection", "aoss:ListCollections", "aoss:BatchGetCollection", "aoss:UpdateCollection", "aoss:DeleteCollection", "aoss:CreateAccessPolicy", "aoss:CreateSecurityPolicy" ], "Resource":"*", "Condition":{ "StringEquals":{ "aoss:collection":"Logs" } } } ]

컬렉션이 제대로 작동하려면 암호화, 네트워크, 데이터 액세스 정책이 필요하기 때문에 aoss:CreateAccessPolicyaoss:CreateSecurityPolicy가 포함됩니다. 자세한 내용은 Amazon OpenSearch Serverless용 자격 증명 및 액세스 관리 단원을 참조하십시오.

참고

계정에서 첫 번째 컬렉션을 생성하려면 iam:CreateServiceLinkedRole 권한도 필요합니다. 자세한 내용은 서비스 연결 역할을 사용하여 OpenSearch Serverless 컬렉션 생성 단원을 참조하십시오.

컬렉션 생성

콘솔이나 AWS CLI를 사용하여 서버리스 컬렉션을 생성할 수 있습니다. 다음 단계에서는 검색 또는 시계열 컬렉션을 만드는 방법을 다룹니다. 벡터 검색 컬렉션을 만들려면 벡터 검색 컬렉션 작업(을)를 참조하세요.

컬렉션 생성(콘솔)

콘솔을 사용하여 컬렉션 생성하기
  1. https://console.aws.amazon.com/aos/home/에서 Amazon OpenSearch Service 콘솔로 이동합니다.

  2. 왼쪽 탐색 창에서 Serverless(서버리스)를 확장하고 Collections(컬렉션)를 선택합니다.

  3. Create collection(컬렉션 생성)을 선택합니다.

  4. 컬렉션의 이름과 설명을 입력합니다. 이름은 다음 조건을 충족해야 합니다.

    • 해당 계정 및 AWS 리전에서 고유할 것

    • 소문자로 시작할 것

    • 3~32자 사이일 것

    • 소문자 a~z, 숫자 0~9 및 하이픈(-)만 포함할 것

  5. 컬렉션 유형 선택:

    • Search(검색) – 내부 네트워크 및 인터넷 연결 애플리케이션의 애플리케이션을 지원하는 전체 텍스트 검색입니다. 모든 검색 데이터는 빠른 쿼리 응답 시간을 보장하기 위해 핫 스토리지에 저장됩니다.

    • Time series(시계열) – 대량의 반구조화된 기계 생성 데이터를 분석하는 데 중점을 둔 로그 분석 세그먼트입니다. 최소 24시간 분량의 데이터는 핫 인덱스에 저장되고 나머지는 웜 스토리지에 유지됩니다.

    • 벡터 검색 - 벡터 데이터 관리를 간소화하는 벡터 임베딩에 대한 시맨틱 검색입니다. 기계 학습(ML) 증강 검색 경험과 챗봇, 개인 비서, 사기 탐지와 같은 생성형 AI 애플리케이션을 강화합니다.

    자세한 내용은 컬렉션 유형 선택 단원을 참조하십시오.

  6. 배포 유형에서 컬렉션에 대한 중복 설정을 선택합니다. 기본적으로 각 컬렉션은 중복성을 사용하여 생성됩니다. 즉, 인덱싱 및 검색 OpenSearch 컴퓨팅 유닛(OCU)마다 다른 가용 영역에 자체 대기 복제본이 있습니다. 개발 및 테스트를 위해 중복을 비활성화하도록 선택할 수 있습니다. 이렇게 하면 컬렉션의 OCU 수가 2개로 줄어듭니다. 자세한 내용은 작동 방식 단원을 참조하십시오.

  7. Encryption(암호화)에서 데이터를 암호화하는 데 사용할 AWS KMS 키를 선택합니다. OpenSearch Serverless는 입력한 컬렉션 이름이 암호화 정책에 정의된 패턴과 일치하는 경우 알려줍니다. 이 일치 항목을 유지하거나 고유한 암호화 설정으로 재정의하도록 선택할 수 있습니다. 자세한 내용은 Amazon OpenSearch Serverless 암호화 단원을 참조하십시오.

  8. Network access settings(네트워크 액세스 설정)에서 컬렉션에 대한 네트워크 액세스를 구성합니다.

    • 액세스 유형에서 퍼블릭 또는 프라이빗을 선택합니다. 그런 다음, 컬렉션에 액세스할 수 있는 VPC 엔드포인트 및 AWS 서비스를 지정합니다.

    • 리소스 유형의 경우 OpenSearch 엔드포인트(curl, Postman 등을 통해 API 직접 호출 수행) 또는 OpenSearch Dashboards 엔드포인트(시각화 작업 및 콘솔을 통한 API 직접 호출)를 통해 컬렉션에 액세스할 수 있도록 할지 아니면 두 가지 모두를 통해 컬렉션에 액세스할 수 있도록 할지 선택합니다.

      참고

      AWS 서비스 프라이빗 액세스는 OpenSearch 대시보드 엔드포인트가 아닌, OpenSearch 엔드포인트에만 적용됩니다.

    OpenSearch Serverless는 입력한 컬렉션 이름이 네트워크 정책에 정의된 패턴과 일치하는 경우 알려줍니다. 이 일치 항목을 유지하거나 사용자 지정 네트워크 설정으로 재정의하도록 선택할 수 있습니다. 자세한 내용은 Amazon OpenSearch Serverless에 대한 네트워크 액세스 단원을 참조하십시오.

  9. (선택 사항) 컬렉션에 하나 이상의 태그를 추가합니다. 자세한 내용은 Amazon OpenSearch Serverless 컬렉션 태그 지정 단원을 참조하십시오.

  10. Next(다음)를 선택합니다.

  11. 컬렉션 내의 데이터에 액세스할 수 있는 사용자를 정의하는 컬렉션에 대한 데이터 액세스 규칙을 구성합니다. 생성하는 각 규칙에 대해 다음 단계를 수행하세요.

    • Add principals(보안 주체 추가)를 선택하고 데이터 액세스를 제공할 하나 이상의 IAM 역할 또는 SAML 사용자 및 그룹을 선택합니다.

    • Grant permissions(권한 부여)에서 연결된 보안 주체에 부여할 별칭, 템플릿 및 인덱스 권한을 선택합니다. 전체 권한 및 해당 목록에서 허용되는 액세스는 지원되는 OpenSearch API 작업 및 권한 섹션을 참조하세요.

    OpenSearch Serverless는 입력한 컬렉션 이름이 데이터 액세스 정책에 정의된 패턴과 일치하는 경우 알려줍니다. 이 일치 항목을 유지하거나 고유한 데이터 액세스 설정으로 재정의하도록 선택할 수 있습니다. 자세한 내용은 Amazon OpenSearch Serverless를 위한 데이터 액세스 제어 단원을 참조하십시오.

  12. Next(다음)를 선택합니다.

  13. Data access policy settings(데이터 액세스 정책 설정)에서 방금 생성한 규칙으로 수행할 작업을 선택합니다. 이를 사용하여 데이터 액세스 정책을 새로 생성하거나 기존 정책에 추가할 수 있습니다.

  14. 컬렉션 구성을 검토하고 Submit(제출)을 선택합니다.

컬렉션 상태는 OpenSearch Serverless가 컬렉션을 생성함에 따라 Creating으로 변경됩니다.

컬렉션 생성(CLI)

AWS CLI를 사용하여 컬렉션을 생성하기 전에 원하는 컬렉션 이름과 일치하는 리소스 패턴을 가진 암호화 정책이 있어야 합니다. 예를 들어 컬렉션 로그 애플리케이션의 이름을 지정하려는 경우 다음과 같은 암호화 정책을 생성할 수 있습니다.

aws opensearchserverless create-security-policy \ --name logs-policy \ --type encryption --policy "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/logs-application\"]}],\"AWSOwnedKey\":true}"

정책을 추가 컬렉션에 사용하려는 경우 collection/logs* 또는 collection/*과 같이 규칙을 더 광범위하게 만들 수 있습니다.

또한 컬렉션에 대한 네트워크 설정을 네트워크 정책의 형태로 구성해야 합니다. 이전 로그 애플리케이션 예시를 사용하여 다음과 같은 네트워크 정책을 생성할 수 있습니다.

aws opensearchserverless create-security-policy \ --name logs-policy \ --type network --policy "[{\"Description\":\"Public access for logs collection\",\"Rules\":[{\"ResourceType\":\"dashboard\",\"Resource\":[\"collection\/logs-application\"]},{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/logs-application\"]}],\"AllowFromPublic\":true}]"
참고

컬렉션을 생성한 후에 네트워크 정책을 생성해도 되지만, 네트워크 정책은 컬렉션보다 먼저 생성하는 것이 좋습니다.

컬렉션을 생성하려면 CreateCollection 요청을 보냅니다.

aws opensearchserverless create-collection --name "logs-application" --type SEARCH --description "A collection for storing log data"

type에서 SEARCH 또는 TIMESERIES를 지정합니다. 자세한 내용은 컬렉션 유형 선택 단원을 참조하십시오.

샘플 응답

{ "createCollectionDetail": { "id": "07tjusf2h91cunochc", "name": "books", "description":"A collection for storing log data", "status": "CREATING", "type": "SEARCH", "kmsKeyArn": "auto", "arn": "arn:aws:aoss:us-east-1:123456789012:collection/07tjusf2h91cunochc", "createdDate": 1665952577473 } }

요청에 컬렉션 유형을 지정하지 않으면 기본값은 TIMESERIES입니다. 컬렉션이 AWS 소유 키로 암호화된 경우 kmsKeyArn은 ARN이 아니라 auto입니다.

중요

컬렉션을 생성한 후에는 데이터 액세스 정책과 일치하지 않는 한 컬렉션에 액세스할 수 없습니다. 데이터 액세스 정책을 생성하는 방법에 대한 지침은 Amazon OpenSearch Serverless를 위한 데이터 액세스 제어 섹션을 참조하세요.

OpenSearch 대시보드 액세스

AWS Management Console에서 컬렉션을 생성한 후 컬렉션의 OpenSearch 대시보드 URL로 이동할 수 있습니다. 왼쪽 탐색 창에서 컬렉션을 선택하고 해당 컬렉션을 선택한 다음 세부 정보 페이지를 열면 Dashboards URL을 찾을 수 있습니다. URL은 https://dashboards.us-east-1.aoss.amazonaws.com/_login/?collectionId=07tjusf2h91cunochc 형식을 취합니다. URL을 탐색하면 Dashboards에 자동으로 로그인됩니다.

OpenSearch 대시보드 URL을 이미 사용할 수 있지만 AWS Management Console에 없는 경우 브라우저에서 대시보드 URL을 호출하면 콘솔로 리디렉션됩니다. AWS 보안 인증 정보를 입력하면 Dashboards에 자동으로 로그인됩니다. SAML용 컬렉션에 액세스하는 방법에 대한 자세한 내용은 SAML을 통한 OpenSearch Dashboards 액세스를 참조하세요.

OpenSearch Dashboards 콘솔 제한 시간은 1시간이며 구성할 수 없습니다.

참고

2023년 5월 10일, OpenSearch는 OpenSearch Dashboards를 위한 공통 글로벌 엔드포인트를 도입했습니다. 이제 브라우저에서 https://dashboards.us-east-1.aoss.amazonaws.com/_login/?collectionId=07tjusf2h91cunochc 형식을 취하는 URL을 사용하여 OpenSearch Dashboards로 이동할 수 있습니다. 이전 버전과의 호환성을 보장하기 위해 기존 컬렉션별 OpenSearch Dashboards 엔드포인트를 https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com/_dashboards 형식으로 계속 지원할 예정입니다.

컬렉션 보기

Amazon OpenSearch Service 콘솔의 Collections(컬렉션) 탭에서 AWS 계정의 기존 컬렉션을 볼 수 있습니다.

컬렉션을 ID와 함께 나열하려면 ListCollections 요청을 보냅니다.

aws opensearchserverless list-collections

샘플 응답

{ "collectionSummaries":[ { "arn":"arn:aws:aoss:us-east-1:123456789012:collection/07tjusf2h91cunochc", "id":"07tjusf2h91cunochc", "name":"my-collection", "status":"CREATING" } ] }

검색 결과를 제한하려면 컬렉션 필터를 사용합니다. 이 요청은 ACTIVE 상태의 컬렉션에 대한 응답을 필터링합니다.

aws opensearchserverless list-collections --collection-filters '{ "status": "ACTIVE" }'

OpenSearch 엔드포인트 및 OpenSearch 대시보드 엔드포인트를 포함하여 하나 이상의 컬렉션에 대한 자세한 정보를 보려면 BatchGetCollection 요청을 보냅니다.

aws opensearchserverless batch-get-collection --ids ["07tjusf2h91cunochc", "1iu5usc4rame"]
참고

요청에 --names 또는 --ids를 포함할 수 있지만 둘 다 포함할 수는 없습니다.

샘플 응답

{ "collectionDetails":[ { "id": "07tjusf2h91cunochc", "name": "my-collection", "status": "ACTIVE", "type": "SEARCH", "description": "", "arn": "arn:aws:aoss:us-east-1:123456789012:collection/07tjusf2h91cunochc", "kmsKeyArn": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "createdDate": 1667446262828, "lastModifiedDate": 1667446300769, "collectionEndpoint": "https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com", "dashboardEndpoint": "https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com/_dashboards" }, { "id": "178ukvtg3i82dvopdid", "name": "another-collection", "status": "ACTIVE", "type": "TIMESERIES", "description": "", "arn": "arn:aws:aoss:us-east-1:123456789012:collection/178ukvtg3i82dvopdid", "kmsKeyArn": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "createdDate": 1667446262828, "lastModifiedDate": 1667446300769, "collectionEndpoint": "https://178ukvtg3i82dvopdid.us-east-1.aoss.amazonaws.com", "dashboardEndpoint": "https://178ukvtg3i82dvopdid.us-east-1.aoss.amazonaws.com/_dashboards" } ], "collectionErrorDetails":[] }

컬렉션 삭제

컬렉션을 삭제하면 컬렉션의 모든 데이터와 인덱스가 삭제됩니다. 컬렉션을 삭제한 후에는 복구할 수 없습니다.

콘솔을 사용하여 컬렉션 삭제하기
  1. Amazon OpenSearch Service 콘솔의 Collections(컬렉션) 패널에서 삭제할 컬렉션을 선택합니다.

  2. [삭제(Delete)]를 선택하고 삭제 의사를 확인합니다.

AWS CLI를 사용하여 컬렉션을 삭제하려면 DeleteCollection 요청을 보냅니다.

aws opensearchserverless delete-collection --id 07tjusf2h91cunochc

샘플 응답

{ "deleteCollectionDetail":{ "id":"07tjusf2h91cunochc", "name":"my-collection", "status":"DELETING" } }