Partager via


Arrêter et démarrer une instance – Azure SQL Managed Instance

S’applique à :Azure SQL Managed Instance

Cet article décrit comment arrêter et démarrer une instance pour réduire les coûts de facturation lorsque vous utilisez Azure SQL Managed Instance au le niveau de service d’usage général. Vous pouvez arrêter et démarrer votre instance en utilisant le portail Azure, Azure PowerShell, Azure CLI ou l'API REST.

Remarque

La facturation des contrôles de fonctionnalité d’arrêt et de démarrage ne doit pas être utilisée pour redémarrer l’instance en tant qu’étape de résolution des problèmes.

Vue d’ensemble

Pour économiser sur les coûts de facturation, vous pouvez arrêter votre instance managée SQL usage général lorsque vous ne l’utilisez pas. L’arrêt d’une instance est similaire à la désaffectation d’une machine virtuelle. Lorsqu'une instance est à l'arrêt, vous n'êtes plus facturé pour les coûts de calcul et de licence, mais vous êtes toujours facturé pour les données et le stockage de sauvegarde.

L’arrêt d’une instance managée SQL efface toutes les données mises en cache.

Cette fonctionnalité introduit trois nouveaux états d’instance managée SQL, comme le indique le diagramme suivant :




- En cours d'arrêt
- Arrêté
- En cours de démarrage

Diagramme montrant les différents états d’un déploiement SQL Managed Instance.

Une fois l’opération d’arrêt lancée, l’arrêt de l’instance prend généralement environ 5 minutes. Toutefois, le démarrage d’une instance prend environ 20 minutes à partir du moment où l’opération de démarrage est lancée. Seules les instances managées SQL dans un état prêt peuvent être arrêtées. Une fois l’instance arrêtée, elle reste arrêtée jusqu’à ce qu’une opération de démarrage soit lancée, soit manuellement, soit par le biais d’une planification définie. Seules les instances qui sont dans un état Arrêté peuvent être démarrées.

Lorsque les opérations suivantes se produisent, Azure alloue des ressources de calcul au cluster virtuel sous-jacent :

  • Création d’une instance managée SQL.
  • Démarrage d’une instance managée SQL arrêtée.
  • Redimensionnement d’une instance managée SQL. Par exemple, la modification du niveau de service, du stockage, de la génération de matériel ou du nombre de vCores.

Bien qu’il y ait un investissement continu dans davantage d’infrastructure pour prendre en charge la demande des clients, il peut y avoir des défaillances occasionnelles d’allocation de ressources à partir d’une croissance sans précédent de la demande de services Azure dans des régions spécifiques. Cette situation peut entraîner une durée d’opération prolongée, environ 4 heures s’il existe un nouveau buildout de cluster virtuel (conformément aux durées d’opération de gestion). Cela peut également entraîner un échec de démarrage de l’instance, auquel cas vous devez réessayer ultérieurement.

Important

En tant que service PaaS (platform as a service), SQL Managed Instance est responsable de la conformité de chaque élément des composants système. S’il existe un besoin urgent de maintenance du système, l’instance doit être en ligne. Dans ce cas, Azure peut lancer l’opération de démarrage et maintenir l’instance en ligne jusqu’à ce que l’opération de maintenance se termine, à quel moment Azure arrête l’instance. Les frais de calcul et de licence sont appliqués pour toute la durée pendant laquelle l’instance est dans un état en ligne.

Types d’actions

Il existe deux façons d’arrêter et de démarrer une instance : soit manuellement à la demande, soit en créant une planification.

Commandes manuelles

Vous pouvez utiliser des commandes manuelles pour déclencher immédiatement une action d’arrêt et de démarrage. Les commandes manuelles sont appropriées pour les instances qui ont des périodes d’inactivité plus longues sans modèles réguliers ou à des fins de test. Vous pouvez également utiliser des planifications Azure Automation ou toute solution personnalisée qui crée des planifications personnalisées et plus flexibles que vous ne pouvez pas configurer avec le planificateur d’arrêt et de démarrage intégré dans SQL Managed Instance.

Commandes planifiées

Vous pouvez également créer une planification avec un ou plusieurs points de temps quand une action d’arrêt ou de démarrage est déclenchée. Les commandes planifiées sont bonnes pour les instances qui ont des modèles réguliers. Par exemple, à partir d’une instance tous les jours de la semaine à 8 h, en l’arrêtant à 17 h, puis en la démarrant pendant le week-end à 7 h et en l’arrêtant à 11 h. Le fait de planifier vos commandes élimine le besoin de créer des solutions personnalisées ou d’utiliser Azure Automation pour créer des planifications d’arrêt et de démarrage.

Les éléments planifiés représentent des points dans le temps quand des événements d’arrêt ou de démarrage sont lancés, et non quand l’instance est opérationnelle. Quand vous créez une planification, prenez en compte la durée de l’opération. Par exemple, si vous souhaitez que votre instance soit opérationnelle à 8:00, vous pouvez définir une planification qui lance l’opération de démarrage à 7:40.

Tenez compte des règles suivantes pour une planification d’arrêt et de démarrage :

  • Chaque élément planifié est défini comme une paire stop-and-start et doit avoir à la fois des valeurs d’arrêt et de début remplies. Il n’est pas possible d’avoir une valeur d’arrêt remplie et une valeur de démarrage manquante, et inversement.
  • Les paires planifiées ne peuvent pas se chevaucher. En cas de chevauchement des heures planifiées, l’API retourne une erreur.
  • L’intervalle de temps entre deux actions successives (c’est-à-dire un démarrage après un arrêt ou un arrêt après un démarrage) doit être d’au moins une heure. Par exemple, si un démarrage est planifié pour 10:00, l’action d’arrêt ne peut pas être planifiée avant 11:00.
  • Si des opérations en conflit se produisent lorsqu’un arrêt est déclenché, tel qu’une mise à l’échelle de vCore en cours, le mécanisme tente à nouveau après 10 minutes. Si, après 10 minutes, l’opération en conflit est toujours active, l’opération d’arrêt est ignorée.

Facturation

Les instances arrêtées ne sont pas facturées pour les vCores et la licence SQL. Elles sont facturées uniquement pour le stockage des données et de sauvegarde. Toutefois, la facturation des vCores et de la licence est appliquée pour chaque heure démarrée. Par exemple, à 12 h 01, vous êtes facturé pour l'heure entière, même si l'instance est arrêtée dans l'heure.

Azure Hybrid Benefit

Azure Hybrid Benefit (AHB) est appliqué par ressource. Si votre instance utilise Azure Hybrid Benefit pour bénéficier d’une remise sur les coûts de licence, vous pouvez appliquer Azure Hybrid Benefit à une autre ressource lorsque l’instance est dans un état arrêté. Vous devez d’abord désactiver AHB sur l’instance, puis arrêter l’instance. De même, après avoir redémarré l’instance, vous devez réactiver AHB sur celle-ci pour appliquer l’avantage de licence.

Tarification des réservations

La réservation Azure est appliquée aux vCores et aux heures consommées. Quand une instance éligible à la tarification réservée est arrêtée, la tarification réservée est automatiquement redirigée vers une autre instance, le cas échéant. Vous pouvez utiliser la fonctionnalité d’arrêt et de démarrage pour surprovisionner le prix des instances réservées.

Par exemple, supposons que vous achetez une instance managée SQL avec une réservation pour 16 vCores. Vous pouvez exécuter deux instances avec 8 vCores chacune de 13:00 à 14:00, arrêter les deux instances, puis exécuter deux instances différentes avec 8 vCores chacune de 14:00 à 15:00. Cette approche consommerait votre limite de 16 vCores pour chaque heure, répartie sur quatre instances au total.

L’offre des remises de réservation repose sur le principe de « capacité utilisée ou perdue ». Autrement dit, si vous n’avez pas de ressources correspondantes pendant une heure spécifiée, la quantité de réservation pour cette heure est perdue. Les heures réservées inutilisées ne peuvent pas être reportées.

Limitations de la fonctionnalité d’arrêt et de démarrage

Tenez compte des limitations suivantes :

  • L’arrêt et le démarrage d’une instance n’est actuellement possible que pour les instances du niveau de service Usage général.
  • Vous ne pouvez pas arrêter les instances qui :
  • Si une instance managée SQL est dans un état arrêté, il n’est pas possible de modifier ses propriétés de configuration. Pour changer des propriétés, vous devez démarrer l’instance.
  • Quand l’instance est dans un état arrêté, il n’est pas possible d’effectuer des sauvegardes. Par exemple, supposons que vous avez configuré des sauvegardes à long terme, avec des sauvegardes annuelles en place. Si vous arrêtez l'instance pendant la période de sauvegarde annuelle définie, la sauvegarde est ignorée. Nous vous recommandons de maintenir l’instance opérationnelle pendant la période de sauvegarde annuelle.
  • Il n’est pas possible d’annuler une opération d’arrêt ou de démarrage une fois que vous l’avez lancée.
  • Si une analyse d’évaluation des vulnérabilités est planifiée pour SQL Managed Instance pendant l’arrêt de l’instance, l’exécution de l’analyse échoue.
  • Les notifications de maintenance ne sont pas envoyées pour les instances qui sont dans un état arrêté. Le résultat est :
    • Séquence incomplète de notifications. Par exemple, une notification avancée n’est pas envoyée, tandis qu’une notification en cours est envoyée.
    • SQL Managed Instance est manquant dans la liste des ressources affectées dans le contenu de la notification.
  • Les journaux d’erreur disponibles dans SQL Managed Instance ne sont pas conservés et sont automatiquement effacés lorsque l’instance est arrêtée.

Prérequis

Pour utiliser la fonctionnalité d’arrêt et de démarrage de l’instance, votre instance doit se trouver dans le niveau de service Usage général. Les utilisateurs autorisés à gérer l’instance peuvent arrêter et démarrer l’instance. Pour en savoir plus, consultez les autorisations Azure pour les bases de données.

Dans les instances qui ne remplissent pas cette condition préalable, les contrôles d’arrêt et de démarrage sont désactivés sur la page Vue d’ensemble de la ressource SQL Managed Instance dans le portail Azure. Le pointage sur le contrôle explique pourquoi l’instance ne peut pas utiliser la fonctionnalité d’arrêt et de démarrage.

Préparer l'environnement de ligne de commande

Ignorez cette étape si vous utilisez le portail Azure.

Si vous souhaitez arrêter ou démarrer une instance à l’aide de PowerShell ou d’Azure CLI, vous devez préparer votre environnement en configurant des outils en ligne de commande et en définissant vos paramètres.

Vous pouvez également utiliser Azure Cloud Shell pour configurer vos outils en ligne de commande. Un interpréteur de commandes interactif gratuit que vous pouvez utiliser pour exécuter les étapes décrites dans cet article. Il dispose d’outils Azure préinstallés courants et est configuré pour être utilisé avec votre compte. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.

Pour ouvrir Cloud Shell, sélectionnez Essayer en haut à droite d’un bloc de code. Vous pouvez aussi lancer Cloud Shell dans un onglet distinct du navigateur en accédant à https://shell.azure.com.

Pour arrêter et démarrer votre instance avec PowerShell, vous pouvez installer Azure PowerShell ou utiliser Azure Cloud Shell.

Quand Cloud Shell s’ouvre, vérifiez que PowerShell est sélectionné pour votre environnement. Les sessions suivantes utilisent Azure CLI dans un environnement PowerShell. Sélectionnez Copier pour copier les blocs de code, collez-les dans Cloud Shell, puis appuyez sur Entrée pour les exécuter.

Une fois PowerShell ou Cloud Shell lancé, définissez les paramètres :

$SubscriptionId = "<Subscription-ID>"
$SqlMIName = "<SQL-MI-name>"
$RgName = "<SQL-MI-resource-group>"

# Login-AzAccount
Select-AzSubscription -SubscriptionName $SubscriptionID

Arrêter l’instance managée SQL

Vous pouvez arrêter l'instance utilisant :

  • Azure portal
  • PowerShell
  • L’interface de ligne de commande Microsoft Azure
  • Appel de l’API REST, appelé via n’importe quel outil

Pour arrêter votre instance managée SQL à l’aide du portail Azure, accédez à la page Vue d’ensemble de votre instance, puis sélectionnez le bouton Arrêter .

Capture d’écran de la page « Vue d’ensemble » de l’instance managée SQL dans le portail Azure, avec le bouton « Arrêter » mis en surbrillance.

Si votre instance est déjà arrêtée, le bouton Arrêter n’est pas disponible.

Démarrer l’instance managée SQL

Vous pouvez démarrer l'instance en utilisant :

  • Azure portal
  • PowerShell
  • L’interface de ligne de commande Microsoft Azure
  • Appel de l’API REST, appelé via n’importe quel outil

Une fois votre instance managée SQL arrêtée, pour la démarrer à l’aide du portail Azure, accédez à la page Vue d’ensemble de votre instance, puis sélectionnez le bouton Démarrer .

Capture d’écran de la page « Vue d’ensemble » de l’instance managée SQL dans le portail Azure, avec le bouton « Démarrer » mis en surbrillance.

Si votre instance est déjà démarrée, le bouton Démarrer n’est pas disponible.

Gérer une planification d’arrêt et de démarrage

Vous pouvez gérer une planification d'arrêt et de démarrage en utilisant :

  • Azure portal
  • PowerShell
  • L’interface de ligne de commande Microsoft Azure
  • Appel de l’API REST, appelé via n’importe quel outil

Pour gérer un plan d'arrêt et de démarrage en utilisant le portail Azure, accédez à votre instance, puis sélectionnez Plan de démarrage/d'arrêt dans le menu des ressources.

Capture d’écran de la page « Démarrer/Arrêter la planification » de l’instance managée SQL.

Dans le volet Planification de démarrage/arrêt, vous pouvez :

  • afficher les planifications existantes ;
  • spécifier le fuseau horaire de vos événements planifiés dans la liste déroulante Fuseau horaire ;
  • créer une planification en sélectionnant Créer un élément de planification ;
  • modifier une planification existante en sélectionnant l’icône de crayon ;
  • supprimer une planification existante en sélectionnant l’icône de corbeille.

Remarque

Actuellement, le journal d’activité capture uniquement les opérations lancées via Azure Resource Manager (ARM). Les opérations de démarrage et d’arrêt planifiées ne sont pas suivies dans le journal d’activité. Par conséquent, à ce stade, il n’est pas possible d’afficher l’historique des opérations de démarrage et d’arrêt planifiées via le journal d’activité dans le portail Azure. Ou, via n’importe quelle surveillance basée sur ces journaux d’activité.