InvalidRestoreTimeException

요약 — 요청한 RestoreDateTime이 이 테이블의 시점 복구 창 밖에 있습니다. PITR은 복구 기간(1~35일 사이로 구성 가능, 최대 지난 35일) 내 어느 초로든 복원하게 해줍니다 — 그러나 창은 PITR이 활성화되기 전으로 시작할 수도 없습니다. DescribeContinuousBackups에서 테이블의 실제 창을 읽고 그 안의 시간을 고르거나, "가능한 한 최근"을 위해 UseLatestRestorableTime을 전달하세요.

무엇을 의미하나요

InvalidRestoreTimeException: An invalid restore time was specified.
RestoreDateTime must be between EarliestRestorableDateTime and
LatestRestorableDateTime.

모든 PITR 활성화 테이블은 EarliestRestorableDateTime(복구 기간만큼 뒤로, 그러나 PITR이 켜지기 전으로는 결코)과 LatestRestorableDateTime(일반적으로 현재 시간의 약 5분 전)으로 경계 지어진 롤링 창을 지닙니다. 그 경계 밖의 복원 요청 — 너무 오래되었거나 지금 에 너무 가까움 — 은 이 예외로 실패합니다.

왜 발생하나요

  • 시간이 복구 기간보다 오래됨 — 복구하려는 사건이 창(최대 35일, 더 짧은 기간이 구성되면 더 적음) 전에 발생했습니다.
  • PITR이 최근에 활성화됨 — 창은 활성화 시점부터 시작합니다. 35일 이내라도 그 순간 이전으로 복원할 수 없습니다.
  • 시간이 너무 최근임LatestRestorableDateTime은 실제 시간보다 약 5분 뒤처집니다. "30초 전으로 복원"은 아직 창에 없습니다.
  • 시간대/형식 미끄러짐 — UTC 에포크 초가 의도된 곳에 로컬 시간 타임스탬프를 보내면, 알아채지 못한 채 창 밖에 착지합니다.

어떻게 고치나요

  1. 먼저 실제 창을 읽으세요:

    aws dynamodb describe-continuous-backups --table-name orders
    # ...PointInTimeRecoveryDescription:
    #    EarliestRestorableDateTime, LatestRestorableDateTime
  2. 그 안의 RestoreDateTime을 고르거나(에포크 초, UTC), 시간을 지정하지 않고 가장 최신 사용 가능한 상태를 취하세요:

    aws dynamodb restore-table-to-point-in-time \
      --source-table-name orders --target-table-name orders-recovered \
      --use-latest-restorable-time
  3. 창보다 오래된 데이터가 필요한가요? PITR은 그것에 도달할 수 없습니다 — 그 시기에 만든 온디맨드 백업이나 테이블 내보내기가 있다면 그것으로 대체하세요.

  4. 복원이 무엇을 가져오지 않는지 기억하세요 — 새 테이블은 데이터, 인덱스, 용량과 암호화 설정을 얻지만, 오토 스케일링 정책, IAM 정책, CloudWatch 경보, 태그, 스트림 설정, TTL, 그리고 PITR 자체는 다시 만들어야 합니다.

복원이 착지한 후 트래픽을 전환하기 전에 복구된 데이터를 검증하세요 — DynoTable 데스크톱 앱은 복구된 테이블을 기대치와 비교하는 것을 탐색 작업으로 만들고, DynamoDB 요금 계산기는 새 테이블의 용량 비용을 산정합니다.

관련 오류

References

공식 AWS 문서(위 링크)를 기준으로 2026-07-13에 마지막으로 검증되었습니다.

Console 없이 DynamoDB 작업하기

DynoTable은 DynamoDB를 위한 빠른 데스크톱 클라이언트입니다 — 테이블을 탐색하고, SQL 스타일 쿼리를 실행하고, 항목을 로컬에서 편집하세요.