Solution de démarrage/arrêt des machines virtuelles durant les heures creuses dans Azure AutomationStart/Stop VMs during off-hours solution in Azure Automation

La solution Start/Stop VMs during off-hours démarre et arrête vos machines virtuelles Azure selon une planification définie par l’utilisateur. En outre, elle fournit des informations via Azure les Azure journaux Azure Monitor et peut envoyer des e-mails à l’aide de groupes d’actions.The Start/Stop VMs during off-hours solution start and stops your Azure virtual machines on user-defined schedules, provides insights through Azure Monitor logs, and sends optional emails by using action groups. Elle prend en charge Azure Resource Manager et les machines virtuelles classiques pour la plupart des scénarios.It supports both Azure Resource Manager and classic VMs for most scenarios. Pour utiliser cette solution avec des machines virtuelles Classic, vous avez besoin d’un compte d’identification Classic, lequel n’est pas créé par défaut.To use this solution with Classic VMs, you need a Classic RunAs account, which is not created by default. Pour savoir comment créer un compte d’identification Classic, consultez Comptes d’identification Classic.For instructions on creating a Classic RunAs account, see Classic Run-As Accounts.

Notes

La solution Start/Stop VMs during off-hours a été testée avec les modules Azure importés dans votre compte Automation lors du déploiement de la solution.The Start/Stop VMs during off-hours solution has been tested with the Azure modules that are imported into your Automation Account when you deploy the solution. La solution ne fonctionne actuellement pas avec des versions plus récentes du module Azure.The solution does currently not work with newer versions of the Azure module. Cela affecte uniquement le compte Automation que vous utilisez pour exécuter la solution Start/Stop VMs during off-hours.This only affects the Automation Account that you use to run the Start/Stop VMs during off-hours solution. Vous pouvez toujours utiliser des versions les plus récentes du module Azure dans vos autres comptes Automation, comme décrit dans le Guide de mise à jour des modules Azure PowerShell dans Azure Automation.You can still use newer versions of the Azure module in your other Automation Accounts, as described in How to update Azure PowerShell modules in Azure Automation

Cette solution offre une option décentralisée pour les utilisateurs souhaitant réduire les coûts de leurs machines virtuelles.This solution provides a decentralized low-cost automation option for users who want to optimize their VM costs. Cette option permet d’effectuer les tâches suivantes :With this solution, you can:

  • Planification du démarrage et de l’arrêt de machines virtuellesSchedule VMs to start and stop.
  • Planification du démarrage et de l’arrêt de machines virtuelles dans un ordre croissant à l’aide de balises Azure (non prises en charge pour les machines virtuelles classiques)Schedule VMs to start and stop in ascending order by using Azure Tags (not supported for classic VMs).
  • Arrêt automatique de machines virtuelles en fonction de la faible utilisation de l’UCAutostop VMs based on low CPU usage.

Les limitations de la solution actuelle sont les suivantes :The following are limitations with the current solution:

  • Cette solution permet de gérer les machines virtuelles de toutes les régions, mais seulement dans le même abonnement que le compte Azure Automation.This solution manages VMs in any region, but can only be used in the same subscription as your Azure Automation account.
  • Cette solution est disponible dans Azure et AzureGov pour toutes les régions qui prennent en charge un espace de travail Log Analytics, un compte Azure Automation et les alertes.This solution is available in Azure and AzureGov to any region that supports a Log Analytics workspace, an Azure Automation account, and Alerts. À l’heure actuelle, les régions AzureGov ne gèrent pas les fonctionnalités de messagerie électronique.AzureGov regions currently do not support email functionality.

Notes

Si vous utilisez la solution pour les machines virtuelles classiques, toutes vos machines virtuelles sont traitées séquentiellement par service cloud.If you are using the solution for classic VMs, then all your VMs will be processed sequentially per cloud service. Les machines virtuelles sont toujours traitées en parallèle à travers les différents services cloud.Virtual machines are still processed in parallel across different cloud services. Si vous avez plus de 20 machines virtuelles par service cloud, nous vous recommandons de créer plusieurs planifications avec le runbook parent ScheduledStartStop_Parent et de spécifier 20 machines virtuelles par planification.If you have more than 20 VMs per cloud service, we recommend creating multiple schedules with the parent runbook ScheduledStartStop_Parent and specify 20 VMs per schedule. Dans les propriétés de planification, spécifiez les noms des machines virtuelles dans le paramètre VMList, sous forme d’une liste séparée par des virgules.In the schedule properties, specify as a comma-separated list, VM names in the VMList parameter. Sinon, si le travail d’automatisation pour cette solution s’exécute pendant plus de trois heures, il est momentanément déchargé ou arrêté par la limite de répartition de charge équilibrée.Otherwise, if the Automation job for this solution runs more than three hours it is temporarily unloaded or stopped per the fair share limit.

Les abonnements Azure Cloud Solution Provider (Azure CSP) prennent uniquement en charge le modèle Azure Resource Manager ; les services hors Azure Resource Manager ne sont pas disponibles dans le programme.Azure Cloud Solution Provider (Azure CSP) subscriptions support only the Azure Resource Manager model, non-Azure Resource Manager services are not available in the program. Quand la solution Start/Stop s’exécute, vous risquez de recevoir des erreurs du fait qu’elle contient des cmdlets pour gérer des ressources classiques.When the Start/Stop solution runs you may receive errors as it has cmdlets to manage classic resources. Pour en savoir plus sur CSP, consultez Services disponibles dans les abonnements CSP.To learn more about CSP, see Available services in CSP subscriptions. Si vous utilisez un abonnement CSP, vous devez définir la variable External_EnableClassicVMs sur False après le déploiement.If you use a CSP subscription, you should modify the External_EnableClassicVMs variable to False after deployment.

Notes

Cet article a récemment été mis à jour pour utiliser le terme journaux d’activité Azure Monitor au lieu de Log Analytics.This article was recently updated to use the term Azure Monitor logs instead of Log Analytics. Les données de journal sont toujours stockées dans un espace de travail Log Analytics, et elles sont toujours collectées et analysées par le même service Log Analytics.Log data is still stored in a Log Analytics workspace and is still collected and analyzed by the same Log Analytics service. Nous mettons la terminologie à jour pour mieux refléter le rôle des journaux d’activité dans Azure Monitor.We are updating the terminology to better reflect the role of logs in Azure Monitor. Pour plus d'informations, consultez Modifications de la terminologie d'Azure Monitor.See Azure Monitor terminology changes for details.

PrérequisPrerequisites

Les runbooks de cette solution fonctionnent avec un compte d’identification Azure.The runbooks for this solution work with an Azure Run As account. Le compte d’identification est la méthode d’authentification recommandée, car elle utilise l’authentification par certificat au lieu d’un mot de passe, susceptible d’expirer ou de changer fréquemment.The Run As account is the preferred authentication method, because it uses certificate authentication instead of a password that might expire or change frequently.

Il vous est recommandé d’utiliser un compte Automation distinct pour la solution Start/Stop VM.We recommend you use a separate Automation Account for the Start/Stop VM solution. En effet, les versions de module Azure sont fréquemment mises à niveau et leurs paramètres peuvent changer.This is because Azure module versions are frequently upgraded, and their parameters may change. La solution Start/Stop VM n’est pas mise à niveau à la même cadence, de sorte qu’elle risque de ne pas fonctionner avec des versions plus récentes des cmdlets qu’elle utilise.The Start/Stop VM solution is not upgraded on the same cadence so it may not work with newer versions of the cmdlets that it uses. Il vous est recommandé de tester les mises à jour de module dans un compte Automation de test avant de les importer dans votre ou vos comptes Automation de production.We also recommend you test module updates in a test Automation Account prior to importing them in your production Automation Account(s).

Autorisations nécessaires pour déployerPermissions needed to deploy

Pour déployer la solution Start/Stop VMs during off-hours, un utilisateur doit disposer de certaines autorisations.There are certain permissions that a user must have to deploy the Start/Stop VMs during off hours solution. Ces autorisations diffèrent selon que vous utilisez un compte Automation et un espace de travail Log Analytics, ou en créez de nouveaux lors du déploiement.These permissions are different if using a pre-created Automation Account and Log Analytics workspace or creating new ones during deployment. Si vous êtes un contributeur pour l’abonnement et un administrateur général dans votre locataire Azure Active Directory, vous n’avez pas besoin de configurer les autorisations suivantes.If you are a Contributor on the subscription and a Global Administrator in your Azure Active Directory tenant, you do not need to configure the following permissions. Si vous ne disposez pas de ces droits ou devez configurer un rôle personnalisé, consultez les autorisations requises ci-dessous.If you do not have those rights or need to configure a custom role, see the permissions required below.

Compte Automation et espace de travail Log Analytics préexistantsPre-existing Automation Account and Log Analytics workspace

Pour déployer la solution Start/Stop VMs during off-hours sur un compte Automation existant et un espace de travail Log Analytics, l’utilisateur qui déploie la solution à besoin des autorisations suivantes sur le Groupe de ressources.To deploy the Start/Stop VMs during off hours solution to an existing Automation Account and Log Analytics workspace, the user deploying the solution requires the following permissions on the Resource Group. Pour en savoir plus sur les rôles, voir Rôles personnalisés pour les ressources Azure.To learn more about roles, see Custom roles for Azure resources.

AutorisationPermission ÉtendueScope
Microsoft.Automation/automationAccounts/readMicrosoft.Automation/automationAccounts/read Groupe de ressourcesResource Group
Microsoft.Automation/automationAccounts/variables/writeMicrosoft.Automation/automationAccounts/variables/write Groupe de ressourcesResource Group
Microsoft.Automation/automationAccounts/schedules/writeMicrosoft.Automation/automationAccounts/schedules/write Groupe de ressourcesResource Group
Microsoft.Automation/automationAccounts/runbooks/writeMicrosoft.Automation/automationAccounts/runbooks/write Groupe de ressourcesResource Group
Microsoft.Automation/automationAccounts/connections/writeMicrosoft.Automation/automationAccounts/connections/write Groupe de ressourcesResource Group
Microsoft.Automation/automationAccounts/certificates/writeMicrosoft.Automation/automationAccounts/certificates/write Groupe de ressourcesResource Group
Microsoft.Automation/automationAccounts/modules/writeMicrosoft.Automation/automationAccounts/modules/write Groupe de ressourcesResource Group
Microsoft.Automation/automationAccounts/modules/readMicrosoft.Automation/automationAccounts/modules/read Groupe de ressourcesResource Group
Microsoft.automation/automationAccounts/jobSchedules/writeMicrosoft.automation/automationAccounts/jobSchedules/write Groupe de ressourcesResource Group
Microsoft.Automation/automationAccounts/jobs/writeMicrosoft.Automation/automationAccounts/jobs/write Groupe de ressourcesResource Group
Microsoft.Automation/automationAccounts/jobs/readMicrosoft.Automation/automationAccounts/jobs/read Groupe de ressourcesResource Group
Microsoft.OperationsManagement/solutions/writeMicrosoft.OperationsManagement/solutions/write Groupe de ressourcesResource Group
Microsoft.OperationalInsights/workspaces/*Microsoft.OperationalInsights/workspaces/* Groupe de ressourcesResource Group
Microsoft.Insights/diagnosticSettings/writeMicrosoft.Insights/diagnosticSettings/write Groupe de ressourcesResource Group
Microsoft.Insights/ActionGroups/WriteMicrosoft.Insights/ActionGroups/Write Groupe de ressourcesResource Group
Microsoft.Insights/ActionGroups/readMicrosoft.Insights/ActionGroups/read Groupe de ressourcesResource Group
Microsoft.Resources/subscriptions/resourceGroups/readMicrosoft.Resources/subscriptions/resourceGroups/read Groupe de ressourcesResource Group
Microsoft.Resources/deployments/*Microsoft.Resources/deployments/* Groupe de ressourcesResource Group

Nouveaux compte Automation et espace de travail Log AnalyticsNew Automation Account and a new Log Analytics workspace

Pour déployer la solution Start/Stop VMs during off-hours sur un nouveau compte Automation et espace de travail Log Analytics, l’utilisateur qui déploie la solution doit disposer des autorisations définies dans la section précédente, ainsi que les autorisations suivantes :To deploy the Start/Stop VMs during off hours solution to a new Automation Account and Log Analytics workspace, the user deploying the solution needs the permissions defined in the preceding section as well as the following permissions:

AutorisationPermission ÉtendueScope
Microsoft.Authorization/Operations/readMicrosoft.Authorization/Operations/read SubscriptionSubscription
Microsoft.Authorization/permissions/readMicrosoft.Authorization/permissions/read SubscriptionSubscription
Microsoft.Authorization/roleAssignments/readMicrosoft.Authorization/roleAssignments/read SubscriptionSubscription
Microsoft.Authorization/roleAssignments/writeMicrosoft.Authorization/roleAssignments/write SubscriptionSubscription
Microsoft.Authorization/roleAssignments/deleteMicrosoft.Authorization/roleAssignments/delete SubscriptionSubscription
Microsoft.Automation/automationAccounts/connections/readMicrosoft.Automation/automationAccounts/connections/read Groupe de ressourcesResource Group
Microsoft.Automation/automationAccounts/certificates/readMicrosoft.Automation/automationAccounts/certificates/read Groupe de ressourcesResource Group
Microsoft.Automation/automationAccounts/writeMicrosoft.Automation/automationAccounts/write Groupe de ressourcesResource Group
Microsoft.OperationalInsights/workspaces/writeMicrosoft.OperationalInsights/workspaces/write Groupe de ressourcesResource Group

Déployer la solutionDeploy the solution

Procédez comme suit pour ajouter la solution Start/Stop VMs during off-hours (préversion) à votre compte Automation, puis configurer les variables pour personnaliser la solution.Perform the following steps to add the Start/Stop VMs during off-hours solution to your Automation account, and then configure the variables to customize the solution.

  1. Dans un compte Automation, sélectionnez Start/Stop VM sous Ressources associées.From an Automation Account, select Start/Stop VM under Related Resources. Vous pouvez alors cliquer sur En savoir plus sur la solution et l’activer.From here, you can click Learn more about and enable the solution. Si vous avez déjà une solution Start/Stop VM déployée, sélectionnez-la en cliquant sur Gérer la solution et en la recherchant dans la liste.If you already have a Start/Stop VM solution deployed, you can select it by clicking Manage the solution and finding it in the list.

    Activer à partir d’un compte Automation

    Notes

    Vous pouvez également la créer n’importe où sur le Portail Azure en cliquant sur Créer une ressource.You can also create it from anywhere in the Azure portal, by clicking Create a resource. Dans la page Place de marché, saisissez un mot clé, tel que Démarrer ou Arrêter/Démarrer.In the Marketplace page, type a keyword such as Start or Start/Stop. Au fur et à mesure de la saisie, la liste est filtrée.As you begin typing, the list filters based on your input. Vous pouvez également saisir un ou plusieurs des mots clés à partir du nom complet de la solution, puis appuyer sur la touche Entrée.Alternatively, you can type in one or more keywords from the full name of the solution and then press Enter. Sélectionnez Start/Stop VMs during off-hours dans les résultats de la recherche.Select Start/Stop VMs during off-hours from the search results.

  2. Sur la page Start/Stop VMs during off-hours de la solution sélectionnée, vérifiez les informations résumées, puis cliquez sur Créer.In the Start/Stop VMs during off-hours page for the selected solution, review the summary information and then click Create.

    Portail Azure

  3. La page Ajouter une solution s’affiche.The Add Solution page appears. Vous êtes invité à configurer la solution pour pouvoir l’importer dans votre abonnement Automation.You are prompted to configure the solution before you can import it into your Automation subscription.

    Page Ajouter une solution de VM Management (Gestion de machines virtuelles)

  4. Sur la page Ajouter une solution, sélectionnez Espace de travail.On the Add Solution page, select Workspace. Sélectionnez un espace de travail Log Analytics lié au même abonnement Azure que celui dans lequel le compte Automation se trouve.Select a Log Analytics workspace that's linked to the same Azure subscription that the Automation account is in. Si vous ne disposez pas d’espace de travail, sélectionnez Créer un espace de travail.If you don't have a workspace, select Create New Workspace. Sur la page Espace de travail Log Analytics, suivez les étapes suivantes :On the Log Analytics workspace page, perform the following steps:

    • Spécifiez un nom pour le nouvel espace de travail Log Analytics, comme « ContosoLAWorkspace ».Specify a name for the new Log Analytics workspace, such as "ContosoLAWorkspace".
    • Dans la liste déroulante Abonnement, sélectionnez un abonnement à lier si la valeur par défaut sélectionnée n’est pas appropriée.Select a Subscription to link to by selecting from the drop-down list, if the default selected is not appropriate.
    • Sous Groupe de ressources, vous pouvez créer un groupe de ressources ou en sélectionner un qui existe déjà.For Resource Group, you can create a new resource group or select an existing one.
    • Sélectionnez un emplacement.Select a Location. Actuellement, les seuls emplacements disponibles sont Australie Sud-Est, Canada Centre, Inde Centre, USA Est, Japon Est, Asie Sud-Est, Royaume-Uni Sud, Europe Ouest et USA Ouest 2.Currently, the only locations available are Australia Southeast, Canada Central, Central India, East US, Japan East, Southeast Asia, UK South, West Europe, and West US 2.
    • Sélectionner un niveau de tarification.Select a Pricing tier. Choisissez l’option Par Go (autonome) .Choose the Per GB (Standalone) option. Les journaux Azure Monitor ont mis à jour les tarifs, et le niveau Par Go est la seule option disponible.Azure Monitor logs have updated pricing and the Per GB tier is the only option.

    Notes

    Lors de l’activation de solutions, seules certaines régions sont prises en charge pour la liaison d’un espace de travail Log Analytics et d’un compte Automation.When enabling solutions, only certain regions are supported for linking a Log Analytics workspace and an Automation Account.

    Pour obtenir la liste des paires de mappages prises en charge, consultez Mappage de région pour un compte Automation et l’espace de travail Log Analytics.For a list of the supported mapping pairs, see Region mapping for Automation Account and Log Analytics workspace.

  5. Après avoir entré les informations requises sur la page Espace de travail Log Analytics, cliquez sur Créer.After providing the required information on the Log Analytics workspace page, click Create. Vous pouvez suivre sa progression sous Notifications dans le menu, qui vous renvoie à la page Ajouter une solution une fois terminé.You can track its progress under Notifications from the menu, which returns you to the Add Solution page when done.

  6. Sur la page Ajouter une solution, sélectionnez Compte Automation.On the Add Solution page, select Automation account. Si vous créez un espace de travail Log Analytics, vous pouvez créer un compte Automation associé ou en sélectionner un qui ne soit pas déjà lié à un espace de travail Log Analytics.If you're creating a new Log Analytics workspace, you can create a new Automation account to be associated with it, or select an existing Automation Account that is not already linked to a Log Analytics workspace. Sélectionnez un compte Automation existant ou cliquez sur Créer un compte Automation, puis, sur la page Ajouter un compte Automation, indiquez les informations suivantes :Select an existing Automation Account or click Create an Automation account, and on the Add Automation account page, provide the following information:

    • Dans le champ Nom, saisissez le nom du compte Automation.In the Name field, enter the name of the Automation account.

      Toutes les autres options sont renseignées automatiquement en fonction de l’espace de travail Log Analytics sélectionné.All other options are automatically populated based on the Log Analytics workspace selected. et ne peuvent pas être modifiées.These options cannot be modified. Un compte d’identification Azure est la méthode d’authentification par défaut pour les runbooks inclus dans cette solution.An Azure Run As account is the default authentication method for the runbooks included in this solution. Après avoir cliqué sur OK, les options de configuration sont validées et le compte Automation est créé.After you click OK, the configuration options are validated and the Automation account is created. Vous pouvez suivre la progression sous Notifications dans le menu.You can track its progress under Notifications from the menu.

  7. Enfin, sur la page Ajouter une solution, sélectionnez Configuration.Finally, on the Add Solution page, select Configuration. La page Paramètres s’affiche.The Parameters page appears.

    Page Paramètres pour la solution

    Ce volet vous permet de :Here, you're prompted to:

    • Spécifier les noms des groupes de ressources cibles.Specify the Target ResourceGroup Names. Ces valeurs sont les noms des groupes de ressources qui contiennent les machines virtuelles devant être gérées par cette solution.These values are resource group names that contain VMs to be managed by this solution. Vous pouvez entrer plusieurs noms en les séparant par des virgules (les valeurs ne respectent pas la casse).You can enter more than one name and separate each by using a comma (values are not case-sensitive). Si vous souhaitez cibler les machines virtuelles de tous les groupes de ressources de l’abonnement, l’utilisation d’un caractère générique est prise en charge.Using a wildcard is supported if you want to target VMs in all resource groups in the subscription. Cette valeur est stockée dans les variables External_Start_ResourceGroupNames et External_Stop_ResourceGroupnames.This value is stored in the External_Start_ResourceGroupNames and External_Stop_ResourceGroupNames variables.

    • Spécifier la liste d’exclusion de machines virtuelles (chaîne) .Specify the VM Exclude List (string). Cette valeur est le nom d’une ou de plusieurs machines virtuelles appartenant au groupe de ressources cible.This value is the name of one or more virtual machines from the target resource group. Vous pouvez entrer plusieurs noms en les séparant par des virgules (les valeurs ne respectent pas la casse).You can enter more than one name and separate each by using a comma (values are not case-sensitive). Les caractères génériques sont pris en charge.Using a wildcard is supported. Cette valeur est stockée dans la variable External_ExcludeVMNames.This value is stored in the External_ExcludeVMNames variable.

    • Sélectionner une planification.Select a Schedule. Sélectionnez une date et une heure pour votre planification.Select a date and time for your schedule. Un calendrier quotidien récurrent sera créé, commençant à l’heure que vous avez sélectionnée.A reoccurring daily schedule will be created starting with the time that you selected. La sélection d’une autre région n’est pas possible.Selecting a different region is not available. Pour configurer la planification sur votre propre fuseau horaire après la configuration de la solution, consultez Modification de la planification de démarrage et d’arrêt.To configure the schedule to your specific time zone after configuring the solution, see Modifying the startup and shutdown schedule.

    • Pour recevoir des notifications par e-mail de la part d’un groupe d’actions, acceptez la valeur par défaut Oui, puis fournissez une adresse e-mail valide.To receive Email notifications from an action group, accept the default value of Yes and provide a valid email address. Si vous sélectionnez Non, mais décidez ultérieurement de recevoir les notifications par e-mail, vous pouvez mettre à jour le groupe d’actions qui est créé en y ajoutant des adresses e-mail valides, séparées par une virgule.If you select No but decide at a later date that you want to receive email notifications, you can update the action group that is created with valid email addresses separated by a comma. Activez également les règles d’alerte suivantes :You also need to enable the following alert rules:

      • AutoStop_VM_ChildAutoStop_VM_Child
      • Scheduled_StartStop_ParentScheduled_StartStop_Parent
      • Sequenced_StartStop_ParentSequenced_StartStop_Parent

      Important

      La valeur par défaut pour les noms des groupes de ressources cibles est un * .The default value for Target ResourceGroup Names is a *. Elle cible toutes les machines virtuelles dans un abonnement.This targets all VMs in a subscription. Si vous ne souhaitez pas que la solution cible toutes les machines virtuelles dans votre abonnement, vous devez définir cette valeur sur une liste de noms de groupes de ressources avant d’activer les planifications.If you do not want the solution to target all the VMs in your subscription this value needs to be updated to a list of resource group names prior to enabling the schedules.

  8. Après avoir configuré les paramètres initiaux requis pour la solution, cliquez sur OK pour fermer la page Paramètres et sélectionnez Créer.After you have configured the initial settings required for the solution, click OK to close the Parameters page and select Create. Quand tous les paramètres sont validés, la solution est déployée dans votre abonnement.After all settings are validated, the solution is deployed to your subscription. Ce processus peut prendre plusieurs secondes. Vous pouvez suivre la progression sous Notifications dans le menu.This process can take several seconds to finish, and you can track its progress under Notifications from the menu.

Notes

Si vous avez un abonnement Azure Cloud Solution Provider (Azure CSP), une fois le déploiement terminé, dans votre compte Automation, accédez à Variables sous Ressources partagées et définissez la variable External_EnableClassicVMs sur False.If you have an Azure Cloud Solution Provider (Azure CSP) subscription, after deployment is complete, in your Automation Account, go to Variables under Shared Resources and set the External_EnableClassicVMs variable to False. La solution arrête de rechercher des ressources de machine virtuelle classiques.This stops the solution from looking for Classic VM resources.

ScénariosScenarios

La solution inclut trois scénarios distincts.The solution contains three distinct scenarios. Ces scénarios sont les suivants :These scenarios are:

Scénario 1 : Démarrer/arrêter les machines virtuelles selon une planificationScenario 1: Start/Stop VMs on a schedule

Ce scénario est la configuration par défaut quand vous déployez la solution pour la première fois.This scenario is the default configuration when you first deploy the solution. Par exemple, vous pouvez le configurer pour arrêter toutes les machines virtuelles d’un abonnement quand vous quittez le travail le soir, et pour les démarrer le matin quand vous arrivez au bureau.For example, you can configure it to stop all VMs across a subscription when you leave work in the evening, and start them in the morning when you are back in the office. Quand vous configurez les planifications Scheduled-StartVM et Scheduled-StopVM pendant le déploiement, celles-ci démarrent et arrêtent les machines virtuelles cibles.When you configure the schedules Scheduled-StartVM and Scheduled-StopVM during deployment, they start and stop targeted VMs. Il est possible de configurer cette solution simplement pour arrêter les machines virtuelles, consultez la section Modifier les planifications de démarrage et d’arrêt pour savoir comment configurer une planification personnalisée.Configuring this solution to just stop VMs is supported, see Modify the startup and shutdown schedules to learn how to configure a custom schedule.

Notes

Le fuseau horaire est votre fuseau horaire actuel quand vous configurez le paramètre du temps de planification.The time zone is your current time zone when you configure the schedule time parameter. Toutefois, il est conservé au format UTC dans Azure Automation.However, it is stored in UTC format in Azure Automation. Il est inutile de convertir un fuseau horaire car cela est géré pendant le déploiement.You do not have to do any time zone conversion as this is handled during the deployment.

Vous pouvez contrôler les machines virtuelles couvertes en configurant les variables suivantes : External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames et External_ExcludeVMNames.You control which VMs are in scope by configuring the following variables: External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames, and External_ExcludeVMNames.

Vous pouvez activer cette solution pour prendre un charge un abonnement et un groupe de ressources, ou bien une liste spécifique de machines virtuelles, mais pas les deux.You can enable either targeting the action against a subscription and resource group, or targeting a specific list of VMs, but not both.

Configurer le démarrage et l’arrêt pour un abonnement et un groupe de ressourcesTarget the start and stop actions against a subscription and resource group

  1. Configurez les variables External_Stop_ResourceGroupNames et External_ExcludeVMNames pour spécifier les machines virtuelles cibles.Configure the External_Stop_ResourceGroupNames and External_ExcludeVMNames variables to specify the target VMs.
  2. Activez et mettez à jour les planifications Scheduled-StartVM et Scheduled-StopVM.Enable and update the Scheduled-StartVM and Scheduled-StopVM schedules.
  3. Exécutez le runbook ScheduledStartStop_Parent avec le paramètre ACTION défini sur Start et le paramètre WHATIF défini sur True pour afficher un aperçu des modifications.Run the ScheduledStartStop_Parent runbook with the ACTION parameter set to start and the WHATIF parameter set to True to preview your changes.

Configurer le démarrage et l’arrêt pour une liste de machines virtuellesTarget the start and stop action by VM list

  1. Exécutez le runbook ScheduledStartStop_Parent avec le paramètre ACTION défini sur Start, ajoutez une liste de machines virtuelles séparées par des virgules dans le paramètre VMList et définissez le paramètre WHATIF sur True.Run the ScheduledStartStop_Parent runbook with the ACTION parameter set to start, add a comma-separated list of VMs in the VMList parameter, and then set the WHATIF parameter to True. Affichez un aperçu de vos modifications.Preview your changes.
  2. Configurez le paramètre External_ExcludeVMNames avec une liste de noms de machines virtuelles séparés par une virgule (VM1, VM2, VM3).Configure the External_ExcludeVMNames parameter with a comma-separated list of VMs (VM1, VM2, VM3).
  3. Ce scénario ne tient pas compte des variables External_Start_ResourceGroupNames et External_Stop_ResourceGroupnames.This scenario does not honor the External_Start_ResourceGroupNames and External_Stop_ResourceGroupnames variables. Pour ce scénario, vous devez créer votre propre planification Automation.For this scenario, you need to create your own Automation schedule. Pour plus d’informations, consultez Planification d'un Runbook dans Azure Automation.For details, see Scheduling a runbook in Azure Automation.

Notes

La valeur de Target ResourceGroup Names est stockée comme étant également la valeur de External_Start_ResourceGroupNames et External_Stop_ResourceGroupNames.The value for Target ResourceGroup Names is stored as the value for both External_Start_ResourceGroupNames and External_Stop_ResourceGroupNames. Pour plus de granularité, vous pouvez modifier chacune de ces variables pour cibler des groupes de ressources différents.For further granularity, you can modify each of these variables to target different resource groups. Utilisez External_Start_ResourceGroupNames pour une action de démarrage, et External_Stop_ResourceGroupNames pour une action d’arrêt.For start action, use External_Start_ResourceGroupNames, and for stop action, use External_Stop_ResourceGroupNames. Les machines virtuelles sont automatiquement ajoutées aux planifications de démarrage et d’arrêt.VMs are automatically added to the start and stop schedules.

Scénario 2 : Démarrer/arrêter les machines virtuelles dans un certain ordre en utilisant des balisesScenario 2: Start/Stop VMS in sequence by using tags

Dans un environnement comprenant deux composants ou plus sur plusieurs machines virtuelles prenant en charge une charge de travail distribuée, il est important de prendre en charge l’ordre de démarrage et d’arrêt des composants.In an environment that includes two or more components on multiple VMs supporting a distributed workload, supporting the sequence in which components are started and stopped in order is important. Pour ce scénario, effectuez les étapes suivantes :You can accomplish this scenario by performing the following steps:

Configurer le démarrage et l’arrêt pour un abonnement et un groupe de ressourcesTarget the start and stop actions against a subscription and resource group

  1. Ajoutez une balise sequencestart et une balise sequencestop avec une valeur entière positive aux machines virtuelles cibles dans les variables External_Start_ResourceGroupNames et External_Stop_ResourceGroupNames.Add a sequencestart and a sequencestop tag with a positive integer value to VMs that are targeted in External_Start_ResourceGroupNames and External_Stop_ResourceGroupNames variables. Les actions de démarrage et d’arrêt sont effectuées dans l’ordre croissant.The start and stop actions are performed in ascending order. Pour en savoir plus sur le balisage d’une machine virtuelle, consultez Baliser une machine virtuelle Windows dans Azure et Baliser une machine virtuelle Linux dans Azure.To learn how to tag a VM, see Tag a Windows Virtual Machine in Azure and Tag a Linux Virtual Machine in Azure.
  2. Modifiez les planifications Sequenced-StartVM et StopVM-Sequenced avec la date et l’heure répondant à vos besoins et activez la planification.Modify the schedules Sequenced-StartVM and Sequenced-StopVM to the date and time that meet your requirements and enable the schedule.
  3. Exécutez le runbook SequencedStartStop_Parent avec le paramètre ACTION défini sur Start et le paramètre WHATIF défini sur True pour afficher un aperçu des modifications.Run the SequencedStartStop_Parent runbook with the ACTION parameter set to start and the WHATIF parameter set to True to preview your changes.
  4. Affichez un aperçu de l’action et apportez les modifications nécessaires avant l’implémentation des machines virtuelles de production.Preview the action and make any necessary changes before implementing against production VMs. Une fois prêt, vous pouvez exécuter manuellement le runbook avec le paramètre défini sur False ou laisser les planifications de Automation Sequenced-StartVM et Sequenced-StopVM s’exécuter automatiquement d’après votre planification établie.When ready, manually execute the runbook with the parameter set to False, or let the Automation schedule Sequenced-StartVM and Sequenced-StopVM run automatically following your prescribed schedule.

Configurer le démarrage et l’arrêt pour une liste de machines virtuellesTarget the start and stop action by VM list

  1. Ajoutez des balises sequencestart et sequencestop contenant une valeur entière positive aux machines virtuelles que vous prévoyez d’ajouter au paramètre VMList.Add a sequencestart and a sequencestop tag with a positive integer value to VMs you plan to add to the VMList parameter.
  2. Exécutez le runbook SequencedStartStop_Parent avec le paramètre ACTION défini sur Start, ajoutez une liste de machines virtuelles séparées par des virgules dans le paramètre VMList et définissez le paramètre WHATIF sur True.Run the SequencedStartStop_Parent runbook with the ACTION parameter set to start, add a comma-separated list of VMs in the VMList parameter, and then set the WHATIF parameter to True. Affichez un aperçu de vos modifications.Preview your changes.
  3. Configurez le paramètre External_ExcludeVMNames avec une liste de noms de machines virtuelles séparés par une virgule (VM1, VM2, VM3).Configure the External_ExcludeVMNames parameter with a comma-separated list of VMs (VM1, VM2, VM3).
  4. Ce scénario ne tient pas compte des variables External_Start_ResourceGroupNames et External_Stop_ResourceGroupnames.This scenario does not honor the External_Start_ResourceGroupNames and External_Stop_ResourceGroupnames variables. Pour ce scénario, vous devez créer votre propre planification Automation.For this scenario, you need to create your own Automation schedule. Pour plus d’informations, consultez Planification d'un Runbook dans Azure Automation.For details, see Scheduling a runbook in Azure Automation.
  5. Affichez un aperçu de l’action et apportez les modifications nécessaires avant l’implémentation des machines virtuelles de production.Preview the action and make any necessary changes before implementing against production VMs. Une fois prêt, vous pouvez exécuter manuellement le Runbook Monitoring-and-diagnostics/Monitoring-action-groups, avec le paramètre défini sur False, ou laisser les planifications Automation Sequenced-StartVM et Sequenced-StopVM s’exécuter automatiquement, selon la planification établie.When ready, manually execute the monitoring-and-diagnostics/monitoring-action-groupsrunbook with the parameter set to False, or let the Automation schedule Sequenced-StartVM and Sequenced-StopVM run automatically following your prescribed schedule.

Scénario 3 : Démarrer/arrêter automatiquement les machines virtuelles en fonction de l’utilisation de l’UCScenario 3: Start/Stop automatically based on CPU utilization

Cette solution peut aider à gérer le coût d’exécution des machines virtuelles de votre abonnement en évaluant les machines virtuelles Azure non utilisées pendant les heures creuses, par exemple après les heures de travail, et en les arrêtant automatiquement si l’utilisation de l’UC est inférieure à X %.This solution can help manage the cost of running virtual machines in your subscription by evaluating Azure VMs that aren't used during non-peak periods, such as after hours, and automatically shutting them down if processor utilization is less than x%.

Par défaut, la solution est préconfigurée de manière à évaluer les mesures du pourcentage d’utilisation de l’UC pour vérifier si l’utilisation moyenne est de 5 % ou moins.By default, the solution is pre-configured to evaluate the percentage CPU metric to see if average utilization is 5 percent or less. Ce scénario est contrôlé par les variables suivantes et peut être modifié si leurs valeurs par défaut ne répondent pas à vos besoins :This scenario is controlled by the following variables and can be modified if the default values do not meet your requirements:

  • External_AutoStop_MetricNameExternal_AutoStop_MetricName
  • External_AutoStop_ThresholdExternal_AutoStop_Threshold
  • External_AutoStop_TimeAggregationOperatorExternal_AutoStop_TimeAggregationOperator
  • External_AutoStop_TimeWindowExternal_AutoStop_TimeWindow

Vous pouvez activer cette solution pour prendre un charge un abonnement et un groupe de ressources, ou bien une liste spécifique de machines virtuelles, mais pas les deux.You can enable either targeting the action against a subscription and resource group, or targeting a specific list of VMs, but not both.

Configurer l’arrêt pour un abonnement et un groupe de ressourcesTarget the stop action against a subscription and resource group

  1. Configurez les variables External_Stop_ResourceGroupNames et External_ExcludeVMNames pour spécifier les machines virtuelles cibles.Configure the External_Stop_ResourceGroupNames and External_ExcludeVMNames variables to specify the target VMs.
  2. Activez et mettez à jour la planification Schedule_AutoStop_CreateAlert_Parent.Enable and update the Schedule_AutoStop_CreateAlert_Parent schedule.
  3. Exécutez le runbook AutoStop_CreateAlert_Parent avec le paramètre ACTION défini sur Start et le paramètre WHATIF défini sur True pour afficher un aperçu des modifications.Run the AutoStop_CreateAlert_Parent runbook with the ACTION parameter set to start and the WHATIF parameter set to True to preview your changes.

Configurer le démarrage et l’arrêt pour une liste de machines virtuellesTarget the start and stop action by VM list

  1. Exécutez le runbook AutoStop_CreateAlert_Parent avec le paramètre ACTION défini sur Start, ajoutez une liste de machines virtuelles séparées par des virgules dans le paramètre VMList et définissez le paramètre WHATIF sur True.Run the AutoStop_CreateAlert_Parent runbook with the ACTION parameter set to start, add a comma-separated list of VMs in the VMList parameter, and then set the WHATIF parameter to True. Affichez un aperçu de vos modifications.Preview your changes.
  2. Configurez le paramètre External_ExcludeVMNames avec une liste de noms de machines virtuelles séparés par une virgule (VM1, VM2, VM3).Configure the External_ExcludeVMNames parameter with a comma-separated list of VMs (VM1, VM2, VM3).
  3. Ce scénario ne tient pas compte des variables External_Start_ResourceGroupNames et External_Stop_ResourceGroupnames.This scenario does not honor the External_Start_ResourceGroupNames and External_Stop_ResourceGroupnames variables. Pour ce scénario, vous devez créer votre propre planification Automation.For this scenario, you need to create your own Automation schedule. Pour plus d’informations, consultez Planification d'un Runbook dans Azure Automation.For details, see Scheduling a runbook in Azure Automation.

Maintenant que vous avez une planification pour l’arrêt des machines virtuelles en fonction de l’utilisation de l’UC, vous devez activer l’une des planifications suivantes pour les démarrer.Now that you have a schedule for stopping VMs based on CPU utilization, you need to enable one of the following schedules to start them.

  • Configurez le démarrage pour un abonnement et un groupe de ressources.Target start action by subscription and resource group. Consultez les étapes du Scénario 1 pour tester et activer les planifications Scheduled-StartVM.See the steps in Scenario 1 for testing and enabling Scheduled-StartVM schedules.
  • Configurez le démarrage pour un abonnement, un groupe de ressources et des balises.Target start action by subscription, resource group, and tag. Consultez les étapes du Scénario 2 pour tester et activer les planifications Sequenced-StartVM.See the steps in Scenario 2 for testing and enabling Sequenced-StartVM schedules.

Composants de la solutionSolution components

Cette solution inclut des runbooks et des planifications préconfigurés et une intégration avec les journaux Azure Monitor qui vous permet de personnaliser le démarrage et l’arrêt de vos machines virtuelles selon les besoins de votre entreprise.This solution includes preconfigured runbooks, schedules, and integration with Azure Monitor logs so you can tailor the startup and shutdown of your virtual machines to suit your business needs.

RunbooksRunbooks

Le tableau suivant répertorie les runbooks déployés sur votre compte Automation par cette solution.The following table lists the runbooks deployed to your Automation account by this solution. Ne modifiez pas le code de runbook.Do not make changes to the runbook code. À la place, écrivez votre propre runbook pour une nouvelle fonctionnalité.Instead, write your own runbook for new functionality.

Important

N’exécutez pas directement de runbook dont le nom contient le suffixe « child » (enfant).Do not directly run any runbook with "child" appended to its name.

Tous les runbooks parents incluent le paramètre WhatIf.All parent runbooks include the WhatIf parameter. Une fois configuré sur True, WhatIf prend en charge la description du comportement exact du runbook lors de l’exécution sans le paramètre WhatIf et valide les machines virtuelles correctes ciblées.When set to True, WhatIf supports detailing the exact behavior the runbook takes when run without the WhatIf parameter and validates the correct VMs are being targeted. Un runbook effectue uniquement ses actions définies quand le paramètre WhatIf est défini sur False.A runbook only performs its defined actions when the WhatIf parameter is set to False.

RunbookRunbook parametersParameters DescriptionDescription
AutoStop_CreateAlert_ChildAutoStop_CreateAlert_Child VMObjectVMObject
AlertActionAlertAction
WebHookURIWebHookURI
Appelé par le runbook parent.Called from the parent runbook. Ce runbook crée des alertes en fonction des ressources pour le scénario d’AutoStop.This runbook creates alerts on a per-resource basis for the AutoStop scenario.
AutoStop_CreateAlert_ParentAutoStop_CreateAlert_Parent VMListVMList
WhatIf : True ou FalseWhatIf: True or False
Crée ou met à jour des règles d’alerte Azure sur des machines virtuelles dans l’abonnement ou les groupes de ressource ciblées.Creates or updates Azure alert rules on VMs in the targeted subscription or resource groups.
VMList : liste des machines virtuelles séparée par des virgules.VMList: Comma-separated list of VMs. Par exemple, vm1, vm2, vm3.For example, vm1, vm2, vm3.
WhatIf valide la logique du runbook sans l’exécuter.WhatIf validates the runbook logic without executing.
AutoStop_DisableAutoStop_Disable Aucunnone Désactive les alertes et la planification par défaut d’AutoStop.Disables AutoStop alerts and default schedule.
AutoStop_StopVM_ChildAutoStop_StopVM_Child WebHookDataWebHookData Appelé par le runbook parent.Called from the parent runbook. Les règles d’alerte appellent ce runbook pour arrêter la machine virtuelle.Alert rules call this runbook to stop the VM.
Bootstrap_MainBootstrap_Main Aucunnone Utilisé une seule fois pour établir les configurations Bootstrap, telles que webhookURI, qui ne sont généralement pas accessibles à partir d’Azure Resource Manager.Used one time to set up bootstrap configurations such as webhookURI, which are typically not accessible from Azure Resource Manager. Ce runbook est automatiquement supprimé après un déploiement réussi.This runbook is removed automatically upon successful deployment.
ScheduledStartStop_ChildScheduledStartStop_Child VMNameVMName
Action : Start ou StopAction: Start or Stop
ResourceGroupNameResourceGroupName
Appelé par le runbook parent.Called from the parent runbook. Exécute une action de démarrage ou d’arrêt pour l’arrêt planifié.Executes a start or stop action for the scheduled stop.
ScheduledStartStop_ParentScheduledStartStop_Parent Action : Start ou StopAction: Start or Stop
VMListVMList
WhatIf : True ou FalseWhatIf: True or False
Ce paramètre s’applique à toutes les machines virtuelles de l’abonnement.This setting affects all VMs in the subscription. Modifiez les variables External_Start_ResourceGroupNames et External_Stop_ResourceGroupNames pour exécuter le runbook uniquement sur les groupes de ressources ciblés.Edit the External_Start_ResourceGroupNames and External_Stop_ResourceGroupNames to only execute on these targeted resource groups. Vous pouvez également exclure des machines virtuelles spécifiques en mettant à jour la variable External_ExcludeVMNames.You can also exclude specific VMs by updating the External_ExcludeVMNames variable.
VMList : liste des machines virtuelles séparée par des virgules.VMList: Comma-separated list of VMs. Par exemple, vm1, vm2, vm3.For example, vm1, vm2, vm3.
WhatIf valide la logique du runbook sans l’exécuter.WhatIf validates the runbook logic without executing.
SequencedStartStop_ParentSequencedStartStop_Parent Action : Start ou StopAction: Start or Stop
WhatIf : True ou FalseWhatIf: True or False
VMListVMList
Créez des balises nommées sequencestart et sequencestop sur chaque machine virtuelle pour laquelle vous souhaitez séquencer l’activité de démarrage et d’arrêt.Create tags named sequencestart and sequencestop on each VM for which you want to sequence start/stop activity. Ces noms de balises respectent la casse.These tag names are case-sensitive. La valeur de la balise doit être un entier positif (1, 2, 3) correspondant à l’ordre du démarrage ou d’arrêt.The value of the tag should be a positive integer (1, 2, 3) that corresponds to the order in which you want to start or stop.
VMList : liste des machines virtuelles séparée par des virgules.VMList: Comma-separated list of VMs. Par exemple, vm1, vm2, vm3.For example, vm1, vm2, vm3.
WhatIf valide la logique du runbook sans l’exécuter.WhatIf validates the runbook logic without executing.
Remarque: les machines virtuelles doivent se trouver dans des groupes de ressources définis External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames et External_ExcludeVMNames dans des variables d’Azure Automation.Note: VMs must be within resource groups defined as External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames, and External_ExcludeVMNames in Azure Automation variables. Elles doivent disposer des étiquettes appropriées pour que les actions puissent prendre effet.They must have the appropriate tags for actions to take effect.

variablesVariables

Le tableau suivant répertorie les variables créées dans votre compte Automation.The following table lists the variables created in your Automation account. Modifiez uniquement les variables ayant le préfixe External.Only modify variables prefixed with External. La modification de variables avec le préfixe Internal risque d’avoir un impact indésirable.Modifying variables prefixed with Internal causes undesirable effects.

VariableVariable DescriptionDescription
External_AutoStop_ConditionExternal_AutoStop_Condition Opérateur conditionnel requis pour configurer la condition avant le déclenchement d’une alerte.The conditional operator required for configuring the condition before triggering an alert. Les valeurs acceptables sont GreaterThan (supérieur à), GreaterThanOrEqual (supérieur ou égal à), LessThan (Inférieur à) et LessThanOrEqual (Inférieur ou égal à).Acceptable values are GreaterThan, GreaterThanOrEqual, LessThan, and LessThanOrEqual.
External_AutoStop_DescriptionExternal_AutoStop_Description Alerte pour arrêter la machine virtuelle si le pourcentage d’utilisation de l’UC dépasse le seuil.The alert to stop the VM if the CPU percentage exceeds the threshold.
External_AutoStop_MetricNameExternal_AutoStop_MetricName Nom de la métrique de performances pour laquelle la règle d’alerte Azure doit être configurée.The name of the performance metric for which the Azure Alert rule is to be configured.
External_AutoStop_ThresholdExternal_AutoStop_Threshold Seuil de la règle d’alerte Azure spécifiée dans la variable External_AutoStop_MetricName.The threshold for the Azure Alert rule specified in the variable External_AutoStop_MetricName. Les valeurs de pourcentage vont de 1 à 100.Percentage values can range from 1 to 100.
External_AutoStop_TimeAggregationOperatorExternal_AutoStop_TimeAggregationOperator Opérateur d’agrégation de temps appliqué à la taille de la fenêtre sélectionnée pour évaluer la condition.The time aggregation operator, which is applied to the selected window size to evaluate the condition. Les valeurs admises sont Average (moyen), Minimum, Maximum, Total et Last (dernier).Acceptable values are Average, Minimum, Maximum, Total, and Last.
External_AutoStop_TimeWindowExternal_AutoStop_TimeWindow Taille de la fenêtre durant laquelle Azure analyse la métrique sélectionnée pour déclencher une alerte.The window size during which Azure analyzes selected metrics for triggering an alert. Ce paramètre accepte une entrée au format d’un intervalle de temps.This parameter accepts input in timespan format. Les valeurs possibles sont comprises entre 5 minutes et 6 heures.Possible values are from 5 minutes to 6 hours.
External_EnableClassicVMsExternal_EnableClassicVMs Spécifie si les machines virtuelles classiques sont ciblées par la solution.Specifies whether Classic VMs are targeted by the solution. La valeur par défaut est True.The default value is True. Il doit être défini sur False pour les abonnements CSP.This should be set to False for CSP subscriptions. Un compte d’identification Classic est nécessaire pour les machines virtuelles Classic.Classic VMs require a Classic Run-As Account.
External_ExcludeVMNamesExternal_ExcludeVMNames Saisissez les noms des machines virtuelles à exclure, en séparant les noms par une virgule et sans espace.Enter VM names to be excluded, separating names by using a comma with no spaces. Le nombre de machines virtuelles est limité à 140.This is limited to 140 VMs. Si vous ajoutez plus de 140 machines virtuelles à cette liste séparée par des virgules, les machines virtuelles définies comme exclues peuvent être démarrées ou arrêtées par inadvertance.If you add more than 140 VMs to this comma-separated list, VMs that are set to be excluded may be inadvertently started or stopped.
External_Start_ResourceGroupNamesExternal_Start_ResourceGroupNames Spécifie un ou plusieurs groupes de ressources (avec les valeurs séparées par une virgule) ciblés pour les actions de démarrage.Specifies one or more resource groups, separating values by using a comma, targeted for start actions.
External_Stop_ResourceGroupNamesExternal_Stop_ResourceGroupNames Spécifie un ou plusieurs groupes de ressources (avec les valeurs séparées par une virgule) ciblés pour les actions d’arrêt.Specifies one or more resource groups, separating values by using a comma, targeted for stop actions.
Internal_AutomationAccountNameInternal_AutomationAccountName Spécifie le nom du compte Automation.Specifies the name of the Automation account.
Internal_AutoSnooze_WebhookUriInternal_AutoSnooze_WebhookUri Spécifie l’URI du Webhook appelée pour le scénario AutoStop.Specifies Webhook URI called for the AutoStop scenario.
Internal_AzureSubscriptionIdInternal_AzureSubscriptionId Spécifie l’ID d’abonnement Azure.Specifies the Azure Subscription ID.
Internal_ResourceGroupNameInternal_ResourceGroupName Spécifie le nom du groupe de ressources du compte Automation.Specifies the Automation account resource group name.

Pour tous les scénarios, les variables External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames et External_ExcludeVMNames sont nécessaires pour le ciblage de machines virtuelles, à l’exception de la fourniture d’une liste de machines virtuelles séparées par des virgules pour les runbooks AutoStop_CreateAlert_Parent, SequencedStartStop_Parent et ScheduledStartStop_Parent.Across all scenarios, the External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames, and External_ExcludeVMNames variables are necessary for targeting VMs, with the exception of providing a comma-separated list of VMs for the AutoStop_CreateAlert_Parent, SequencedStartStop_Parent, and ScheduledStartStop_Parent runbooks. Autrement dit, vos machines virtuelles doivent résider dans des groupes de ressources cibles pour que les actions de démarrage et d’arrêt se produisent.That is, your VMs must reside in target resource groups for start and stop actions to occur. La logique fonctionne de manière similaire à la stratégie d’Azure, dans la mesure où vous pouvez cibler l’abonnement ou un groupe de ressources et faire en sorte que les machines virtuelles nouvellement créées héritent des actions.The logic works similar to Azure policy, in that you can target the subscription or resource group and have actions inherited by newly created VMs. Cette approche évite de devoir mettre à jour une planification distincte pour chaque machine virtuelle et de gérer le démarrage et l’arrêt à l’échelle.This approach avoids having to maintain a separate schedule for every VM and manage starts and stops in scale.

PlanificationsSchedules

Le tableau suivant répertorie chacune des planifications par défaut créées dans votre compte Automation.The following table lists each of the default schedules created in your Automation account. Vous pouvez les modifier ou créer vos propres planifications personnalisées. You can modify them or create your own custom schedules. Par défaut, toutes les planifications sont désactivées à l’exception de Scheduled_StartVM et Scheduled_StopVM. By default, all of the schedules are disabled except for Scheduled_StartVM and Scheduled_StopVM.

Vous ne devez pas activer toutes les planifications, car vous risqueriez de créer des actions de planification qui se chevauchent.You should not enable all schedules, because this might create overlapping schedule actions. Il est préférable de déterminer les optimisations que vous souhaitez réaliser et d’effectuer les modifications en conséquence.It's best to determine which optimizations you want to perform and modify accordingly. Consultez les exemples de scénarios dans la section Vue d’ensemble pour obtenir davantage d’explications.See the example scenarios in the overview section for further explanation.

Nom de la planificationSchedule name FréquenceFrequency DescriptionDescription
Schedule_AutoStop_CreateAlert_ParentSchedule_AutoStop_CreateAlert_Parent Toutes les 8 heuresEvery 8 hours Exécute le runbook AutoStop_CreateAlert_Parent toutes les 8 heures, qui arrête les valeurs basées sur les machines virtuelles dans External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames et External_ExcludeVMNames dans les variables d’Azure Automation.Runs the AutoStop_CreateAlert_Parent runbook every 8 hours, which in turn stops the VM-based values in External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames, and External_ExcludeVMNames in Azure Automation variables. Vous pouvez également spécifier une liste de machines virtuelles séparées par des virgules en utilisant le paramètre VMList.Alternatively, you can specify a comma-separated list of VMs by using the VMList parameter.
Scheduled_StopVMScheduled_StopVM Définie par l’utilisateur, tous les joursUser defined, daily Exécute le runbook Scheduled_Parent avec un paramètre Stop tous les jours à l’heure spécifiée.Runs the Scheduled_Parent runbook with a parameter of Stop every day at the specified time. Arrête automatiquement toutes les machines virtuelles répondant aux règles définies par les variables de ressource. Automatically stops all VMs that meet the rules defined by asset variables. Activez la planification associée, Scheduled-StartVM. Enable the related schedule, Scheduled-StartVM.
Scheduled_StartVMScheduled_StartVM Définie par l’utilisateur, tous les joursUser defined, daily Exécute le runbook Scheduled_Parent avec un paramètre Start tous les jours à l’heure spécifiée.Runs the Scheduled_Parent runbook with a parameter of Start every day at the specified time. Démarre automatiquement toutes les machines virtuelles répondant aux règles définies par les variables appropriées.Automatically starts all VMs that meet the rules defined by the appropriate variables. Activez la planification associée, Scheduled-StopVM. Enable the related schedule, Scheduled-StopVM.
Sequenced-StopVMSequenced-StopVM 01:00 (UTC), tous les vendredis1:00 AM (UTC), every Friday Exécute le runbook Sequenced_Parent avec un paramètre Stop tous les vendredis à l’heure spécifiée.Runs the Sequenced_Parent runbook with a parameter of Stop every Friday at the specified time. Arrête séquentiellement (dans l’ordre croissant) toutes les machines virtuelles avec la balise SequenceStop définie par les variables appropriées. Sequentially (ascending) stops all VMs with a tag of SequenceStop defined by the appropriate variables. Pour plus d’informations sur les valeurs de balises et les variables de ressources, consultez la section Runbooks.For more information on tag values and asset variables, see the Runbooks section. Activez la planification associée, Sequenced-StartVM. Enable the related schedule, Sequenced-StartVM.
Sequenced-StartVMSequenced-StartVM 13:00 (UTC), tous les lundis1:00 PM (UTC), every Monday Exécute le runbook Sequenced_Parent avec un paramètre Start tous les lundis à un instant donné.Runs the Sequenced_Parent runbook with a parameter of Start every Monday at the specified time. Démarre séquentiellement (dans l’ordre décroissant) toutes les machines virtuelles avec la balise SequenceStart définie par les variables appropriées.Sequentially (descending) starts all VMs with a tag of SequenceStart defined by the appropriate variables. Pour plus d’informations sur les valeurs de balises et les variables de ressources, consultez la section Runbooks.For more information on tag values and asset variables, see the Runbooks section. Activez la planification associée, Sequenced-StopVM.Enable the related schedule, Sequenced-StopVM.

Enregistrements de journaux Azure MonitorAzure Monitor logs records

Automation crée deux types d’enregistrements dans l’espace de travail Log Analytics : les journaux d’activité de tâches et les flux de tâches.Automation creates two types of records in the Log Analytics workspace: job logs and job streams.

Journaux d’activité de tâchesJob logs

PropriétéProperty DescriptionDescription
AppelantCaller Ce qui a initié l’opération.Who initiated the operation. Les valeurs possibles sont une adresse de messagerie ou un système pour les travaux planifiés.Possible values are either an email address or system for scheduled jobs.
CategoryCategory Classification du type de données.Classification of the type of data. Pour Automation, la valeur est JobLogs.For Automation, the value is JobLogs.
CorrelationIdCorrelationId GUID représentant l’ID de corrélation du travail du runbook.GUID that is the Correlation ID of the runbook job.
JobIdJobId GUID représentant l’ID du travail du runbook.GUID that is the ID of the runbook job.
operationNameoperationName Spécifie le type d’opération exécutée dans Azure.Specifies the type of operation performed in Azure. Pour Automation, la valeur est Job.For Automation, the value is Job.
resourceIdresourceId Spécifie le type de ressource dans Azure.Specifies the resource type in Azure. Pour Automation, la valeur est le compte Automation associé au runbook.For Automation, the value is the Automation account associated with the runbook.
ResourceGroupResourceGroup Spécifie le nom du groupe de ressources de la tâche du runbook.Specifies the resource group name of the runbook job.
ResourceProviderResourceProvider Spécifie le service qui fournit les ressources que vous pouvez déployer et gérer.Specifies the Azure service that supplies the resources you can deploy and manage. Pour Automation, la valeur est Azure Automation.For Automation, the value is Azure Automation.
ResourceTypeResourceType Spécifie le type de ressource dans Azure.Specifies the resource type in Azure. Pour Automation, la valeur est le compte Automation associé au runbook.For Automation, the value is the Automation account associated with the runbook.
resultTyperesultType L’état du travail du runbook.The status of the runbook job. Les valeurs possibles sont les suivantes :Possible values are:
Démarré- Started
Arrêté- Stopped
Interrompu- Suspended
Échec- Failed
- Succeeded- Succeeded
resultDescriptionresultDescription Décrit l’état résultant du travail du runbook.Describes the runbook job result state. Les valeurs possibles sont les suivantes :Possible values are:
- Job is started- Job is started
- Job Failed- Job Failed
- Job Completed- Job Completed
RunbookNameRunbookName Spécifie le nom du runbook.Specifies the name of the runbook.
SourceSystemSourceSystem Spécifie le système source pour les données soumises.Specifies the source system for the data submitted. Pour Automation, la valeur est OpsManager.For Automation, the value is OpsManager
StreamTypeStreamType Spécifie le type d’événement.Specifies the type of event. Les valeurs possibles sont les suivantes :Possible values are:
- Verbose- Verbose
Sortie- Output
Error- Error
Avertissement- Warning
SubscriptionIdSubscriptionId Spécifie l’ID d’abonnement de la tâche.Specifies the subscription ID of the job.
TempsTime Date et heure d’exécution du travail du runbook.Date and time when the runbook job executed.

Flux de tâchesJob streams

PropriétéProperty DescriptionDescription
AppelantCaller Ce qui a initié l’opération.Who initiated the operation. Les valeurs possibles sont une adresse de messagerie ou un système pour les travaux planifiés.Possible values are either an email address or system for scheduled jobs.
CategoryCategory Classification du type de données.Classification of the type of data. Pour Automation, la valeur est JobStreams.For Automation, the value is JobStreams.
JobIdJobId GUID représentant l’ID du travail du runbook.GUID that is the ID of the runbook job.
operationNameoperationName Spécifie le type d’opération exécutée dans Azure.Specifies the type of operation performed in Azure. Pour Automation, la valeur est Job.For Automation, the value is Job.
ResourceGroupResourceGroup Spécifie le nom du groupe de ressources de la tâche du runbook.Specifies the resource group name of the runbook job.
resourceIdresourceId Spécifie l’ID de ressource dans Azure.Specifies the resource ID in Azure. Pour Automation, la valeur est le compte Automation associé au runbook.For Automation, the value is the Automation account associated with the runbook.
ResourceProviderResourceProvider Spécifie le service qui fournit les ressources que vous pouvez déployer et gérer.Specifies the Azure service that supplies the resources you can deploy and manage. Pour Automation, la valeur est Azure Automation.For Automation, the value is Azure Automation.
ResourceTypeResourceType Spécifie le type de ressource dans Azure.Specifies the resource type in Azure. Pour Automation, la valeur est le compte Automation associé au runbook.For Automation, the value is the Automation account associated with the runbook.
resultTyperesultType Résultat de la tâche du runbook au moment où l’événement a été généré.The result of the runbook job at the time the event was generated. Une valeur possible est :A possible value is:
- InProgress- InProgress
resultDescriptionresultDescription Inclut le flux de sortie du runbook.Includes the output stream from the runbook.
RunbookNameRunbookName Nom du runbook.The name of the runbook.
SourceSystemSourceSystem Spécifie le système source pour les données soumises.Specifies the source system for the data submitted. Pour Automation, la valeur est OpsManager.For Automation, the value is OpsManager.
StreamTypeStreamType Type de flux de travail.The type of job stream. Les valeurs possibles sont les suivantes :Possible values are:
- Progress- Progress
Sortie- Output
Avertissement- Warning
error- Error
DEBUG- Debug
- Verbose- Verbose
TempsTime Date et heure d’exécution du travail du runbook.Date and time when the runbook job executed.

Quand vous effectuez une recherche de journal qui retourne des enregistrements de catégorie de JobLogs ou JobStreams, vous pouvez sélectionner la vue JobLogs ou JobStreams pour afficher un ensemble de vignettes résumant les informations retournées par la recherche.When you perform any log search that returns category records of JobLogs or JobStreams, you can select the JobLogs or JobStreams view, which displays a set of tiles summarizing the updates returned by the search.

Exemples de recherches dans les journauxSample log searches

Le tableau suivant fournit des exemples de recherches de journaux pour les enregistrements de tâches collectés par cette solution.The following table provides sample log searches for job records collected by this solution.

RequêteQuery DescriptionDescription
Rechercher les tâches du runbook ScheduledStartStop_Parent terminées avec succèsFind jobs for runbook ScheduledStartStop_Parent that have finished successfully search Category == "JobLogs"
| where ( RunbookName_s == "ScheduledStartStop_Parent" )
| where ( ResultType == "Completed" )
| summarize AggregatedValue = count() by ResultType, bin(TimeGenerated, 1h)
| sort by TimeGenerated desc
Rechercher les tâches du runbook SequencedStartStop_Parent terminées avec succèsFind jobs for runbook SequencedStartStop_Parent that have finished successfully search Category == "JobLogs"
| where ( RunbookName_s == "SequencedStartStop_Parent" )
| where ( ResultType == "Completed" )
| summarize AggregatedValue = count() by ResultType, bin(TimeGenerated, 1h)
| sort by TimeGenerated desc

Affichage de la solutionViewing the solution

Pour accéder à la solution, rendez-vous dans votre compte Automation et sous RESSOURCES CONNEXES, sélectionnez Espace de travail.To access the solution, navigate to your Automation Account, select Workspace under RELATED RESOURCES. Sur la page Log Analytics, sélectionnez Solutions dans la section GÉNÉRAL.On the log analytics page, select Solutions under GENERAL. Sur la page Solutions, sélectionnez la solution Start-Stop-VM[espace de travail] dans la liste.On the Solutions page, select the solution Start-Stop-VM[workspace] from the list.

La sélection de la solution affiche la page Solution de Start-Stop-VM[espace de travail] .Selecting the solution displays the Start-Stop-VM[workspace] solution page. Vous pouvez y consulter des informations importantes, telles que la vignette StartStopVM.Here you can review important details such as the StartStopVM tile. Tout comme dans votre espace de travail Log Analytics, cette vignette affiche un compteur et une représentation graphique des tâches de runbooks démarrées et terminées avec succès.As in your Log Analytics workspace, this tile displays a count and a graphical representation of the runbook jobs for the solution that have started and have finished successfully.

Page de solution de gestion des mises à jour de Automation

À ce stade, vous pouvez analyser plus en détail les enregistrements de tâche en cliquant sur la vignette en forme d’anneau.From here, you can perform further analysis of the job records by clicking the donut tile. Le tableau de bord des solutions affiche l’historique des travaux et les requêtes de recherche dans les journaux prédéfinies.The solution dashboard shows job history and pre-defined log search queries. Passez au portail avancé Log Analytics pour effectuer des recherches en fonction de vos requêtes de recherche.Switch to the log analytics advanced portal to search based on your search queries.

Configurer les notifications par e-mailConfigure email notifications

Pour modifier les notifications par e-mail une fois la solution déployée, modifiez le groupe d’actions qui a été créé au cours du déploiement.To change email notifications after the solution is deployed, modify action group that was created during deployment.

Notes

Les abonnements dans le cloud Azure Government ne prennent pas en charge la fonctionnalité e-mail de cette solution.Subscriptions in the Azure Government Cloud do not support the email functionality of this solution.

Dans le portail Azure, accédez à Surveiller -> Groupes d’actions.In the Azure portal, navigate to Monitor -> Action groups. Sélectionnez le groupe d’actions intitulé StartStop_VM_Notication.Select the action group titled StartStop_VM_Notication.

Page de solution de gestion des mises à jour de Automation

Dans la page StartStop_VM_Notification, cliquez sur Modifier les détails sous Détails.On the StartStop_VM_Notification page, click Edit details under Details. La page E-mail/SMS/Push/Voix s’ouvre.This opens the Email/SMS/Push/Voice page. Mettez à jour l’adresse e-mail, puis cliquez sur OK pour enregistrer vos modifications.Update the email address and click OK to save your changes.

Page de solution de gestion des mises à jour de Automation

Vous pouvez également ajouter des actions supplémentaires au groupe d’actions. Pour plus d’informations sur les groupes d’actions, consultez Groupes d’actions.Alternatively you can add additional actions to the action group, to learn more about action groups, see action groups

Voici un exemple d’e-mail envoyé lorsque la solution arrête les machines virtuelles.The following is an example email that is sent when the solution shuts down virtual machines.

Page de solution de gestion des mises à jour de Automation

Ajouter/exclure des machines virtuellesAdd/Exclude VMs

La solution offre la possibilité d’ajouter des machines virtuelles que la solution doit cible, ou d’exclure spécifiquement des machines de la solution.The solution provides the ability to add VMs to be targeted by the solution or specifically exclude machines from the solution.

Ajouter une machine virtuelleAdd a VM

Il existe quelques options que vous pouvez utiliser pour vous assurer qu’une machine virtuelle est incluse dans la solution Start/Stop lorsqu’elle s’exécute.There are a couple options that you can use to make sure that a VM is included in the Start/Stop solution when it runs.

  • Chaque runbook parent de la solution a un paramètre VMList.Each of the parent runbooks of the solution has a VMList parameter. Vous pouvez passer d’une liste séparée par des virgules des noms de machines virtuelles à ce paramètre lors de la planification du runbook parent approprié pour votre situation. Ces machines virtuelles seront alors incluses lors de l’exécution de la solution.You can pass a comma-separated list of VM names to this parameter when scheduling the appropriate parent runbook for your situation and these VMs will be included when the solution runs.

  • Pour sélectionner plusieurs machines virtuelles, définissez les variables External_Start_ResourceGroupNames et External_Stop_ResourceGroupNames en utilisant les noms de groupe de ressources contenant les machines virtuelles que vous souhaitez démarrer ou arrêter.To select multiple VMs, set the External_Start_ResourceGroupNames and External_Stop_ResourceGroupNames with the resource group names that contain the VMs you want to start or stop. Vous pouvez également définir cette valeur sur * pour que la solution s’exécute sur tous les groupes de ressources dans l’abonnement.You can also set this value to *, to have the solution run against all resource groups in the subscription.

Exclure une machine virtuelleExclude a VM

Pour exclure une machine virtuelle de la solution, vous pouvez l’ajouter à la variable External_ExcludeVMNames.To exclude a VM from the solution, you can add it to the External_ExcludeVMNames variable. Cette variable est une liste séparée par des virgules de machines virtuelles spécifiques à exclure de la solution Start/Stop.This variable is a comma-separated list of specific VMs to exclude from the Start/Stop solution. Le nombre de machines virtuelles est limité à 140.This list is limited to 140 VMs. Si vous ajoutez plus de 140 machines virtuelles à cette liste séparée par des virgules, les machines virtuelles définies comme exclues peuvent être démarrées ou arrêtées par inadvertance.If you add more than 140 VMs to this comma-separated list, VMs that are set to be excluded may be inadvertently started or stopped.

Modifier les planifications de démarrage et d’arrêtModify the startup and shutdown schedules

La gestion de la planification du démarrage et de l’arrêt dans cette solution suit la procédure indiquée dans Planification d’un Runbook dans Azure Automation.Managing the startup and shutdown schedules in this solution follows the same steps as outlined in Scheduling a runbook in Azure Automation. Il doit être une planification distincte pour le démarrage et l’arrêt des machines virtuelles.There needs to be a separate schedule to start and to stop VMs.

Il est possible de configurer la solution pour simplement arrêter les machines virtuelles à une certaine heure.Configuring the solution to just stop VMs at a certain time is supported. Dans ce scénario vous créez simplement une planification d’arrêt, sans planification de démarrage correspondante.In this scenario you just create a Stop schedule and no corresponding Start scheduled. Pour cela, vous devez procéder comme suit :To do this, you need to:

  1. Assurez-vous d’avoir ajouté les groupes de ressources des machines virtuelles à arrêter dans la variable External_Sop_ResourceGroupNames.Ensure you have added the resource groups for the VMs to shut down in the External_Stop_ResourceGroupNames variable.
  2. Créez votre propre planification pour l’heure à laquelle vous souhaitez arrêter les machines virtuelles.Create your own schedule for the time you want to shut down the VMs.
  3. Accédez au runbook ScheduledStartStop_Parent et cliquez sur Planification.Navigate to the ScheduledStartStop_Parent runbook and click Schedule. Cela vous permet de sélectionner la planification créée à l’étape précédente.This allows you to select the schedule you created in the preceding step.
  4. Sélectionnez Paramètres et valeurs pour l’exécution et définissez le paramètre ACTION sur « Stop ».Select Parameters and run settings and set the ACTION parameter to "Stop".
  5. Cliquez sur OK pour enregistrer vos modifications.Click OK to save your changes.

Mettre à jour la solutionUpdate the solution

Si vous avez déployé une version précédente de cette solution, vous devez tout d’abord la supprimer de votre compte avant de déployer une version mise à jour.If you have deployed a previous version of this solution, you must first delete it from your account before deploying an updated release. Suivez les étapes de suppression de la solution, puis effectuez les étapes ci-dessus pour déployer la solution.Follow the steps to remove the solution and then follow the steps above to deploy the solution.

Supprimer la solutionRemove the solution

Si vous estimez que vous n’avez plus besoin d’utiliser la solution, vous pouvez la supprimer à partir du compte Automation.If you decide you no longer need to use the solution, you can delete it from the Automation account. La suppression de la solution supprime uniquement les runbooks.Deleting the solution only removes the runbooks. Elle ne supprime pas les planifications ni les variables créées quand la solution a été ajoutée.It does not delete the schedules or variables that were created when the solution was added. Vous devez supprimer manuellement ces ressources si vous ne les utilisez pas avec d’autres runbooks.Those assets you need to delete manually if you are not using them with other runbooks.

Pour supprimer la solution, procédez comme suit :To delete the solution, perform the following steps:

  1. Dans votre compte Automation, sous Ressources associées, sélectionnez Espace de travail lié.From your Automation account, under Related resources, select Linked workspace.
  2. Sélectionnez Accéder à l’espace de travail.Select Go to workspace.
  3. Sous Général, sélectionnez Solutions.Under General, select Solutions.
  4. Sur la page Solutions, sélectionnez la solution Start-Stop-VM [Espace de travail] .On the Solutions page, select the solution Start-Stop-VM[Workspace]. Sur la page VMManagementSolution[Espace de travail] , sélectionnez l’option Supprimer dans le menu.On the VMManagementSolution[Workspace] page, from the menu, select Delete.

    Supprimer la solution de gestion de machine virtuelleDelete VM Mgmt Solution
  5. Dans la fenêtre Supprimer la solution, confirmez que vous souhaitez supprimer la solution.In the Delete Solution window, confirm that you want to delete the solution.
  6. Pendant que les informations sont vérifiées et la solution supprimée, vous pouvez suivre la progression sous Notifications dans le menu.While the information is verified and the solution is deleted, you can track its progress under Notifications from the menu. Vous serez redirigé vers la page Solutions après le démarrage du processus de suppression de la solution.You are returned to the Solutions page after the process to remove the solution starts.

Le compte Automation et l’espace de travail Log Analytics ne sont pas supprimés au cours de ce processus.The Automation account and Log Analytics workspace are not deleted as part of this process. Si vous ne souhaitez pas conserver l’espace de travail Log Analytics, vous devez le supprimer manuellement.If you do not want to retain the Log Analytics workspace, you need to manually delete it. Cette opération peut se faire à partir du portail Azure :This can be accomplished from the Azure portal:

  1. Dans l’écran d’accueil du portail Azure, sélectionnez Espaces de travail Log Analytics.From the Azure portal home screen, select Log Analytics workspaces.
  2. Sur la page Espaces de travail Log Analytics, sélectionnez l’espace de travail.On the Log Analytics workspaces page, select the workspace.
  3. Sur la page des paramètres de l’espace de travail, sélectionnez Supprimer dans le menu.Select Delete from the menu on the workspace settings page.

Si vous ne souhaitez pas conserver les composants du compte Azure Automation, vous pouvez les supprimer manuellement.If you do not want to retain the Azure Automation account components, you can manually delete each. Pour connaître la liste des runbooks, des variables et des planifications créés par la solution, voir Composants de la solution.For the list of runbooks, variables, and schedules created by the solution, see the Solution components.

Étapes suivantesNext steps