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 fonctionnalité d’arrêt et de démarrage contrôle la facturation et 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 réduire les coûts de facturation, vous pouvez arrêter votre instance managée Usage général quand 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 efface toutes les données mises en cache.

Cette fonctionnalité introduit trois nouveaux états d’instance managée, comme l’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 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 vous créez une Managed Instance, démarrez une Managed Instance arrêtée ou redimensionnez une Managed Instance (par exemple en modifiant le niveau de service, le stockage, la génération de matériel ou le nombre de vCores), Azure attribue des ressources de calcul au cluster virtuel sous-jacent. Bien que l'on investisse continuellement dans des infrastructures supplémentaires pour répondre à la demande des clients, il peut arriver que l'attribution des ressources soit défaillante en raison d'une croissance sans précédent de la demande de services Azure dans certaines régions. Cela peut entraîner une durée d'opération prolongée (environ 4 heures si un nouveau cluster virtuel est construit, conformément aux durées d'opération de gestion), ou un échec du démarrage de l'instance, auquel cas vous devez réessayer plus tard.

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. Dans le cas d’un besoin urgent de maintenance du système qui nécessite que l’instance soit en ligne, Azure peut lancer l’opération de démarrage et maintenir l’instance en ligne jusqu’à la fin de l’opération de maintenance, moment auquel il 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 utiles pour les instances à motifs réguliers, comme le démarrage d'une instance tous les jours de la semaine à 8 heures, son arrêt à 17 heures, puis son démarrage pendant le week-end à 7 heures et son arrêt à 11 heures. 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 :

  • Les éléments planifiés sont définis en tant que paire arrêt-et-démarrage et leurs valeurs d’arrêt et de démarrage doivent être remplies. Il n’est pas possible d’avoir une valeur d’arrêt remplie et une valeur de démarrage manquante, et inversement.
  • Il ne peut pas y avoir de chevauchement de paires planifiées. 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.
  • S’il existe des opérations en conflit quand un arrêt est déclenché (telles qu’une mise à l’échelle de vCore en cours), le mécanisme effectue une nouvelle tentative 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 réduire les coûts de licence, pour appliquer cet avantage à une autre ressource quand l’instance est arrêtée, vous devez d’abord désactiver AHB sur l’instance, puis arrêter celle-ci. De même, après avoir redémarré l’instance, vous devez réactiver AHB sur celle-ci pour appliquer l’avantage de licence.

Prix ​​des instances réservées

Le prix des instances réservées (capacité réservée) est appliqué pour les vCores et les heures émis. 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 avez acheté une instance managée avec une capacité réservée de 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 :
  • Quand une instance managée est dans un état arrêté, il n’est pas possible de changer les propriétés de sa 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 l'opération d'arrêt ou de démarrage une fois qu'elle a été initiée.
  • Si une analyse d'évaluation des vulnérabilités est planifiée pour SQL Managed Instance et que l'instance est arrêtée, l'opération d'analyse sera toujours lancée mais l'exécution de l'analyse échouera.
  • Les notifications de maintenance ne seront pas déclenchées pour les instances qui sont à l'arrêt. Il en résulte que :
    • Une séquence incomplète de notifications (par exemple, la notification avancée n'est pas envoyée, la notification en cours est envoyée).
    • SQL Managed Instance ne figure pas dans la liste des ressources impactées dans le contenu de la notification.
  • Les journaux d'erreurs disponibles dans SQL Managed Instance ne sont pas persistants et sont automatiquement effacés lors de l'arrêt de l'instance.

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.

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. Pointer le curseur sur le contrôle explique pourquoi la fonctionnalité ne peut pas être utilisée par l’instance.

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 en utilisant PowerShell ou Azure CLI, vous devez préparer votre environnement en configurant les outils de ligne de commande et en définissant vos paramètres.

Au lieu de configurer vos outils de ligne de commande, vous pouvez également utiliser Azure Cloud Shell, qui est un shell interactif gratuit que vous pouvez utiliser pour exécuter les étapes de cet article. Il dispose d'outils Azure courants préinstallés et configurés pour être utilisés 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

Vous pouvez arrêter l'instance utilisant :

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

Pour arrêter votre Managed Instance en utilisant le 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 du portail Azure, avec mise en évidence du bouton « Arrêter ».

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

Démarrer l’instance managée

Vous pouvez démarrer l'instance en utilisant :

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

Une fois que votre Managed Instance est arrêtée, pour la démarrer en utilisant le portail Azure, rendez-vous sur 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 du portail Azure, avec mise en évidence du bouton « Démarrer ».

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
  • Appeler l'appel de l'API REST 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 « Planification de démarrage/arrêt » de l’instance managée.

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, à l’heure actuelle, il n’est pas possible de consulter l’historique des opérations de démarrage et d’arrêt planifiées via le journal d’activité du portail Azure ou via une surveillance basée sur ces journaux.

Étapes suivantes