스냅샷을 사용하여 컬렉션 백업 - Amazon OpenSearch Service

스냅샷을 사용하여 컬렉션 백업

스냅샷은 재해 복구 기능을 제공하는 Amazon OpenSearch Serverless 컬렉션의 시점 백업입니다. OpenSearch Serverless는 자동으로 컬렉션의 스냅샷을 생성하고 관리하여 비즈니스 연속성과 데이터 보호를 보장합니다. 각 스냅샷에는 다음이 포함됩니다.

  • 인덱스 메타데이터: 인덱스에 대한 설정 및 매핑

  • 클러스터 메타데이터: 인덱스 템플릿 및 별칭

  • 인덱스 데이터: 인덱스에 저장된 모든 문서 및 데이터

주요 이점

  • 수동 구성이 필요 없는 자동 시간별 백업

  • 유지 관리 오버헤드 없음

  • 추가 스토리지 비용 없음

  • 실수로 인한 데이터 손실로부터의 빠른 복구

  • 스냅샷에서 특정 인덱스를 복원하는 기능

중요 고려 사항

  • 스냅샷 생성은 즉각적으로 이루어지지 않으며 완료하는 데 시간이 걸립니다.

  • 스냅샷 생성 중 새 문서 또는 업데이트는 스냅샷에 포함되지 않을 수 있습니다.

  • 스냅샷은 원래 컬렉션에만 복원할 수 있으며 새 컬렉션에는 복원할 수 없습니다.

  • 복원되면 인덱스는 원래 버전과 다른 새 UUID를 수신합니다.

  • 한 번에 하나의 작업만 실행할 수 있습니다.

  • 동일한 컬렉션에서 동시에 여러 복원 작업을 시작할 수 없습니다. 활성 복원 작업 중에 인덱스를 복원하려고 하면 작업이 실패합니다.

  • 복원 작업 중에는 인덱스에 대한 요청이 실패합니다.

필수 권한

스냅샷을 사용하려면 데이터 액세스 정책에서 다음 권한을 구성합니다. 데이터 액세스 정책에 대한 자세한 내용은 데이터 액세스 정책 대 IAM 정책 섹션을 참조하세요.

데이터 액세스 정책 API
aoss:DescribeSnapshot

GET /_cat/snapshots

GET /_cat/snapshots/aoss-automated/

GET _snapshot/aoss-automated/snapshot/

aoss:RestoreSnapshot POST /_snapshot/aoss-automated/snapshot/_restore
aoss:DescribeCollectionItems GET /_cat/recovery

다음 AWS CLI 명령을 사용하여 정책을 구성할 수 있습니다.

다음은 액세스 정책을 생성하는 샘플 CLI 명령입니다.

aws opensearchserverless create-access-policy \ --type data \ --name AWSExample-data-access-policy \ --region us-west-2 \ --policy '[ { "Rules": [ { "Resource": [ "collection/AWSExample-collection" ], "Permission": [ "aoss:DescribeSnapshot", "aoss:RestoreSnapshot", "aoss:DescribeCollectionItems" ], "ResourceType": "collection" } ], "Principal": [ "arn:aws:iam::AWSExample-account-ID:user/AWSExample-user" ], "Description": "Data policy to support snapshot operations." } ]'

스냅샷 작업

기본적으로 새 컬렉션을 생성하면 OpenSearch Serverless가 매시간 스냅샷을 자동으로 생성합니다. 사용자는 아무 작업도 수행할 필요가 없습니다. 각 스냅샷에는 컬렉션의 모든 인덱스가 포함됩니다. OpenSearch Serverless가 스냅샷을 생성하고 나면, 다음 명령을 사용하여 스냅샷을 나열하고 스냅샷의 세부 정보를 볼 수 있습니다.

스냅샷 나열

다음 명령을 사용하여 컬렉션의 모든 스냅샷을 나열합니다.

GET /_cat/snapshots/aoss-automated/

OpenSearch Serverless는 다음과 같은 응답을 반환합니다.

id status start_epoch start_time end_epoch end_time duration indices successful_shards failed_shards total_shards snapshot-AWSExampleSnapshotID1 SUCCESS 1737964331 07:52:11 1737964382 07:53:02 50.4s 1 snapshot-AWSExampleSnapshotID2 SUCCESS 1737967931 08:52:11 1737967979 08:52:59 47.7s 2 snapshot-AWSExampleSnapshotID3 SUCCESS 1737971531 09:52:11 1737971581 09:53:01 49.1s 3 snapshot-AWSExampleSnapshotID4 IN_PROGRESS 1737975131 10:52:11 - - 4.8d 3

스냅샷 가져오기

스냅샷에 대한 정보를 검색합니다.

GET _snapshot/aoss-automated/snapshot/

요청 예시

GET _snapshot/aoss-automated/snapshot-AWSExampleSnapshotID1/

응답의 예

{ "snapshots": [ { "snapshot": "snapshot-AWSExampleSnapshotID1-5e01-4423-9833Example", "uuid": "AWSExample-5e01-4423-9833-9e9eb757Example", "version_id": 136327827, "version": "2.11.0", "remote_store_index_shallow_copy": true, "indices": [ "AWSExample-index-0117" ], "data_streams": [], "include_global_state": true, "metadata": {}, "state": "SUCCESS", "start_time": "2025-01-27T09:52:11.953Z", "start_time_in_millis": 1737971531953, "end_time": "2025-01-27T09:53:01.062Z", "end_time_in_millis": 1737971581062, "duration_in_millis": 49109, "failures": [], "shards": { "total": 0, "failed": 0, "successful": 0 } } ] }

스냅샷 응답 필드 이해

id

스냅샷 작업의 고유 식별자입니다.

status

스냅샷 작업의 현재 상태입니다. 가능한 값은 다음과 같습니다.

  • SUCCESS

  • IN_PROGRESS

기간

스냅샷 작업을 완료하는 데 걸린 시간입니다.

indices

스냅샷에 포함된 인덱스의 수입니다.

스냅샷에서 복원

스냅샷에서 복원하면 이전에 생성한 백업을 기반으로 데이터를 복구할 수 있습니다. 이 프로세스는 OpenSearch Serverless의 재해 복구와 데이터 관리에 매우 중요합니다.

중요 고려 사항

  1. 복원된 인덱스의 UUID는 원래 버전과 다릅니다.

  2. 스냅샷은 원래 컬렉션으로만 복원할 수 있습니다. 교차 컬렉션 복원은 지원되지 않습니다.

  3. 복원 작업은 클러스터 성능에 영향을 미칠 수 있습니다. 이에 따라 적절한 계획을 수립해야 합니다.

백업된 인시던트를 스냅샷에서 복원하려면
  1. 다음 명령을 실행하여 적절한 스냅샷을 식별합니다.

    GET /_snapshot/aoss-automated/_all

    스냅샷 목록을 간단하게 보려면 다음 명령을 실행합니다.

    GET /_cat/snapshots/aoss-automated/
  2. 다음 명령을 실행하여 복원하기 전에 스냅샷의 세부 정보를 확인합니다.

    GET _snapshot/aoss-automated/snapshot-AWSExampleSnapshotID1/
  3. 특정 스냅샷에서 복원하려면 다음 명령을 실행합니다.

    POST /_snapshot/aoss-automated/snapshot-ID/_restore

    요청 본문을 포함함으로써 복원 작업을 사용자 지정할 수 있습니다. 다음은 그 예입니다.

    POST /_snapshot/aoss-automated/snapshot-AWSExampleSnapshotID1-5e01-4423-9833Example/_restore { "indices": "opensearch-dashboards*,my-index*", "ignore_unavailable": true, "include_global_state": false, "include_aliases": false, "rename_pattern": "opensearch-dashboards(.+)", "rename_replacement": "restored-opensearch-dashboards$1" }
  4. 다음 명령을 실행하여 복원 진행 상황을 확인합니다.

    GET /_cat/recovery
참고

요청 본문을 포함하는 명령으로 스냅샷을 복원할 경우, 다음 파라미터를 사용하여 복원 동작을 제어할 수 있습니다.

indices

복원할 인덱스를 지정합니다. 이 파라미터는 와일드카드 패턴을 지원합니다.

ignore_unavailable

스냅샷의 인덱스가 누락된 경우에도 복원 작업을 계속하도록 허용합니다.

include_global_state

클러스터 상태를 복원할지 여부를 결정합니다.

include_aliases

연결된 별칭을 복원할지 여부를 제어합니다.

rename_pattern 및 rename_replacement

복원 작업 중에 인덱스의 이름을 바꾸도록 허용합니다.