Restauración de una tabla de DynamoDB a un momento específico
La recuperación a un momento dado (PITR) en Amazon DynamoDB crea backups continuos de los datos de tablas de DynamoDB. Puede restaurar tablas a un momento dado mediante la consola de DynamoDB o la AWS Command Line Interface (AWS CLI). El proceso de recuperación a un momento dado siempre restaura la información a una tabla nueva.
Si quiere utilizar la AWS CLI, primero tendrá que configurarla. Para obtener más información, consulte Acceso a DynamoDB.
Temas
Restauración de una tabla de DynamoDB a un momento específico (consola)
En el siguiente ejemplo de código, se muestra cómo utilizar la consola de DynamoDB para restaurar una tabla llamada Music
a un momento dado.
nota
En este procedimiento se presupone que ha habilitado la recuperación a un momento dado. Para habilitarla para la tabla Music
, en la pestaña Backups (Copias de seguridad), en la sección Point-in-time recovery (PITR) (Recuperación a un momento dado), elija Edit (Editar) y, a continuación, marque la casilla situada junto a Enable point-in-time-recovery (Habilitar la recuperación a un momento dado).
Para restaurar una tabla a un momento dado
Inicie sesión en la AWS Management Console y abra la consola de DynamoDB en https://console.aws.amazon.com/dynamodb/
. -
En el panel de navegación del lado izquierdo de la consola, elija Tables (Tablas).
-
En la lista de tablas, elija la tabla
Music
. -
En la pestaña Backups (Copias de seguridad) de la tabla
Music
, en la sección Point-in-time recovery (Recuperación a un momento dado), elija Restore (Restaurar). -
Para el nombre de tabla nuevo, escriba
MusicMinutesAgo
.nota
Puede restaurar la tabla en la misma región de AWS o en una región distinta a donde reside la tabla de origen. También puede excluir la creación de los índices secundarios en la tabla restaurada. Además, puede especificar un modo de cifrado diferente.
-
Para confirmar el momento de restauración, establezca la fecha y hora de restauración en Earliest (Más temprana). A continuación, elija Restore (Restaurar) para iniciar el proceso de restauración.
La tabla que se va a restaurar se muestra con el estado Restoring (Restaurándose). Una vez finalizado el proceso de restauración, el estado de la tabla
MusicMinutesAgo
cambia a Active (Activa).
Restauración de una tabla a un momento específico (AWS CLI)
En el siguiente procedimiento, se muestra cómo utilizar la AWS CLI para restaurar una tabla llamada Music
a un momento dado.
nota
En este procedimiento se presupone que ha habilitado la recuperación a un momento dado. Para habilitarlo en la tabla Music
, ejecute el siguiente comando.
aws dynamodb update-continuous-backups \ --table-name Music \ --point-in-time-recovery-specification PointInTimeRecoveryEnabled=True
Para restaurar una tabla a un momento dado
-
Para confirmar que la recuperación a un momento dado está habilitada en
Music
, utilice el comandodescribe-continuous-backups
.aws dynamodb describe-continuous-backups \ --table-name Music
Los backups continuos (se habilitan automáticamente al crear la tabla) y la recuperación a un momento dado están habilitados.
{ "ContinuousBackupsDescription": { "PointInTimeRecoveryDescription": { "PointInTimeRecoveryStatus": "ENABLED", "EarliestRestorableDateTime": 1519257118.0, "LatestRestorableDateTime": 1520018653.01 }, "ContinuousBackupsStatus": "ENABLED" } }
-
Restaure la tabla a un momento dado. En este caso, la tabla
Music
se restaura aLatestRestorableDateTime
(hace aproximadamente 5 minutos) a la misma región de AWS.aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicMinutesAgo \ --use-latest-restorable-time
nota
También puede restaurarla a un momento dado específico. Para ello, ejecute el comando utilizando el argumento
--restore-date-time
y especifique una marca temporal. Puede especificar cualquier momento de los últimos 35 días. Por ejemplo, el siguiente comando restaura la tabla al a fecha y hora del valorEarliestRestorableDateTime
.aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicEarliestRestorableDateTime \ --no-use-latest-restorable-time \ --restore-date-time 1519257118.0
Especificar el argumento
--no-use-latest-restorable-time
es opcional al restaurar datos a un momento dado específico. -
Restaure la tabla a un momento en el tiempo con la configuración de tabla personalizada. En este caso, la tabla
Music
se restaura a como era en la fecha y hora del valorLatestRestorableDateTime
(hace más o menos 5 minutos).Puede especificar un modo de cifrado distinto para la tabla restaurada, como se indica a continuación.
nota
El parámetro
sse-specification-override
toma los mismos valores que el parámetrosse-specification-override
utilizado en el comandoCreateTable
. Para obtener más información, consulte Administración de tablas de cifrado en DynamoDB.aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicMinutesAgo \ --use-latest-restorable-time \ --sse-specification-override Enabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234
Puede restaurar la tabla en una región de AWS distinta de aquella en la que reside la tabla de origen.
nota
-
El parámetro
sse-specification-override
es obligatorio para restauraciones entre regiones, pero opcional para restauraciones en la misma región que la tabla de origen. -
El parámetro
source-table-arn
debe proporcionarse para restauraciones entre regiones. -
Al realizar una restauración entre regiones desde la línea de comandos, debe establecer la región de AWS predeterminada en la región de destino deseada. Para obtener más información, consulte Opciones de línea de comandos en la Guía del usuario de AWS Command Line Interface.
aws dynamodb restore-table-to-point-in-time \ --source-table-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music \ --target-table-name MusicMinutesAgo \ --use-latest-restorable-time \ --sse-specification-override Enabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234
Puede reemplazar el modo de facturación y el rendimiento aprovisionado para la tabla restaurada.
aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicMinutesAgo \ --use-latest-restorable-time \ --billing-mode-override PAY_PER_REQUEST
Puede excluir la creación de algunos o de todos los índices secundarios en la tabla restaurada.
nota
Las restauraciones pueden ser más rápidas y más económicas si excluye la creación de algunos o de todos los índices secundarios en la nueva tabla restaurada.
aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicMinutesAgo \ --use-latest-restorable-time \ --global-secondary-index-override '[]'
Puede utilizar una combinación de distintas anulaciones. Por ejemplo, puede utilizar un único índice secundario global y cambiar el rendimiento aprovisionado al mismo tiempo, como se indica a continuación.
aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicMinutesAgo \ --billing-mode-override PROVISIONED \ --provisioned-throughput-override ReadCapacityUnits=100,WriteCapacityUnits=100 \ --global-secondary-index-override IndexName=singers-index,KeySchema=["{AttributeName=SingerName,KeyType=HASH}"],Projection="{ProjectionType=KEYS_ONLY}",ProvisionedThroughput="{ReadCapacityUnits=50,WriteCapacityUnits=50}" \ --sse-specification-override Enabled=true,SSEType=KMS \ --use-latest-restorable-time
-
Para comprobar la restauración, use el comando describe-table
para describir la tabla MusicEarliestRestorableDateTime
.
aws dynamodb describe-table --table-name MusicEarliestRestorableDateTime
La tabla que se va a restaurar se muestra con el estado Creating (Creando) y el valor de restauración en curso true. Una vez finalizado el proceso de restauración, el estado de la tabla MusicEarliestRestorableDateTime
cambia a Active (Activa).
importante
Mientras haya una restauración en curso, no modifique ni elimine las políticas de AWS Identity and Access Management (IAM) que le conceden a la entidad de (usuario, grupo o rol) permiso para restaurar. De lo contrario, puede ocurrir un comportamiento inesperado. Por ejemplo, suponga que elimina los permisos de escritura de una tabla mientras esta se restauraba. En ese caso, la operación subyacente RestoreTableToPointInTime
no puede escribir ninguno de los datos restaurados en la tabla. Tenga en cuenta que las políticas de IAM que imponen restricciones a las IP de origen para obtener acceso a la tabla de restauración de destino también pueden causar problemas.
Puede modificar o eliminar los permisos solo después de que finalice la operación de restauración.