Amazon OpenSearch Serverless를 통한 데이터 수명 주기 정책 사용 - Amazon OpenSearch Service

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

Amazon OpenSearch Serverless를 통한 데이터 수명 주기 정책 사용

Amazon OpenSearch Serverless의 데이터 수명 주기 정책은 OpenSearch Serverless가 시계열 컬렉션에 데이터를 보존하는 기간을 정의합니다. 예를 들어 OpenSearch Serverless가 로그 데이터를 삭제하기 전에 30일 동안 로그 데이터를 보존하도록 정책을 설정할 수 있습니다.

의 각 시계열 컬렉션 내에서 각 인덱스에 대해 별도의 정책을 구성할 수 있습니다 AWS 계정. OpenSearch Serverless는 최소한 정책에서 지정한 기간 동안 문서를 보존합니다. 그런 다음 일반적으로 보존 기간의 48시간 또는 10% 중 더 긴 시간 내에 최선을 다해 문서를 자동으로 삭제합니다.

시계열 컬렉션만 데이터 수명 주기 정책을 지원합니다. 검색 및 벡터 검색 컬렉션은 그렇지 않습니다.

데이터 수명 주기 정책

데이터 수명 주기 정책에서는 일련의 규칙을 지정합니다. 데이터 수명 주기 정책을 사용하면 이러한 규칙과 일치하는 인덱스 또는 컬렉션과 관련된 데이터의 보존 기간을 관리할 수 있습니다. 이러한 규칙은 인덱스 또는 인덱스 그룹에 있는 데이터의 보존 기간을 정의합니다. 각 규칙은 리소스 유형(index), 보존 기간, 보존 기간이 적용되는 리소스 목록(인덱스)으로 구성됩니다.

다음 형식 중 하나를 사용하여 보존 기간을 정의합니다.

  • "MinIndexRetention": "24h"— OpenSearch Serverless는 지정된 기간 동안 인덱스 데이터를 시간 또는 일 단위로 보존합니다. 이 기간을 24h부터 3650d까지 설정할 수 있습니다.

  • "NoMinIndexRetention": true— OpenSearch Serverless는 인덱스 데이터를 무기한 보존합니다.

다음 샘플 정책에서 첫 번째 규칙은 컬렉션 marketing 내 모든 인덱스의 보존 기간을 15일로 지정합니다. 두 번째 규칙은 finance 컬렉션에서 log로 시작하는 모든 인덱스 이름에 보존 기간을 설정하지 않고 무기한 보존하도록 지정합니다.

{ "lifeCyclePolicyDetail": { "type": "retention", "name": "my-policy", "policyVersion": "MTY4ODI0NTM2OTk1N18x", "policy": { "Rules": [ { "ResourceType":"index", "Resource":[ "index/marketing/*" ], "MinIndexRetention": "15d" }, { "ResourceType":"index", "Resource":[ "index/finance/log*" ], "NoMinIndexRetention": true } ] }, "createdDate": 1688245369957, "lastModifiedDate": 1688245369957 } }

다음 샘플 정책 규칙에서 OpenSearch Serverless는 계정 내 모든 컬렉션에 대해 모든 인덱스의 데이터를 무기한 보존합니다.

{ "Rules": [ { "ResourceType": "index", "Resource": [ "index/*/*" ] } ], "NoMinIndexRetention": true }

필수 권한

OpenSearch Serverless의 수명 주기 정책은 다음 AWS Identity and Access Management (IAM) 권한을 사용합니다. IAM 조건을 지정하여 사용자를 특정 컬렉션 및 인덱스와 연결된 데이터 수명 주기 정책으로 제한할 수 있습니다.

  • aoss:CreateLifecyclePolicy - 데이터 수명 주기 정책 생성.

  • aoss:ListLifecyclePolicies – 현재 계정의 모든 데이터 수명 주기 정책을 나열합니다.

  • aoss:BatchGetLifecyclePolicy— 계정 또는 정책 이름과 관련된 데이터 수명 주기 정책을 확인합니다.

  • aoss:BatchGetEffectiveLifecyclePolicy— 주어진 리소스(index는 지원되는 유일한 리소스임)에 대한 데이터 수명 주기 정책을 확인합니다.

  • aoss:UpdateLifecyclePolicy— 주어진 데이터 수명 주기 정책을 수정하고 해당 보존 설정 또는 리소스를 변경합니다.

  • aoss:DeleteLifecyclePolicy - 데이터 수명 주기 정책 삭제.

다음 자격 증명 기반 액세스 정책을 통해 사용자는 모든 데이터 수명 주기 정책을 보고 리소스 패턴 collection/application-logs로 정책을 업데이트할 수 있습니다.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aoss:UpdateLifecyclePolicy" ], "Resource": "*", "Condition": { "StringEquals": { "aoss:collection": "application-logs" } } }, { "Effect": "Allow", "Action": [ "aoss:ListLifecyclePolicies", "aoss:BatchGetLifecyclePolicy" ], "Resource": "*" } ] }

정책 우선순위

데이터 수명 주기 정책 규칙이 정책 내에서 또는 정책 간에 중복되는 상황이 있을 수 있습니다. 이 경우 인덱스에 대해 보다 구체적인 리소스 이름이나 패턴을 사용하는 규칙이 두 규칙에 모두 공통되는 모든 인덱스에 대해 보다 일반적인 리소스 이름 또는 패턴으로 규칙을 재정의합니다.

예를 들어, 다음 정책에서는 인덱스 index/sales/logstash에 두 가지 규칙이 적용됩니다. 이 경우 index/sales/log*index/sales/logstash와 가장 길게 일치하므로 두 번째 규칙이 우선시됩니다. 따라서 OpenSearch Serverless는 인덱스에 보존 기간을 설정하지 않습니다.

{ "Rules":[ { "ResourceType":"index", "Resource":[ "index/sales/*", ], "MinIndexRetention": "15d" }, { "ResourceType":"index", "Resource":[ "index/sales/log*", ], "NoMinIndexRetention": true } ] }

정책 구문

하나 이상의 규칙을 입력합니다. 이러한 규칙은 OpenSearch Serverless 인덱스의 데이터 수명 주기 설정을 정의합니다.

각 규칙에는 다음 요소가 포함됩니다. 각 규칙에 MinIndexRetention 또는 NoMinIndexRetention을 제공할 수 있지만 둘 다 제공할 수는 없습니다.

Element 설명
리소스 유형 규칙이 적용되는 리소스 유형입니다. 데이터 수명 주기 정책에 지원되는 유일한 옵션은 index입니다.
리소스 리소스 이름 및/또는 패턴 목록. 패턴은 접두사와 와일드카드(*)로 구성되며, 이를 통해 연결된 권한을 여러 리소스에 적용할 수 있습니다. 예를 들어 index/<collection-name|pattern>/<index-name|pattern>입니다.
MinIndexRetention 문서를 인덱스에 보존하는 최소 기간은 d일 또는 h시간입니다. 하한은 24h이고 상한은 3650d입니다.
NoMinIndexRetention true인 경우 OpenSearch Serverless는 문서를 무기한 보존합니다.

다음 예제에서 첫 번째 규칙은 autoparts-inventory 패턴(index/autoparts-inventory/*) 아래의 모든 인덱스에 적용되며 삭제 또는 아카이빙과 같은 작업이 발생하기 전에 최소 20일 동안 데이터를 보존해야 합니다.

두 번째 규칙은 auto*/gear 패턴(index/auto*/gear)과 일치하는 인덱스를 대상으로 하여 최소 보존 기간을 24시간으로 설정합니다.

세 번째 규칙은 특히 tires 인덱스에 적용되며 최소 보존 기간이 없습니다. 즉,이 인덱스의 데이터를 즉시 삭제하거나 보관하거나 다른 기준에 따라 보관할 수 있습니다. 이러한 규칙은 보존 기간이 다르거나 보존 제한이 없는 인덱스 데이터의 보존을 관리하는 데 도움이 됩니다.

{ "Rules": [ { "ResourceType": "index", "Resource": [ "index/autoparts-inventory/*" ], "MinIndexRetention": "20d" }, { "ResourceType": "index", "Resource": [ "index/auto*/gear" ], "MinIndexRetention": "24h" }, { "ResourceType": "index", "Resource": [ "index/autoparts-inventory/tires" ], "NoMinIndexRetention": true } ] }

데이터 수명 주기 정책 생성

데이터 수명 주기 정책을 생성하려면 지정된 기준에 따라 데이터의 보존 및 삭제를 관리하는 규칙을 정의합니다.

데이터 수명 주기 정책을 생성하려면
  1. https://console.aws.amazon.com/aos/home Amazon OpenSearch Service 콘솔에 로그인합니다.

  2. 왼쪽 탐색 창에서 데이터 수명 주기 정책을 선택합니다.

  3. 데이터 수명 주기 정책 생성을 선택합니다.

  4. 정책을 설명하는 이름을 입력합니다.

  5. 데이터 수명 주기에서 추가를 선택하고 정책의 컬렉션 및 인덱스를 선택합니다.

    먼저 인덱스가 속한 컬렉션을 선택합니다. 그런 다음 목록에서 인덱스를 선택하거나 인덱스 패턴을 입력합니다. 모든 컬렉션을 소스로 선택하려면 별표()를 입력합니다*.

  6. 데이터 보존의 경우 데이터를 무기한 보존하도록 선택하거나 무제한(삭제하지 않음)을 선택 취소하고 OpenSearch Serverless가 Amazon S3에서 데이터를 자동으로 삭제하는 기간을 지정할 수 있습니다.

  7. 저장을 선택한 다음 생성을 선택합니다.

를 사용하여 데이터 수명 주기 정책을 생성하려면 다음 옵션과 함께 create-lifecycle-policy 명령을 AWS CLI사용합니다.

  • --name - 정책의 이름입니다.

  • --type - 정책의 유형입니다. 현재 사용 가능한 유일한 값은 입니다retention.

  • --policy - 데이터 수명 주기 정책입니다. 이 파라미터는 인라인 정책과 .json 파일을 모두 허용합니다. 인라인 정책을 JSON 이스케이프 문자열로 인코딩해야 합니다. 파일에 정책을 제공하려면 형식을 사용합니다--policy file://my-policy.json.

aws opensearchserverless create-lifecycle-policy \ --name my-policy \ --type retention \ --policy "{\"Rules\":[{\"ResourceType\":\"index\",\"Resource\":[\"index/autoparts-inventory/*\"],\"MinIndexRetention\": \"81d\"},{\"ResourceType\":\"index\",\"Resource\":[\"index/sales/orders*\"],\"NoMinIndexRetention\":true}]}"

데이터 수명 주기 정책 업데이트

데이터 수명 주기 정책을 업데이트하려면 데이터 보존 또는 삭제 요구 사항의 변경 사항을 반영하도록 기존 규칙을 수정할 수 있습니다. 이를 통해 데이터 관리 요구 사항이 발전함에 따라 정책을 조정할 수 있습니다.

정책을 업데이트하는 시점과 OpenSearch Serverless가 새 보존 기간을 적용하기 시작하는 시점 사이에 몇 분의 지연 시간이 있을 수 있습니다.

데이터 수명 주기 정책을 업데이트하려면
  1. https://console.aws.amazon.com/aos/home Amazon OpenSearch Service 콘솔에 로그인합니다.

  2. 왼쪽 탐색 창에서 데이터 수명 주기 정책을 선택합니다.

  3. 업데이트할 데이터 수명 주기 정책을 선택한 다음 편집을 선택합니다.

  4. 시각적 편집기 또는 JSON 편집기를 사용하여 정책을 수정합니다.

  5. 저장을 선택합니다.

를 사용하여 데이터 수명 주기 정책을 업데이트하려면 update-lifecycle-policy 명령을 AWS CLI사용합니다.

요청에 --policy-version 파라미터를 포함해야 합니다. list-lifecycle-policies 또는 batch-get-lifecycle-policy 명령을 사용하여 정책 버전을 검색할 수 있습니다. 다른 사용자가 변경한 내용을 실수로 덮어쓰지 않도록 최신 정책 버전을 포함하는 것이 좋습니다.

다음 요청은 데이터 수명 주기 정책을 새 정책 JSON 문서로 업데이트합니다.

aws opensearchserverless update-lifecycle-policy \ --name my-policy \ --type retention \ --policy-version MTY2MzY5MTY1MDA3Ml8x \ --policy file://my-new-policy.json

데이터 수명 주기 정책 삭제

데이터 수명 주기 정책을 삭제하면 OpenSearch Serverless는 더 이상 일치하는 인덱스에 해당 정책을 적용하지 않습니다.

데이터 수명 주기 정책을 삭제하려면
  1. https://console.aws.amazon.com/aos/home Amazon OpenSearch Service 콘솔에 로그인합니다.

  2. 왼쪽 탐색 창에서 데이터 수명 주기 정책을 선택합니다.

  3. 삭제할 정책을 선택한 다음 삭제를 선택하고 삭제를 확인합니다.

를 사용하여 데이터 수명 주기 정책을 삭제하려면 delete-lifecycle-policy 명령을 AWS CLI사용합니다.

aws opensearchserverless delete-lifecycle-policy \ --name my-policy \ --type retention