Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
OpenSearch Service 클러스터의 수동 스냅샷 오류를 해결하려면 어떻게 해야 합니까?
Amazon OpenSearch Service 클러스터의 수동 스냅샷을 복원하고 리포지토리를 등록하거나 액세스하려고 하면 오류가 표시됩니다.
해결 방법
OpenSearch Service 버전에 적합한 마이그레이션 프로세스를 완료하지 않으면 오류가 표시됩니다. 문제를 해결하려면 표시된 오류에 해당하는 해결 방법을 완료하십시오.
403 Unauthorized error
OpenSearch Service 도메인에서 세분화된 액세스 제어(FGAC)를 활성화한 경우, 스냅샷을 생성할 때 다음과 유사한 오류 메시지가 표시될 수 있습니다.
"type: security_exception,
reason: no permissions for [cluster:admin/repository/put] and User [name=arn:aws:iam::012345678912:user/username, backend_roles=[], requestedTenant=null]
status: 403"
위 오류는 올바른 자격 증명을 제공하지 않을 경우에 발생합니다.
이 문제를 해결하려면 수동 스냅샷을 생성할 때 다음 curl 명령을 실행하여 username:password 파라미터를 지정하십시오.
curl -XPUT -u 'username:password' 'opensearch-domain-endpoint/_snapshot/snapshot-repository-name/snapshot-name'
참고: OpenSearch Service 도메인에 대해 FGAC를 활성화하려면 수퍼 사용자여야 합니다. 슈퍼 사용자 이름과 암호를 사용하거나 AWS Identity Access Management(AWS IAM) 역할을 슈퍼 사용자로 설정할 수 있습니다. 클러스터 스냅샷에 액세스할 때 슈퍼 사용자 보안 인증 또는 IAM 역할을 지정합니다. IAM 역할을 지정하는 경우 IAM 역할이 AWS 서명 버전 4를 사용하여 HTTP 요청에 서명해야 합니다. FGAC 및 IAM 역할에 대한 자세한 내용은 OpenSearch Service 도메인 만들기 및 관리를 참조하십시오.
또한 manage_snapshots 역할을 IAM 역할에 매핑하고 스냅샷 리포지토리를 등록해야 합니다. IAM 역할을 수임하려면 manage_snapshots 역할에 IAM:PassRole 권한이 있어야 합니다. 자세한 내용은 사전 요구 사항을 참조하십시오.
illegal_state_exception
Amazon Simple Storage Service(Amazon S3) 버킷을 사용하여 여러 도메인에 대한 수동 스냅샷을 생성하면 다음과 비슷한 오류 메시지가 표시됩니다.
"type: illegal_state_exception
reason: Can't get text on a FIELD_NAME at 1:1838
status: 500"
위의 오류를 해결하려면 새 Amazon S3 버킷을 만들고 수동 스냅샷을 생성하거나 기존 버킷에서 모든 데이터를 지우십시오.
Repository_missing_exception
수동 인덱스 스냅샷을 생성하기 전에 OpenSearch Service에 수동 스냅샷 리포지토리를 등록해야 합니다. 또한 수동 스냅샷 사전 요구 사항도 충족해야 합니다.
스냅샷 리포지토리를 등록하지 않았거나, 리포지토리 이름이 잘못되었거나, 사전 요구 사항을 충족하지 않은 경우 다음과 같은 오류 메시지가 표시됩니다.
"type: repository_missing_exception
reason: [snapshot-repository-name] missing
status: 404"
Concurrent_snapshot_execution_exception
다른 스냅샷이 진행 중일 때 스냅샷을 생성하려고 하면 다음과 같은 오류 메시지가 표시됩니다.
type: concurrent_snapshot_execution_exception
reason: [snapshot-repository-name:snapshot-name] a snapshot is already running"
다른 스냅샷이 진행 중인지 확인하려면 다음 curl 명령을 실행합니다.
curl -XGET 'opensearch-domain-endpoint/_snapshot/_status'
스냅샷이 진행 중이면 현재 스냅샷이 완료될 때까지 기다리십시오. 스냅샷이 멈춘 경우에는 시간별 스냅샷 기록을 확인하십시오. 자세한 내용은 인덱스를 삭제하거나 OpenSearch Service 클러스터를 업그레이드할 수 없는 이유는 무엇입니까?를 참조하십시오.
Snapshot_restore_exception
온프레미스 클러스터에서 OpenSearch Service 도메인으로 데이터를 마이그레이션하는 경우 다음과 같은 오류 메시지가 표시될 수 있습니다.
type: snapshot_restore_exception
reason: [manual-snapshot-repo:my-manual-snapshot1/HPOcIJryTj6a6GJvyP79bw] the snapshot was created with Elasticsearch version [6.8.0] which is higher than the version of this node [6.7.0]
status: 500"
OpenSearch Service와 다른 버전의 Amazon Elasticsearch에서 실행되는 기존 클러스터의 스냅샷을 생성하면 위의 오류가 발생합니다. 이 문제를 해결하려면 Elasticsearch 버전을 업그레이드하십시오. 또는 원격 재인덱스 API 작업을 사용하여 인덱스를 마이그레이션합니다.
도메인의 FGAC를 활성화하고 스냅샷에서 인덱스를 복원하려고 하면 다음과 같은 오류 메시지가 표시될 수 있습니다.
"type: security_exception
reason: no permissions for [] and User [name=username, backend_roles=[], requestedTenant=]
status: 403"
위의 오류를 해결하려면 다음 curl 명령을 실행하여 보안 인덱스를 제외합니다.
curl -XPOST -u 'username:password' "https://opensearch-domain-endpoint/_snapshot/snapshot-repository/snapshot-id/_restore" -H 'Content-Type: application/json' -d' { "indices": "-.opensearch*,-.opendistro*,-.kibana*" }'
참고: 이전 명령의 예제 값을 해당 값으로 바꾸십시오.
a_w_s_security_token_service_exception
수동 스냅샷과 연결된 IAM 역할에 es.amazonaws.com에 대한 신뢰 관계가 설정되어 있지 않은 경우 다음과 같은 오류 메시지가 표시됩니다.
"type: repository_exception
reason: [es_01082021_repo] Could not determine repository generation from root blobs
type: i_o_exception
reason: Exception when listing blobs by prefix [index-]
type: a_w_s_security_token_service_exception
reason: a_w_s_security_token_service_exception: User: arn:aws:sts::332315457451:assumed-role/cp-sts-grant-role/swift-us-west-2-prod-679203657591 is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::679203657591:role/ES_Backup_Role (Service: AWSSecurityTokenService; Status Code: 403; Error Code: AccessDenied; Request ID: 36d09b93-d94f-457e-8fa5-b0a50ba436c3)
status: 500"
이 문제를 해결하려면 스냅샷 리포지토리를 등록할 때 수동 스냅샷과 연결된 IAM 역할을 지정해야 합니다. IAM 역할이 없다면 새로 만드십시오.
또한 Principal 문에서 IAM 역할의 신뢰 관계에 OpenSearch Service가 명시되어 있는지 확인하십시오.
신뢰 관계의 예:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "", "Effect": "Allow", "Principal": { "Service": "es.amazonaws.com" }, "Action": "sts:AssumeRole" }] }
PARTIAL 스냅샷 상태
스냅샷이 PARTIAL 상태가 되는 이유는 다음과 같습니다.
- 클러스터에서 사용할 수 없는 기본 샤드
- 빨간색 클러스터 상태
- 노드 충돌
스냅샷이 PARTIAL 상태인 경우 OpenSearch Service에서 샤드의 데이터를 저장하지 않은 것입니다. 부분 스냅샷에서 데이터를 복원할 수 있지만 누락된 인덱스를 복원하려면 이전 스냅샷을 사용해야 합니다. 클러스터가 PARTIAL 상태인지 확인하려면 스냅샷 기록을 확인하십시오.
Amazon S3 Glacier 스토리지 클래스 문제
복원된 스냅샷을 Amazon S3 Glacier 스토리지 클래스 중 하나에 저장하는 경우 Amazon S3 Glacier 수명 주기 규칙을 버킷에 적용하지 마십시오. 수동 스냅샷은 S3 Glacier 스토리지 클래스를 지원하지 않습니다. S3 Glacier 수명 주기 정책을 버킷에 적용하는 경우 버킷으로 전환되는 객체를 표준 스토리지 클래스로 다시 이동합니다.
객체를 다시 이동한 후 스냅샷에서 객체를 복원할 수 있습니다. 자세한 내용은 사전 요구 사항을 참조하십시오.
관련 정보
Amazon OpenSearch Service에서 오류를 해결하려면 어떻게 해야 합니까?"cannot restore index [.kibana]"
- 언어
- 한국어

관련 콘텐츠
- 질문됨 2년 전
- 질문됨 2년 전