Pourquoi mon instance de base de données Amazon RDS dispose-t-elle d'un faible espace de stockage libre, ou pourquoi mon instance de base de données est-elle considérée comme pleine après avoir activé la scalabilité automatique ?

Lecture de 8 minute(s)
0

J'ai activé la scalabilité automatique du stockage pour mon instance de base de données Amazon Relational Database Service (Amazon RDS). Toutefois, je constate que l'espace de stockage disponible est inférieur à 10 % ou que l'instance de stockage est pleine. D'où vient le problème et comment le résoudre ?

Brève description

Si vous avez modifié le stockage de l'instance de base de données RDS, vous ne pouvez pas effectuer d'autres modifications avant six (6) heures ou tant que le processus d'optimisation du stockage n'est pas terminé. La période de modification du stockage prend généralement quelques secondes et prend effet une fois que le volume est passé à l'état optimizing (optimisation). Parfois, le processus d'optimisation du stockage peut prendre plus de 24 heures pour qu'une nouvelle configuration prenne effet, par exemple lorsque le volume n'a pas été complètement initialisé. Pour plus d'informations sur le processus de stockage, consultez Surveiller la progression des modifications de volume

Pendant la période d'optimisation des modifications de stockage, la scalabilité automatique ne peut pas augmenter le stockage de votre instance de base de données, même s'il y a moins de 10 % d'espace de stockage disponible. Pour plus d'informations, consultez Augmentation de la capacité de stockage d'une instance de base de données.

Si vous avez augmenté le stockage de l'instance de base de données RDS à l'aide de la scalabilité automatique, le stockage supplémentaire augmente par incréments correspondant à la valeur la plus élevée parmi les suivantes :

  • 5 Go
  • 10 % de l'espace actuellement alloué
  • Prévision de la croissance du stockage sur sept heures en fonction de la métrique FreeStorageSpace pour la dernière heure

En revanche, si vous prévoyez de charger 50 Gio de données en moins d'une heure, l'augmentation de 10 % du stockage ne sera pas suffisante. Étant donné que l'opération de scalabilité automatique précédente se situe dans la période d' optimisation du stockage, aucune modification de stockage ne peut être apportée à l'instance de base de données RDS tant que le processus n'est pas terminé. Cela peut se traduire par une instance de base de données RDS avec le statut storage-full (Stockage plein) sur une période pouvant durer plusieurs heures.

Solution

Si vous ne pouvez pas modifier le stockage de votre instance de base de données RDS, vérifiez les points suivants pour déterminer si votre instance est affectée par la période d'optimisation du stockage :

  • Le statut de votre instance de base de données RDS est « Storage-optimization » (Optimisation du stockage).
  • Le statut de votre instance de base de données RDS est « Storage-full » (Stockage plein) ou « Available » (Espace disponible), mais le stockage a récemment été modifié. Pour confirmer qu'une opération d'augmentation du stockage a récemment eu lieu, vérifiez les événements de votre instance de base de données RDS afin de rechercher les messages suivants :
    « Finished applying modification to allocated storage » (Fin de l'application de modifications au stockage alloué)
    -ou-
    « Finished applying autoscale initiated modification to allocated storage » (Fin de l'allocation de modifications via la scalabilité automatique au stockage alloué)

Si de récentes modifications du stockage ont activé l'optimisation du stockage, vous pouvez restaurer votre base de données sur une instance de base de données RDS avec davantage de stockage Amazon Elastic Block Store (Amazon EBS). Si l'instance de base de données RDS est à l'état « Storage full » (Stockage plein), vous devez d'abord arrêter toute charge de données sur l'instance de base de données RDS. Vous pouvez libérer de l'espace de stockage sur votre instance de base de données RDS en suivant le processus relatif à votre moteur de base de données. 

Remarque : ce processus peut prendre de quelques minutes à plusieurs heures avant que l'instance ne soit plus à l'état « Storage full » (Stockage plein).

Si l'instance de base de données RDS n'est pas à l'état « Storage full » (Stockage plein) vous pouvez utiliser les options suivantes pour modifier la taille de stockage de votre instance de base de données.

  • Option 1 : créer et promouvoir un réplica en lecture de votre instance de base de données RDS
  • Option 2 : prendre un instantané de bases de données manuel et restaurer votre instance de base de données RDS à un instant dans le passé
  • Option 3 : la scalabilité automatique est activée, mais vous ne voulez pas qu'elle soit activée en raison d'une métrique FreeStorageSpace faible

Les options 1 et 2 entraînent des interruptions de votre base de données. Cependant, la création et la promotion d'un réplica en lecture réduisent les interruptions. Les réplicas en lecture sont pris en charge par les moteurs de base de données MariaDB, Microsoft SQL Server, MySQL, Oracle et PostgreSQL.

Option 1 : créer et promouvoir un réplica en lecture de votre instance de base de données RDS

  1. Créez un réplica en lecture pour votre instance de base de données RDS.
  2. Augmentez manuellement la capacité de stockage du réplica en lecture. Par défaut, la scalabilité automatique du stockage Amazon RDS est désactivée sur le réplica en lecture.
  3. Renommez votre instance de base de données RDS active sous un autre nom pour arrêter tout trafic entrant.
  4. Donnez au réplica en lecture le nom utilisé précédemment par votre instance de base de données RDS active. Ces modifications rendent le point de terminaison du réplica en lecture identique à l'instance de base de données RDS active. Vous n'avez donc pas à reconfigurer vos applications.
  5. Promouvez votre réplica en lecture.

Remarque : pour l'application ou le client, le temps d'arrêt de la base de données intervient pendant les étapes 3 à 5.

Option 2 : prendre un instantané de bases de données manuel et restaurer votre instance de base de données RDS à un instant dans le passé

  1. Renommez votre instance de base de données RDS active pour arrêter tout trafic entrant. Cela empêche l'instance de base de données RDS d'atteindre un état « Storage-full » (Stockage plein). Si l'instance de base de données RDS est à l'état « Storage-full » (Stockage plein), vous ne pouvez pas passer à l'étape suivante, celle de la prise de l'instantané manuel.
  2. Prenez un instantané de bases de données de votre instance de base de données RDS. Prendre un nouvel instantané empêche que l'instance de base de données RDS restaurée souffre d'un événement de modification du stockage d'optimisation du stockage.
  3. Restaurez votre instance de base de données RDS à un instant dans le passé en choisissant l'heure de restauration la plus récente. Ensuite, pour l'identifiant de l'instance, saisissez le nom qui a été utilisé par votre instance de base de données RDS active.
    Remarque : pour éviter toute augmentation supplémentaire de la scalabilité automatique pouvant entraîner une optimisation du stockage, n'activez pas la scalabilité automatique pour le moment.
  4. Modifiez, le cas échéant, l'instance de base de données RDS restaurée en y incluant des groupes de sécurité personnalisés. Le groupe de sécurité de base de données par défaut est appliqué à la nouvelle instance de base de données RDS. Si vous utilisez des groupes de sécurité personnalisés, définissez-les maintenant.
  5. Augmentez manuellement la capacité de stockage de la nouvelle instance de base de données RDS.

Remarque : pour l'application ou le client, le temps d'arrêt de la base de données intervient pendant les étapes 1 à 4.

Option 3 : la scalabilité automatique est activée, mais vous ne voulez pas qu'elle soit activée en raison d'une métrique FreeStorageSpace faible

La désactivation de la scalabilité automatique empêche d'allouer automatiquement de l'espace de stockage supplémentaire. Cette fonction permet d'allouer manuellement du stockage à l'instance. La désactivation de la scalabilité automatique peut être effectuée lorsque vous voulez contrôler manuellement l'allocation du stockage. Par exemple, la scalabilité augmentera le stockage de 10 %, mais vous prévoyez de l'augmenter de plus de 10 % avant le lancement du prochain événement de scalabilité automatique.

  1. Ouvrez la console Amazon RDS.
  2. Choisissez Modify (Modifier).
  3. Dans Storage Autoscaling (Mise à l'échelle automatique du stockage), décochez la case Enable storage autoscaling (Activer la mise à l'échelle automatique du stockage).
  4. Cliquez sur Continue (Continuer).
  5. Ensuite, choisissez Apply immediately (Appliquer immédiatement) ou Apply during the next scheduled maintenance window (Appliquer au cours de la prochaine fenêtre de maintenance planifiée).
  6. Choisissez Modify DB Instance (Modifier l'instance de base de données).

Remarque : la scalabilité automatique est lancée lorsque la métrique FreeStorageSpace est inférieure à 10 % pendant au moins cinq minutes, et lorsqu'au moins six heures se sont écoulées depuis la dernière modification du stockage ou que l'optimisation du stockage s'est terminée sur l'instance, selon la durée la plus longue.


Informations connexes

Utilisation du stockage pour les instances de base de données Amazon RDS

Pourquoi ai-je reçu une erreur « No Space Left on Device » (Espace insuffisant sur l'appareil) ou « DiskFull » (Disque plein) sur Amazon RDS for PostgreSQL ?

Comment puis-je résoudre les problèmes liés à l'utilisation de plus d'espace de stockage que prévu par mon instance de base de données Oracle Amazon RDS ?

Comment puis-je résoudre les problèmes liés à l'utilisation de plus d'espace de stockage que prévu par mon instance de base de données Amazon RDS MySQL ?

Comment puis-je résoudre les problèmes liés à l'utilisation de l'espace de stockage dans mon instance de base de données Amazon RDS qui exécute SQL Server ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an