View a markdown version of this page

Restauration d’une table DynamoDB à un instant dans le passé - Amazon DynamoDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Restauration d’une table DynamoDB à un instant dans le passé

La restauration à un instant dans le passé d’Amazon DynamoDB fournit des sauvegardes continues des données de votre table DynamoDB. Vous pouvez restaurer une table à un instant dans le passé à l’aide de la console AWS Command Line Interface ou de l’AWS CLI(). Le processus de restauration à un instant dans le passé restaure une nouvelle table.

Comme une restauration crée toujours une nouvelle table, votre table source reste entièrement disponible pour les lectures et les écritures pendant l'exécution de la restauration. La durée de restauration dépend de la quantité de données et du nombre d'index secondaires que DynamoDB reconstruit sur la nouvelle table. Les tables et les index plus volumineux prennent plus de temps, et aucun délai d'exécution fixe n'est garanti. Pour accélérer la restauration, vous pouvez exclure tout ou partie des index secondaires de la nouvelle table.

Une restauration recrée les éléments suivants sur la nouvelle table à partir des paramètres de la table source au point de restauration : les données de la table, les index secondaires globaux, les index secondaires locaux, la capacité de lecture et d'écriture provisionnée et les paramètres de chiffrement. Une fois la restauration terminée, vous devez configurer vous-même les éléments suivants dans la nouvelle table, car une restauration ne les reporte pas : politiques de dimensionnement automatique, politiques de gestion des AWS identités et des accès, CloudWatch mesures et alarmes, balises, paramètres DynamoDB Streams, paramètres Time to Live et paramètres de restauration instantanée.

Si vous souhaitez utiliser le AWS CLI, vous devez d'abord le configurer. Pour de plus amples informations, veuillez consulter Accès à DynamoDB.

Restauration d’une table DynamoDB à un instant dans le passé (console)

L’exemple suivant montre comment utiliser la console DynamoDB pour restaurer une table existante nommée Music à un instant dans le passé.

Note

Cette procédure suppose que vous ayez activé la restauration à un instant dans le passé. Pour l'activer pour le Music tableau, dans l'onglet Sauvegardes, dans la section Point-in-time Restauration (PITR), choisissez Modifier, puis cochez la case à côté de Activer la restauration instantanée.

Pour restaurer une table à un instant dans le passé
  1. Connectez-vous à Console de gestion AWS et ouvrez la console DynamoDB à l'adresse. https://console.aws.amazon.com/dynamodb/

  2. Dans le volet de navigation sur le côté gauche de la console, choisissez Tables.

  3. Dans la liste des tables, choisissez la table Music.

  4. Dans l'onglet Sauvegardes du Music tableau, dans la section Point-in-time Restauration (PITR), choisissez Restaurer.

  5. Pour le nom de la nouvelle table, tapez MusicMinutesAgo.

    Note

    Vous pouvez restaurer la table dans la même AWS région ou dans une région différente de celle où se trouve la table source. Vous pouvez également exclure la création d’index secondaires sur la table restaurée. En outre, vous pouvez spécifier un mode de chiffrement différent.

  6. Pour confirmer l’heure de restauration, définissez la date et l’heure de restauration sur Plus tôt. Choisissez ensuite Restaurer pour démarrer le processus de restauration.

    La table en cours de restauration s’affiche avec le statut Restauration en cours. Une fois le processus de restauration terminé, l’état de la table MusicMinutesAgo devient Active.

Restaurer un tableau à un moment donné (AWS CLI)

La procédure suivante montre comment utiliser le AWS CLI pour restaurer une table existante nommée Music à un moment donné.

Note

Cette procédure suppose que vous ayez activé la restauration à un instant dans le passé. Pour l’activer pour la table Music, exécutez la commande suivante.

aws dynamodb update-continuous-backups \ --table-name Music \ --point-in-time-recovery-specification PointInTimeRecoveryEnabled=True

Pour restaurer une table à un instant dans le passé
  1. Confirmez l’activation de la restauration à un instant dans le passé pour la table Music à l’aide de la commande describe-continuous-backups.

    aws dynamodb describe-continuous-backups \ --table-name Music

    Les sauvegardes continues (automatiquement activées lors de la création de la table) et la restauration à un instant dans le passé sont activées.

    { "ContinuousBackupsDescription": { "PointInTimeRecoveryDescription": { "PointInTimeRecoveryStatus": "ENABLED", "EarliestRestorableDateTime": 1519257118.0, "LatestRestorableDateTime": 1520018653.01 }, "ContinuousBackupsStatus": "ENABLED" } }
  2. Restaurez la table à un instant dans le passé. Dans ce cas, la table Music est restaurée à LatestRestorableDateTime (il y a environ 5 minutes) dans la même région AWS .

    aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicMinutesAgo \ --use-latest-restorable-time
    Note

    Vous pouvez également restaurer à un instant spécifique dans le passé. Pour ce faire, exécutez la commande à l’aide de l’argument --restore-date-time et spécifiez un horodatage. Vous pouvez spécifier n’importe quel instant spécifique au cours de la période de restauration configurée, qui peut être définie sur une valeur comprise entre 1 et 35 jours. Par exemple, la commande suivante restaure la table à la 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

    La spécification de l’argument --no-use-latest-restorable-time est facultative lors de la restauration à un instant spécifique dans le passé.

  3. Restaurez la table à un instant dans le passé avec des paramètres de table personnalisés. Dans ce cas, la table Music est restaurée à la LatestRestorableDateTime (il y a environ 5 minutes).

    Vous pouvez spécifier un mode de chiffrement différent pour la table restaurée, comme suit.

    Note

    Le paramètre sse-specification-override prend les mêmes valeurs que le paramètre sse-specification-override utilisé dans la commande CreateTable. Pour en savoir plus, veuillez consulter la section Gestion des tables chiffrées dans 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

    Vous pouvez restaurer la table dans une AWS région différente de celle où se trouve la table source.

    Note
    • Le paramètre sse-specification-override est obligatoire pour les restaurations entre régions, mais facultatif pour les restaurations dans la même région que celle de la table source.

    • Le paramètre source-table-arn doit être fourni pour les restaurations entre régions.

    • Lorsque vous effectuez une restauration entre régions à partir de la ligne de commande, vous devez définir la AWS région par défaut sur la région de destination souhaitée. Pour en savoir plus, consultez Options de ligne de commande dans le Guide de l’utilisateur 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

    Vous pouvez remplacer le mode de facturation et le débit alloué pour la table restaurée.

    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

    Vous pouvez exclure la création d’index secondaires sur la table restaurée.

    Note

    Les restaurations peuvent être plus rapides et plus économiques si vous empêchez la création de certains index ou de tous les index secondaires sur la nouvelle table restaurée.

    aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicMinutesAgo \ --use-latest-restorable-time \ --global-secondary-index-override '[]'

    Vous pouvez utiliser une combinaison de remplacements différents. Par exemple, vous pouvez utiliser un index secondaire global unique et modifier le débit alloué en même temps, comme suit.

    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

Afin de vérifier la restauration, utilisez la commande describe-table pour décrire la table MusicEarliestRestorableDateTime.

aws dynamodb describe-table --table-name MusicEarliestRestorableDateTime

La table en cours de restauration est affichée avec le statut Création en cours et la restauration en cours avec la valeur vrai. Une fois le processus de restauration terminé, l’état de la table MusicEarliestRestorableDateTime devient Active.

Important

Pendant qu'une restauration est en cours, ne modifiez ni ne supprimez les politiques Gestion des identités et des accès AWS (IAM) qui accordent à l'entité IAM (par exemple, utilisateur, groupe ou rôle) l'autorisation d'effectuer la restauration. Sinon, il peut en résulter un comportement inattendu. Par exemple, supposons que vous ayez supprimé les autorisations d’écriture pour une table en cours de restauration. Dans ce cas, l’opération RestoreTableToPointInTime sous-jacente ne peut pas écrire les données restaurées dans la table. Les politiques IAM impliquant des restrictions d’adresses IP sources pour l’accès à la table de restauration cible peuvent également occasionner des problèmes.

Vous pouvez modifier ou supprimer des autorisations uniquement lorsque l’opération de restauration est terminée.