Amazon Relational Database Service
Guide de l'utilisateur

Utilisation des sauvegardes

Amazon RDS crée et enregistre les sauvegardes automatisées de votre instance de base de données. Amazon RDS crée un instantané de volume de stockage de votre instance de base de données, sauvegardant ainsi la totalité de l'instance de base de données, et pas seulement les bases de données individuelles.

Amazon RDS crée des sauvegardes automatisées de votre instance de base de données lors du créneau de sauvegarde de votre instance de base de données. Amazon RDS enregistre des sauvegardes automatisées de votre instance de base de données selon la période de rétention des sauvegardes que vous avez spécifié. Le cas échéant, vous pouvez récupérer votre base de données à tout moment pendant la période de rétention des sauvegardes.

Les sauvegardes automatiques suivent ces règles :

  • Votre instance de base de données doit être dans l'état AVAILABLE pour que des sauvegardes automatiques soient exécutées. Les sauvegardes automatiques ne sont pas exécutées si vos instances de base de données sont dans un état autre que AVAILABLE, par exemple STORAGE_FULL.

  • Les sauvegardes automatiques et les instantanés automatiques ne sont pas exécutés pendant l'exécution d'une copie dans la même région pour la même instance de base de données.

Vous pouvez également sauvegarder votre instance de base de données manuellement, en créant manuellement un instantané de bases de données. Pour plus d'informations sur la création d'un instantané de base de données, consultez Création d'un instantané de base de données.

Le premier instantané d'une instance de base de données contient les données de l'instance de base de données complète. Les instantanés suivants de la même instance de base de données incrémentés, ce qui signifie que seules les données qui ont changé depuis l'instantané le plus récent sont enregistrées.

Vous pouvez copier des instantanés de base de données automatiques et manuels, et partager les instantanés de base de données manuels. Pour plus d'informations sur la copie des instantanés de base de données, consultez Copie d'un instantané. Pour de plus amples informations sur le partage des instantanés de base de données, veuillez consulter Partage d'un instantané de de base de données.

Note

Vous pouvez aussi utiliser AWS Backup pour gérer les sauvegardes des instances de base de données Amazon RDS. Les sauvegardes gérées par AWS Backup sont considérées comme des instantanés manuels pris en compte dans la limite du nombre d’instantanés manuels. Pour de plus amples informations sur AWS Backup, veuillez consulter le Manuel du développeur AWS Backup.

Stockage de sauvegarde

Votre stockage de sauvegarde Amazon RDS pour chaque région est composé des sauvegardes automatiques et de snapshots DB manuels pour cette région. Votre stockage de sauvegarde est équivalent à la somme du stockage de base de données pour toutes les instances de cette région. Le déplacement d'un instantané de base de données vers une autre région augmente le stockage de sauvegarde dans la région de destination.

Pour plus d'informations sur les coûts de stockage des sauvegardes, consultez Tarification Amazon RDS.

Si vous avez choisi de conserver les sauvegardes automatiques lorsque vous supprimez une instance de base de données, les sauvegardes automatiques sont stockées pour toute la période de rétention. Si vous ne choisissez pas Conserver les sauvegardes automatiques lors de la suppression d'une instance de base de données, toutes les sauvegardes automatiques sont supprimées en même temps que l'instance. Une fois supprimées, les sauvegardes automatiques ne peuvent pas être récupérées. Si Amazon RDS crée un instantané de base de données final avant de supprimer votre instance de base de données, vous pouvez l'utiliser pour récupérer votre instance de base de données. Vous pouvez également utiliser un instantané manuel créé précédemment. Les instantanés manuels ne sont pas supprimés. Vous pouvez avoir jusqu’à 100 instantanés manuels par région.

Fenêtre de sauvegarde

Les sauvegardes automatiques sont exécutées chaque jour pendant la fenêtre de sauvegarde préférée. Si la sauvegarde a besoin de plus de temps que la durée allouée par la fenêtre de sauvegarde, elle continue après la fin de la fenêtre jusqu'à ce qu'elle soit terminée. La fenêtre de sauvegarde ne peut pas chevaucher la fenêtre de maintenance hebdomadaire pour l'instance de base de données.

Pendant la fenêtre de sauvegarde automatique, les E/S de stockage peuvent être suspendues brièvement tandis que le processus de sauvegarde s'initialise (généralement en quelques secondes). Vous pouvez rencontrer des latences élevées pendant quelques minutes lors de sauvegardes de déploiements multi-AZ. Pour MariaDB, MySQL, Oracle et PostgreSQL, l'activité E/S n'est pas suspendue sur votre instance principale lors de la sauvegarde pour les déploiements multi-AZ, car la sauvegarde est prise à partir de l'instance de secours. Pour SQL Server, l'activité E/S est suspendue brièvement pendant la sauvegarde pour les déploiements multi-AZ.

Si vous ne spécifiez pas une fenêtre de sauvegarde préférée lorsque vous créez l'instance de base de données, Amazon RDS attribue une fenêtre de sauvegarde par défaut de 30 minutes. Cette fenêtre est sélectionnée de manière aléatoire sur un bloc horaire de 8 heures pour chaque région AWS. Le tableau suivant répertorie les blocs de temps de chaque région, à partir desquels les fenêtres de sauvegardes par défaut sont affectées.

Région Bloc chronologique
Région USA Est (Ohio) 03:00–11:00 UTC
Région USA Est (Virginie du N.) 03:00–11:00 UTC
Région USA Ouest (Californie du Nord) 06:00–14:00 UTC
Région USA Ouest (Oregon) 06:00–14:00 UTC
Région Asie-Pacifique (Hong Kong) 06:00–14:00 UTC
Région Asie-Pacifique (Mumbai) 16:30–00:30 UTC
Région Asie-Pacifique (Osaka-Local) 00:00–08:00 UTC
Région Asie-Pacifique (Séoul) 13:00–21:00 UTC
Région Asie-Pacifique (Singapour) 14:00–22:00 UTC
Région Asie-Pacifique (Sydney) 12:00–20:00 UTC
Région Asie-Pacifique (Tokyo) 13:00–21:00 UTC
Région Canada (Centre) 06:29–14:29 UTC
Région Chine (Pékin) 06:00–14:00 UTC
Région Chine (Ningxia) 06:00–14:00 UTC
Région UE (Francfort) 20:00–04:00 UTC
Région UE (Irlande) 22:00–06:00 UTC
Région UE (Londres) 06:00–14:00 UTC
Région UE (Paris) 07:29–14:29 UTC
Région UE (Stockholm) 23:00–07:00 UTC
Région Moyen-Orient (Bahrain) 06:00–14:00 UTC
Région Amérique du Sud (São Paulo) 23:00–07:00 UTC
AWS GovCloud (USA Ouest) 03:00–11:00 UTC

Période de conservation de la sauvegarde

Vous pouvez configurer une période de rétention des sauvegardes lorsque vous créez une instance de base de données. Si vous ne configurez pas la période de rétention des sauvegardes, la période par défaut est d'un jour si vous créez l'instance de base de données à l'aide de l'API Amazon RDS ou de l'AWS CLI. La période de rétention des sauvegardes par défaut est de sept jours si vous créez l'instance de base de données à l'aide de la console. Après avoir créé une instance de base de données, vous pouvez modifier la période de rétention des sauvegardes. Vous pouvez définir la période de rétention des sauvegardes entre 0 et 35 jours. Le réglage de la période de rétention des sauvegardes sur 0 désactive les sauvegardes automatisées. La limite des snapshots manuels (100 par région) ne s'applique pas aux sauvegardes automatiques.

Important

Une interruption se produit si vous modifiez la période de rétention des sauvegardes de 0 à une valeur non nulle, ou d'une valeur non nulle à 0.

Désactivation des sauvegardes automatiques

Vous pouvez avoir besoin de désactiver temporairement les sauvegardes automatiques dans certains cas, par exemple lorsque vous chargez un important volume de données.

Important

Nous vous déconseillons vivement de désactiver les sauvegardes automatiques car cela désactive la restauration à un instant dans le passé. Le fait de désactiver les sauvegardes automatiques pour une instance de base de données supprime toutes les sauvegardes automatiques existantes pour l'instance. Si vous désactivez puis réactivez les sauvegardes automatiques, vous ne pourrez faire de restauration que lorsque ces dernières seront réactivées.

Dans cet exemple, vous désactivez les sauvegardes automatiques pour une instance de base de données nommée mydbinstance en définissant le paramètre de rétention des sauvegardes sur 0.

Console

Pour désactiver immédiatement les sauvegardes automatiques

  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, choisissez Bases de données, puis l'instance de base de données que vous souhaitez modifier.

  3. Sélectionnez Modify. La page Modifier l'instance de base de données s'affiche.

  4. Pour Période de rétention des sauvegardes, choisissez 0 jours.

  5. Choisissez Continue.

  6. Choisissez Appliquer immédiatement.

  7. Sur la page de confirmation, choisissez Modifier l'instance de base de données pour enregistrer vos modifications et désactiver les sauvegardes automatiques.

AWS CLI

Pour désactiver immédiatement les sauvegardes automatiques, utilisez la commande modify-db-instance et configurez la période de rétention des sauvegardes sur 0 avec --apply-immediately.

L'exemple suivant désactive immédiatement les sauvegardes automatiques.

Pour Linux, OS X ou Unix :

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --backup-retention-period 0 \ --apply-immediately

Pour Windows :

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --backup-retention-period 0 ^ --apply-immediately

Pour savoir quand la modification est appliquée, appelez la commande describe-db-instances pour l'instance de base de données jusqu'à ce que la valeur pour la période de rétention des sauvegardes soit à 0 et que l'état mydbinstance soit disponible.

aws rds describe-db-instances --db-instance-identifier mydbinstance
API RDS

Pour désactiver immédiatement les sauvegardes automatisées, appelez l'opération ModifyDBInstance avec les paramètres suivants :

  • DBInstanceIdentifier = mydbinstance

  • BackupRetentionPeriod = 0

Exemple

https://rds.amazonaws.com/ ?Action=ModifyDBInstance &DBInstanceIdentifier=mydbinstance &BackupRetentionPeriod=0 &SignatureVersion=2 &SignatureMethod=HmacSHA256 &Timestamp=2009-10-14T17%3A48%3A21.746Z &AWSAccessKeyId=<AWS Access Key ID> &Signature=<Signature>

Activation des sauvegardes automatiques

Si les sauvegardes automatiques ne sont pas activées pour votre instance de base de données, vous pouvez les activer à tout moment. Vous activez les sauvegardes automatiques en définissant la période de rétention des sauvegardes sur une valeur positive différente de zéro. Lorsque les sauvegardes automatiques sont activées, votre instance et votre base de données RDS sont mises hors ligne, et une sauvegarde est immédiatement créée.

Dans cet exemple, vous activez les sauvegardes automatiques pour une instance de bases de données nommée mydbinstance en définissant la période de rétention des sauvegardes sur une valeur positive différente de zéro (dans ce cas, 3).

Console

Pour activer immédiatement les sauvegardes automatiques

  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, choisissez Bases de données, puis l'instance de base de données que vous souhaitez modifier.

  3. Sélectionnez Modify. La page Modifier l'instance de base de données s'affiche.

  4. Pour Période de rétention des sauvegardes, choisissez une valeur positive différente de zéro, par exemple 3 jours.

  5. Choisissez Continue.

  6. Choisissez Appliquer immédiatement.

  7. Sur la page de confirmation, choisissez Modifier l'instance de bases de données pour enregistrer vos modifications et activer les sauvegardes automatiques.

AWS CLI

Pour activer immédiatement les sauvegardes automatiques, utilisez la commande modify-db-instance de l'AWS CLI.

Dans cet exemple, nous activons les sauvegardes automatiques en configurant la période de rétention des sauvegardes sur trois jours.

Incluez les paramètres suivants :

  • --db-instance-identifier

  • --backup-retention-period

  • --apply-immediately ou --no-apply-immediately

Pour Linux, OS X ou Unix :

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --backup-retention-period 3 \ --apply-immediately

Pour Windows :

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --backup-retention-period 3 ^ --apply-immediately
API RDS

Pour activer immédiatement les sauvegardes automatiques, utilisez l'opération ModifyDBInstance de l'API RDS.

Dans cet exemple, nous activons les sauvegardes automatiques en configurant la période de rétention des sauvegardes sur trois jours.

Incluez les paramètres suivants :

  • DBInstanceIdentifier

  • BackupRetentionPeriod

  • ApplyImmediately = true

Exemple

https://rds.amazonaws.com/ ?Action=ModifyDBInstance &DBInstanceIdentifier=mydbinstance &BackupRetentionPeriod=3 &ApplyImmediately=true &SignatureVersion=2 &SignatureMethod=HmacSHA256 &Timestamp=2009-10-14T17%3A48%3A21.746Z &AWSAccessKeyId=<AWS Access Key ID> &Signature=<Signature>

Conservation des sauvegardes automatiques

Lorsque vous supprimez une instance de base de données, vous pouvez choisir des conserver les sauvegardes automatiques.

Les sauvegardes automatiques conservées contiennent des instantanés système et des journaux de transactions d'une instance de base de données. Elles incluent également les propriétés de votre instance de base de données (stockage alloué et classe de l'instance, par exemple) nécessaires pour la restaurer en tant qu'instance active.

Vous pouvez conserver des sauvegardes automatiques pour des instances RDS qui exécutent les moteurs suivants : MySQL, MariaDB, PostgreSQL, Oracle et Microsoft SQL Server.

Vous pouvez restaurer ou supprimer des sauvegardes automatiques conservées à l'aide d'AWS Management Console, de l'API RDS et de l'AWS CLI.

Période de conservation

Les instantanés système et les journaux de transactions contenus dans une sauvegarde automatique conservée expirent de la même façon que pour l'instance de base de données source. Dans la mesure où aucun nouvel instantané ni journal n'est créé pour cette instance, les sauvegardes automatiques conservées finissent par toutes expirer. En effet, elles perdurent aussi longtemps que l'aurait fait leur dernier instantané système, sur la base des paramètres définis pour la période de rétention de l'instance source au moment où vous l'avez supprimée. Les sauvegardes automatiques conservées sont supprimées par le système après expiration de leur dernier instantané système.

Vous pouvez supprimer une sauvegarde automatique conservée de la même manière que vous supprimez une instance de base de données. Vous pouvez supprimer des sauvegardes automatiques conservées à l'aide de la console ou de l'opération DeleteDBInstanceAutomatedBackup de l'API RDS.

Les instantanés finaux sont indépendants des sauvegardes automatiques conservées. Nous vous recommandons vivement de réaliser un instantané final même si vous conservez les sauvegardes automatiques car celles-ci finissent par expirer. L'instantané final n'expire jamais.

Restauration

Pour afficher les sauvegardes automatiques conservées, basculez sur la page des sauvegardes automatiques. Vous pouvez afficher les instantanés individuels associés à une sauvegarde automatique conservée sur la page des instantanés de bases de données de la console. Vous pouvez également décrire les instantanés individuels associés à une sauvegarde automatique conservée. À partir de là, vous pouvez restaurer une instance de base de données directement à partir d'un de ces instantanés.

Les instances de base de données restaurées sont automatiquement associées aux groupes de paramètres et d'options par défaut. Cependant, vous pouvez appliquer un groupe de paramètres ou d'options personnalisé en le définissant au moment de la restauration.

Dans cet exemple, vous restaurez une instance de base de données à un moment donné dans le temps à l'aide de la sauvegarde automatique conservée. Pour commencer, décrivez vos sauvegardes automatiques conservées afin d'identifier celles à restaurer.

Pour décrire vos sauvegardes automatiques conservées à l'aide de l'API RDS, appelez l'action DescribeDBInstanceAutomatedBackups avec un des paramètres suivants :

  • DBInstanceIdentifier

  • DbiResourceId

aws rds describe-db-instance-automated-backups --db-instance-identifier DBInstanceIdentifier OR aws rds describe-db-instance-automated-backups --dbi-resource-idDbiResourceId

Ensuite, pour restaurer votre sauvegarde automatique conservée à un moment donné dans le temps, à l'aide de l'API RDS, appelez l'action RestoreDBInstanceToPointInTime avec les paramètres suivants :

  • SourceDbiResourceId

  • TargetDBInstanceIdentifier

aws rds restore-db-instance-to-point-in-time --source-dbi-resource-id SourceDbiResourceId --target-db-instance-identifier TargetDBInstanceIdentifier --use-latest-restorable-time

Coûts de conservation

Le coût d'une sauvegarde automatique conservée correspond au coût du stockage total des instantanés système associés à la sauvegarde. Il n'y a pas de frais supplémentaires pour les journaux de transactions ou les métadonnées de l'instance. Toutes les autres règles de tarification des sauvegardes s'appliquent aux instances restaurables.

Par exemple, imaginons que l'espace de stockage total alloué pour les instances en cours d'exécution soit de 100 Go. Supposons également que vous ayez 50 Go d'instantanés manuels plus 75 Go d'instantanés système associés à une sauvegarde automatique conservée. Dans ce cas, seuls les 25 Go supplémentaires de stockage de sauvegarde vous sont facturés, comme suit : (50 Go + 75 Go) – 100 Go = 25 Go.

Limitations et recommandations

Les limitations suivantes s'appliquent aux sauvegardes automatiques conservées :

  • Le nombre maximum de sauvegardes automatiques conservées dans une région AWS est de 40. Ce nombre n'est pas inclus dans la limite des instances de base de données. Vous pouvez avoir 40 instances de base de données en cours d'exécution et 40 sauvegardes automatiques conservées supplémentaires en même temps.

  • Les sauvegardes automatiques conservées ne contiennent pas d'informations sur les paramètres ou les groupes d'options.

  • Vous pouvez restaurer une instance supprimée jusqu'à une date déterminée dans le passé comprise dans la période de rétention au moment de la suppression.

  • Une sauvegarde automatique conservée ne peut pas être modifiée car elle contient des sauvegardes système, des journaux de transactions et des propriétés d'instance de base de données qui existaient au moment de la suppression de l'instance source.

Sauvegardes automatiques avec moteurs de stockage MySQL non pris en charge

Pour le moteur de base de données MySQL, les sauvegardes automatiques sont uniquement prises en charge pour le moteur de stockage InnoDB. L'utilisation de ces fonctions avec d'autres moteurs de stockage MySQL, dont MyISAM, peut entraîner un comportement peu fiable lors de la restauration à partir de sauvegardes. Plus précisément, dans la mesure où les moteurs de stockage comme MyISAM n'assurent pas une récupération sur incident fiable, vos tables risquent d'être corrompues en cas d'incident. Pour cette raison, nous vous invitons à utiliser le moteur de stockage InnoDB.

  • Pour convertir des tables MyISAM existantes en tables InnoDB, vous pouvez utiliser la commande ALTER TABLE (par exemple, ALTER TABLE table_name ENGINE=innodb, ALGORITHM=COPY;).

  • Si vous choisissez d'utiliser MyISAM, vous pouvez essayer de réparer manuellement les tables endommagées après un incident à l'aide de la commande REPAIR. Pour plus d'informations, consultez la section Syntaxe REPAIR TABLE dans la documentation de MySQL. Cependant, comme indiqué dans la documentation MySQL, il y a de fortes chances que vous ne puissiez pas récupérer toutes vos données.

  • Si vous souhaitez prendre un instantané de vos tables MyISAM avant la restauration, procédez comme suit :

    1. Arrêtez toutes les activités de vos tables MyISAM (autrement dit, fermez toutes les sessions).

      Vous pouvez fermer toutes les sessions en appelant la commande mysql.rds_kill pour chaque processus retourné à partir de la commande SHOW FULL PROCESSLIST.

    2. Verrouillez et videz chacune de vos tables MyISAM. Par exemple, les commandes suivantes verrouillent et vident deux tables nommées myisam_table1 et myisam_table2 :

      mysql> FLUSH TABLES myisam_table, myisam_table2 WITH READ LOCK;
    3. Créez un instantané de votre instance de base de données. Une fois l'instantané terminé, libérez les verrous et reprenez l'activité sur les tables MyISAM. Vous pouvez libérer les verrous sur vos tables à l'aide de la commande suivante :

      mysql> UNLOCK TABLES;

    Ces étapes obligent MyISAM à vider sur disque les données stockées en mémoire, ce qui garantit un démarrage propre lors d'une restauration à partir d'un instantané de bases de données. Pour plus d'informations sur la création d'un instantané de base de données, consultez Création d'un instantané de base de données.

Sauvegardes automatiques avec moteurs de stockage MariaDB non pris en charge

Pour le moteur de base de données MariaDB, les sauvegardes automatiques sont uniquement prises en charge avec le moteur de stockage InnoDB (version 10.2 et suivante) et le moteur de stockage XtraDB (versions 10.0 et 10.1). L'utilisation de ces fonctions avec d'autres moteurs de stockage MariaDB, dont Aria, peut entraîner un comportement peu fiable lors de la restauration à partir de sauvegardes. Même si Aria est une solution de remplacement résistante aux incidents de myISAM, vos tables risquent toujours d'être endommagées en cas d'incident. Pour cette raison, nous vous invitons à utiliser le moteur de stockage XtraDB.

  • Pour convertir les tables Aria existantes en tables InnoDB, vous pouvez utiliser la commande ALTER TABLE. Par exemple : ALTER TABLE table_name ENGINE=innodb, ALGORITHM=COPY;

  • Pour convertir les tables Aria existantes en tables XtraDB, vous pouvez utiliser la commande ALTER TABLE. Par exemple : ALTER TABLE table_name ENGINE=xtradb, ALGORITHM=COPY;

  • Si vous choisissez d'utiliser Aria, vous pouvez essayer de réparer manuellement les tables endommagées après un incident à l'aide de la commande REPAIR TABLE. Pour plus d'informations, consultez http://mariadb.com/kb/en/mariadb/repair-table/.

  • Si vous souhaitez prendre un instantané de vos tables Aria avant la restauration, procédez comme suit :

    1. Arrêtez toutes les activités de vos tables Aria (autrement dit, fermez toutes les sessions).

    2. Verrouillez et videz chacune de vos tables Aria.

    3. Créez un instantané de votre instance de base de données. Une fois l'instantané terminé, libérez les verrous et reprenez l'activité sur les tables Aria. Ces étapes obligent Aria à vider sur disque les données stockées en mémoire et à garantir ainsi un démarrage propre lors d'une restauration à partir d'un instantané de base de données.