Excepción de tiempo de restauración no válida

TL;DR: El RestoreDateTime que solicitó está fuera de la ventana de recuperación en un momento dado de esta tabla. PITR le permite restaurar a cualquier segundo dentro del período de recuperación (configurable entre 1 y 35 días, como máximo los últimos 35 días), pero la ventana tampoco puede iniciarse antes de que se habilite PITR. Lea la ventana real de la tabla desde DescribeContinuousBackups y elija una hora dentro de ella, o pase UseLatestRestorableTime para "lo más reciente posible".

Qué significa

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

Cada tabla con PITR habilitado lleva una ventana móvil acotada por EarliestRestorableDateTime (hasta el periodo de recuperación hacia atrás, pero nunca antes de que PITR se activara) y LatestRestorableDateTime (normalmente unos 5 minutos antes de la hora actual). Una solicitud de restauración fuera de esos límites — demasiado antigua, o demasiado cercana a ahora — falla con esta excepción.

Por qué ocurre

  • La hora es más antigua que el periodo de recuperación — el incidente del que te estás recuperando ocurrió antes de la ventana (35 días como máximo, menos si se configura un periodo más corto).
  • PITR se habilitó recientemente — la ventana empieza en el momento de habilitación; no puedes restaurar a antes de ese momento ni siquiera dentro de los 35 días.
  • La hora es demasiado recienteLatestRestorableDateTime va por detrás de la hora real ~5 minutos; "restaurar a hace 30 segundos" aún no está en la ventana.
  • Deslices de zona horaria/formato — una marca de tiempo en hora local enviada donde se esperaban segundos epoch en UTC cae fuera de la ventana sin que te des cuenta.

Cómo solucionarlo

  1. Lee primero la ventana real:

    aws dynamodb describe-continuous-backups --table-name orders
    # ...PointInTimeRecoveryDescription:
    #    EarliestRestorableDateTime, LatestRestorableDateTime
  2. Elige un RestoreDateTime dentro de ella (segundos epoch, UTC), o toma el estado más reciente disponible sin nombrar una hora:

    aws dynamodb restore-table-to-point-in-time \
      --source-table-name orders --target-table-name orders-recovered \
      --use-latest-restorable-time
  3. ¿Necesitas datos más antiguos que la ventana? PITR no puede alcanzarlos — recurre a una copia de seguridad bajo demanda o a una exportación de tabla hecha en esa época, si existe.

  4. Recuerda lo que una restauración no lleva — la nueva tabla obtiene los datos, los índices, la capacidad y la configuración de cifrado, pero debes volver a crear las políticas de auto scaling, las políticas de IAM, las alarmas de CloudWatch, las etiquetas, la configuración de streams, TTL y el propio PITR.

  5. Convierte las marcas de tiempo a segundos epoch en UTC. Una cadena en hora local que parece válida puede caer fuera de la ventana al interpretarse como UTC.

Ábrelo en DynoTable

Cuando la restauración termine, explora la tabla recuperada en DynoTable — ábrela con ⌘K y contrasta Items concretos con tu cronología del incidente antes de conmutar el tráfico. Compárala con la tabla de origen cambiando de perfil con ⌘P.

Dimensiona la capacidad de la nueva tabla con la calculadora de precios. Configura los perfiles en Ajustes → Perfiles con Test Connection para cada región. Consulta Conectar a AWS e Instalar.

Fuentes

Errores relacionados

Referencias

Verificado por última vez el 2026-07-13 contra la documentación oficial de AWS enlazada arriba.

Trabaja con DynamoDB sin la Consola

Un cliente de escritorio rápido para DynamoDB que ejecuta el SQL real que DynamoDB no puede — JOINs, GROUP BY, agregaciones — con edición visual y un agente de IA con tus propias claves de Bedrock.

Prueba gratuita de 30 días, sin tarjeta — después, el plan Free sin límite de tiempo.