Restauración de una tabla de DynamoDB a un momento específico - Amazon DynamoDB

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.

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
  1. Inicie sesión en la AWS Management Console y abra la consola de DynamoDB en https://console.aws.amazon.com/dynamodb/.

  2. En el panel de navegación del lado izquierdo de la consola, elija Tables (Tablas).

  3. En la lista de tablas, elija la tabla Music.

  4. 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).

  5. 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.

  6. 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
  1. Para confirmar que la recuperación a un momento dado está habilitada en Music, utilice el comando describe-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" } }
  2. Restaure la tabla a un momento dado. En este caso, la tabla Music se restaura a LatestRestorableDateTime (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 valor EarliestRestorableDateTime.

    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.

  3. 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 valor LatestRestorableDateTime (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ámetro sse-specification-override utilizado en el comando CreateTable. 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.