Économisez en éteignant automatiquement vos machines virtuelles (VM) tous les soirs

Les machines virtuelles sont utilisées dans énormément de solutions de nos jours. Elles servent aussi de machine temporaire pour executer des tests, faire des démos et parfois même comme machine de développement. Un des grands avantages de l'infonagique (cloud) est que vous payez seulement pour ce que vous utilisez. Donc contrairement au serveur du bureau, vous n’arrêtez de payer quand vous éteignez vos machines virtuelles! Dans ce post, je vous explique comment faire avec vos machines existantes et aussi quoi faire pour toutes celles que vous allez créer dans le futur.

Vous préférez visionner une vidéo à la lecture? Aucun problème, sauter immédiatement à la section Explication en vidéo svp de ce post.

Quand votre VM existe déjà

À partir un portail Azure, sélectionner la machine virtuelle que vous désirez modifier. Dans le panneau d'options, dans le section OPERATIONS cliquer sur Auto-Shutdown.

Auto-Shutdown

Pour activer l'option vous devez la mettre a enabled, sélectionner l'heure et le fuseau horaire. Une autre option très intéressante consiste a activer l'option pour recevoir une notification par courriel ou d'y accrocher un webhook.

emailsample

Créer une VM avec l'option "auto-shutdown"

Il est possible de configurer l'opération de mise en veille automatique directement à partir du gabarit (template) ARM. Il suffit d'y intégrer une nouvelle ressource de type Microsoft.DevTestLab/schedules. Cette dernière était précédemment réservée aux environnements de "Dev Test Lab", mais est depuis peu disponible pour toutes les machines virtuelles.

Voici un exemple de noeud (un par VM) qui doit être ajouté à votre template.

{
    "name": "[concat('autoshutdown-', parameters('virtualMachineName'))]",
    "type": "Microsoft.DevTestLab/schedules",
    "apiVersion": "2017-04-26-preview",
    "location": "[resourceGroup().location]",
    "properties": {
        "status": "Enabled",
        "taskType": "ComputeVmShutdownTask",
        "dailyRecurrence": {
            "time": "19:00"
        },
        "timeZoneId": "UTC",
        "targetResourceId": "[resourceId('Microsoft.Compute/virtualMachines', parameters('virtualMachineName'))]",
        "notificationSettings": {
            "status": "Enabled",
            "emailRecipient": "frank@frankysnotes.com",
            "notificationLocale": "en",
            "timeInMinutes": "30"
        }
    },
    "dependsOn": [
        "[concat('Microsoft.Compute/virtualMachines/', parameters('virtualMachineName'))]"
    ]
}

Quelque point qui mérite un peu plus d'attention, le statut doit être "Enabled" pour être actif. Bien valider votre fuseau horaire, et l'ajuster selon vos besoins. Vous devez ajouter une ressource Microsoft.DevTestLab/schedules par VM que vous voulez géré en spécifiant la resourceid de la VM dans targetResourceId. SI vous désirez une notification, il vous suffit de l'activer et de la configurer dans la section notificationSettings.

Explication en vidéo svp

Youtube video

Dans cette capsule de Cloud en 5 minutes, j'explique comment faire modifier une machine virtuelle (VM) existante pour qu'elle s'éteigne tous les soirs et aussi quoi faire pour toutes celles que vous aller créer dans le futur en améliorant votre ARM template.

Abonnez-vous: http://bit.ly/2jx3uKX