Je cherche à augmenter le stockage de deux instances RDS (juste l'espace de stockage alloué, pas le type d'instance ou d'autres paramètres). La documentation sur https://docs.aws.Amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.ModifyingExisting suggère:
Vous pouvez passer du stockage standard au stockage IOPS provisionné, ou du stockage IOPS provisionné au stockage standard, ainsi qu'augmenter le stockage, avec peu ou pas de temps d'arrêt.
Je planifierais certainement une fenêtre de maintenance avant d'effectuer le changement. Mais la documentation semble un peu vague dans ce domaine. Pour quelqu'un qui aurait pu le faire auparavant, qu'est-ce que "peu ou pas de temps d'arrêt"? Puis-je m'attendre à 5 secondes ou est-ce plus comme 5 minutes?
Mise à jour juillet 2019:
J'ai mis à jour le lien vers la documentation AWS correcte et mise à jour (qui était cassée). La documentation la plus récente comporte un texte explicatif qui permet également de répondre à la question d'origine:
Dans la plupart des cas, la mise à l'échelle du stockage ne nécessite aucune interruption et ne dégrade pas les performances du serveur. Après avoir modifié la taille de stockage d'une instance de base de données, l'état de l'instance de base de données est Optimisation du stockage. L'instance de base de données est pleinement opérationnelle après une modification du stockage. Cependant, vous ne pouvez pas apporter de modifications de stockage supplémentaires pendant six heures ou pendant que l'état de l'instance de base de données est optimisation du stockage, la durée la plus longue étant retenue.
Cependant, un cas particulier se présente si vous avez une instance de base de données SQL Server et n'avez pas modifié la configuration de stockage depuis novembre 2017. Dans ce cas, vous risquez de subir une courte interruption de quelques minutes lorsque vous modifiez votre instance de base de données pour augmenter l'allocation allouée. espace de rangement. Après la panne, l'instance de base de données est en ligne mais à l'état d'optimisation du stockage. Les performances peuvent être dégradées lors de l'optimisation du stockage.
Tout d'abord, notez que vous envisagez peut-être l'opération incorrecte - vous décrivez que vous souhaitez modifier la taille du stockage , mais vous avez cité une documentation décrivant le stockage tapez . Il s'agit d'une différence importante: RDS vous informe que vous ne subirez pas d'interruption pour changer la taille du stockage, mais que vous subirez une interruption pour changer le type de stockage.
Attendez-vous à des performances dégradées pour changer la taille du stockage, dont la durée et l'impact dépendront de plusieurs facteurs:
Dans cet esprit, vous seriez mieux servi en testant cela vous-même, dans votre environnement et selon vos conditions. Essayez d'expérimenter les éléments suivants:
Cela coûtera un peu plus (ce n'est pas nécessaire ... vous pourriez faire la plupart de cela en 1 à 3 heures), mais vous obtiendrez une réponse beaucoup plus nette que le colportage pour nos expériences dans une myriade de différents RDS environnements.
Si vous êtes toujours à la recherche d'une réponse "approximative", je vous conseille de prévoir au moins une dégradation des performances en quelques minutes, pas en quelques secondes - encore une fois, cela dépend beaucoup de votre environnement et de votre configuration.
Pour référence, j'ai récemment appliqué cette opération exacte pour ajouter 10 Go à une instance de type 40 Go db.m1.small un samedi après-midi (en EST). L'instance est restée dans un état "modificateur" pendant environ 17 minutes. Notez que l'état de modification ne décrit pas un temps d'arrêt réel, mais plutôt la durée pendant laquelle l'opération est appliquée . Vous ne pourrez pas appliquer de modifications supplémentaires à l'instance réelle (bien que vous puissiez toujours accéder à la base de données elle-même) et c'est également la durée pendant laquelle vous pouvez vous attendre à une dégradation des performances.
Si vous prévoyez uniquement de modifier la taille du stockage, une panne est inattendue, mais notez qu'elle peut se produire si cette modification est effectuée conjointement avec autres opérations comme la modification de l'identificateur/classe d'instance ou du type de stockage .
Comme vous n'augmentez que la taille du stockage et ne modifiez pas le type d'instance ou quoi que ce soit d'autre, il ne devrait pas y avoir de temps d'arrêt, mais il pourrait y avoir des "performances dégradées" pendant l'exécution de l'opération.
La référence que vous avez citée est ambiguë car elle traite de la modification du type de stockage en même temps que de la modification de la taille de stockage. Si vous regardez plutôt "Stockage alloué" dans le tableau ici:
http://docs.aws.Amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html
vous verrez qu'il indique uniquement "Les performances peuvent être dégradées" et rien à propos d'une panne (qui, selon lui, se produit dans certains cas lors du changement de type de stockage).
Pour référence, lors de la modification d'une base de données MySQL de 15 Go db.m3.medium à 20 Go dans eu-west-1 pendant la journée de travail, la connectivité de mon application à la base de données n'a pas été interrompue. Cependant, les IOPS en lecture/écriture ont tous deux augmenté entre 400 et 700/s pendant un peu moins de 20 minutes, d'où les références à des performances dégradées, je suppose. Cela a été signalé pour les instances de base de données mono-AZ et multi-AZ. (L'instance a été signalée comme "modifiant" pendant un peu plus longtemps que cela - environ 25 minutes.)
Naturellement, vous pouvez l'essayer sur une instance de base de données identique à votre base de données de production avant de le faire sur votre instance de base de données de production afin que vous puissiez voir en toute sécurité comment il se comporte dans votre situation avant de le faire pour de vrai.