Comment procéder si mes instances de base de données Amazon RDS sont à court de stockage ?

Date de la dernière mise à jour : 16/09/2019

Mon instance de base de données Amazon Relational Database Service (Amazon RDS) est à court d'espace stockage et je ne peux pas arrêter ou redémarrer l'instance, ou me connecter à celle-ci. Comment résoudre ce problème ?

Brève description

Pour éviter l'état STORAGE_FULL, pensez à appliquer une ou plusieurs des mesures préventives suivantes :

Résolution

Une instance de base de données Amazon RDS à l'état STORAGE_FULL n'a pas suffisamment d'espace disponible pour effectuer les opérations de base telles que la connexion à l'instance ou le redémarrage de celle-ci. Pour résoudre ce problème, procédez comme suit :

  1. Vérifiez que le statut de l'instance de base de données est STORAGE_FULL.
  2. Augmentez l'espace de stockage de l'instance.
  3. Augmentez la valeur de la propriété stockage alloué de votre instance de base de données. Si l'état de l'instance de base de données est STORAGE_FULL, l'instance accepte uniquement les modifications de stockage alloué. Toutes les modifications d'autres valeurs sont refusées.
    Remarque : vous devez augmenter le stockage alloué d'au moins 10 %. Une augmentation inférieure à 10 % entraîne une erreur.

Lorsque l'état d'une instance de base de données est storage-optimization, l'instance est opérationnelle, mais vous ne pouvez pas effectuer d'autres modifications de stockage pendant six heures ou jusqu'à ce que l'état de l'instance de base de données ne soit plus storage-optimization. Dans la plupart des cas, une petite augmentation de l'espace de Stockage alloué vous permet de vous reconnecter à l'instance afin de pouvoir réaliser de nouvelles opérations de dépannage. Si votre instance de base de données Amazon RDS n'affiche pas l’état STORAGE_FULL, consultez la section Impossible de se connecter à une instance de base de données Amazon RDS pour d'autres étapes de dépannage.

Amazon RDS for SQL Server

Pour certaines instances de base de données, il existe des restrictions en matière de modification du stockage. Dans la console Amazon RDS, l'option Stockage alloué est désactivée si votre instance de bases de données n'est pas éligible à la modification. Si vous souhaitez mettre à l'échelle le stockage des instances Amazon RDS for SQL Server, mais que l'option de modification de la taille de stockage n'est pas disponible, vous pouvez migrer vos données à l'aide de la sauvegarde et de la restauration natives. Vous pouvez également utiliser un outil de migration de données pour migrer vers une nouvelle instance ayant un type de stockage IOPS provisionnées ou à usage général (SSD). Pour plus d'informations, consultez la section Modification d'une instance de base de données en exécutant le moteur de base de données Microsoft SQL Server.

Vous pouvez vérifier l'éligibilité d’une instance en utilisant la commande de l'interface de ligne de commande AWS (CLI AWS) suivante, qui renvoie les options de stockage disponibles pour votre instance de base de données :

describe-valid-db-instance-modifications

Les procédures suivantes vous permettent de réduire l'espace utilisé par les instances SQL Server d'Amazon RDS :

  • Si votre instance Amazon RDS présente la condition storage full (stockage plein) ou si vous souhaitez contrôler la taille de vos journaux de base de données, exécutez la requête DBCC SQLPERF(LOGSPACE) TSQL pour consulter la taille du journal des transactions SQL Server et le pourcentage d'espace utilisé. Pour plus d'informations sur cette requête, consultez la documentation Microsoft pour DBCC SQLPERF (Transact-SQL). Si ce pourcentage est faible, mais que la taille du journal des transactions est élevée, réduisez la taille du fichier journal de transaction pour récupérer de l'espace disque. Pour plus d'informations, consultez la section Connexion à une instance de base de données en exécutant le moteur de base de données Microsoft SQL Server.
  • Si tempdb utilise une grande partie de l'espace de stockage disponible, réduisez la taille de la base de données tempdb. Comme la base de données temporaire tempdb de SQL Server est automatiquement enrichie lorsque la croissance automatique est activée et qu'aucune limite n'est indiquée dans maxsize, tempdb consomme l'espace de stockage disponible.