Новости Статьи VMware Veeam StarWind vStack Microsoft Nakivo Citrix Symantec События Релизы Видео Контакты Авторы RSS
Виртуализация и виртуальные машины

Все самое нужное о виртуализации и облаках

Более 6300 заметок о VMware, AWS, Azure, Veeam, Kubernetes и других

VM Guru / Articles / Azure Automation: как включить/выключить ВМ в облаке Microsoft Azure по расписанию.

Azure Automation: как включить/выключить ВМ в облаке Microsoft Azure по расписанию.

Azure Automation: как включить/выключить ВМ в облаке Microsoft Azure по расписанию.

Автор: Роман Гельман
Дата: 04/07/2016

Поддержите VM Guru!

USDT / TRC20, адрес: TCDP7d9hBM4dhU2mBt5oX2x5REPtq9QdU1




Статья:

Одним из методов эффективного владения облачной инфраструктурой является выключение виртуальных ресурсов (ВМ) в нерабочие часы. В облаке Microsoft Azure имеется возможность выключать (stop and deallocate) ВМ с помощью Automation Accounts.

При помощи моего PowerShell скрипта Apply-AzVmPowerStatePolicyWf.ps1 вы сможете создать свой собственный Runbook и спланировать включение/выключение ваших Azure ВМ. Всё, что для этого потребуется - это создать 2 тега (Тags) PowerOn и PowerOff и задать им соответствующие значения для каждой ВМ, которую вы планируете включать/выключать по расписанию.

Учтите, что только те ВМ, у которых заданы оба этих тега, будут участвовать в процессе. Если определённые машины вы не планируете выключать вообще (только включать), то задайте тегу PowerOff значение «23:59:59».

Скрипт Apply-AzVmPowerStatePolicyWf.ps1 написан как PowerShell Workflow для параллельной обработки сразу всех ВМ. Как ни странно, на данный момент команды Start-AzureRmVm и Stop-AzureRmVm не поддерживают асинхронную обработку множества ВМ, поэтому мы вынуждены перенести этот функционал в сам скрипт. После того, как вы задали теги для всех требуемых машин, вы можете приступить к работе с Automation Account Resources.

На самом деле вам потребуется создать всего 3 ресурса:

  1. Runbook.
  2. Schedule Asset с параметрами.
  3. Credential Asset.

Давайте начнём по порядку.

1. Добавить новый Runbook типа PowerShell Workflow. Правильный тип Runbook очень важен.

Обязательно! Имя Runbook должно быть точно таким же, как имя Workflow внутри скрипта (Apply-AzVmPowerStatePolicyWf). Если вас не устраивает это название, переименуйте Workflow в соответствии с названием вашего Runbook.

Разные типы Runbook имеют различные иконки для визуального отличия.

Отредактируйте ваш Runbook и вклейте (copy/paste) мой скрипт в поле CMDLET.

2. Создайте новый Credential Asset. Это учётная запись Azure Active Directory, в контексте которой и будет запускаться ваш Runbook.

3. Создайте новый Schedule Asset для вашего Runbook.

Schedule Asset содержит не только сам планировщик, но и более важную вещь - параметры скрипта! Как вы можете видеть, скрипт Apply-AzVmPowerStatePolicyWf.ps1 содержит 5 параметров.

Имена параметров говорят сами за себя. Стоит отдельно поговорить только о двух из них: -AzureVmTimeZone и –WhatIf.

  • AzureVmTimeZone - это часовой пояс (Time zone) ваших ВМ. Подразумевается, что время включения/выключения машин в тегах PowerOn/PowerOff задано в локальном времени данного часового пояса!
    Для получения всех существующих часовых поясов, запустите следующую команду на своём компьютере:
    [System.TimeZoneInfo]::GetSystemTimeZones() |Format-Table –AutoSize
    Используйте значение из колонки Id для своего часового пояса.
  • WhatIf - это флаговый параметр. При его использовании (достаточно присвоить ему значение True), реального включения/выключения не произойдёт, вы только получите отчёт о том, чтобы произошло, если бы вы запустили скрипт сейчас.
Каждый запуск Runbook создаёт задачу (Job), после окончания которой, вы сможете просмотреть её статистику: Errors, Warnings, Logs и Output.

Кликните на кубике Output, и вы увидите отчёт обо всех ваших машинах. Обратите внимание на свойство StatusCode. Оно может принимать значения «OK», «Error» или быть пустым, когда свойство StatusChange будет «NotRequired».

Если вы получаете «Error» в свойстве StatusCode, проверьте значения PowerOn и PowerOff, возможно одно из них не задано или содержит некорректную величину.

Параллельно с написанием этой статьи, я создал Azure репозиторий на GitHub, который будет регулярно пополняться новыми скриптами и функциями.

Мой Azure PowerShell модуль Az-Module.psm1 уже содержит одну функцию для работы с тегами - Get-AzVmTag. В ближайшее время он пополнится функцией для автоматизации работы с тегами, в данный момент она тестируется. По этому поводу обязательно будет отдельная статья.

Следующий код выдаст вам значения тегов PowerOn и PowerOff для всех машин в Resource Group (не забудьте задать переменную $MyAzureResourceGroup):

PS C:\> Get-AzureRmVM -ResourceGroupName $MyAzureResourceGroup |
sort Name |select Name,
@{N='PowerOn';E={$_ |Get-AzVmTag -TagName 'PowerOn'}},
@{N='PowerOff';E={$_ |Get-AzVmTag -TagName 'PowerOff'}} |ft –au

А этот даст полный отчёт о состоянии машины (VM PowerState), оба тега (PowerOn и PowerOff) и текущее время:

  PS C:\> Get-AzureRmVM -ResourceGroupName $MyAzureResourceGroup |
sort Name |select Name,
@{N='PowerState';E={$_ |Get-AzVmPowerState}},
@{N='PowerOn';E={$_ |Get-AzVmTag -TagName 'PowerOn'}},
@{N='PowerOff';E={$_ |Get-AzVmTag -TagName 'PowerOff'}},
@{N='Now';E={[datetime]::Now.ToString('HH:mm')}} |ft –au

Для желающих почитать статью на английском, прилагаю ссылку на блог автора.

Интересное:





Зал Славы Рекламодателя
Ближайшие события в области виртуализации:

Быстрый переход:
VMware Broadcom Offtopic Microsoft Veeam Cloud StarWind VMachines NAKIVO vStack Gartner Vinchin Nakivo IT-Grad Teradici VeeamON VMworld PowerCLI Citrix VSAN GDPR 5nine Hardware Nutanix vSphere RVTools Enterprise Security Code Cisco vGate SDRS Parallels IaaS HP VMFS VM Guru Oracle Red Hat Azure KVM VeeamOn 1cloud DevOps Docker Storage NVIDIA Partnership Dell Virtual SAN Virtualization VMTurbo vRealize VirtualBox Symantec Softline EMC Login VSI Xen Amazon NetApp VDI Linux Hyper-V IBM Google VSI Security Windows vCenter Webinar View VKernel Events Windows 7 Caravan Apple TPS Hyper9 Nicira Blogs IDC Sun VMC Xtravirt Novell IntelVT Сравнение VirtualIron XenServer CitrixXen ESXi ESX ThinApp Books P2V VMUG Private AI HCX vSAN VCPP VCF Workstation Labs Backup Explore vDefend Data Protection ONE Tanzu AI Intel Live Recovery VCP V2V Aria NSX DPU Update EUC Avi Community Skyline Host Client GenAI Chargeback Horizon SASE Workspace ONE Networking Ransomware Tools Performance Lifecycle Network AWS API USB SDDC Fusion Whitepaper SD-WAN Mobile SRM ARM HCI Converter Photon OS Operations VEBA App Volumes Certification VMConAWS Workspace Imager SplinterDB DRS SAN vMotion Open Source iSCSI Partners HA Monterey Kubernetes vForum Learning vRNI UAG Support Log Insight AMD vCSA NSX-T Graphics NVMe HCIBench SureBackup Docs Carbon Black vCloud Обучение Web Client vExpert OpenStack UEM CPU PKS vROPs Stencils Bug VTL Forum Video Update Manager VVols DR Cache Storage DRS Visio Manager Virtual Appliance PowerShell LSFS Client Datacenter Agent esxtop Book Photon Cloud Computing SSD Comparison Blast Encryption Nested XenDesktop VSA vNetwork SSO VMDK Appliance VUM HoL Automation Replication Desktop Fault Tolerance Vanguard SaaS Connector Event Free SQL Sponsorship Finance FT Containers XenApp Snapshots vGPU Auto Deploy SMB RDM Mirage XenClient MP iOS SC VMM VDP PCoIP RHEV vMA Award Licensing Logs Server Demo vCHS Calculator Бесплатно Beta Exchange MAP DaaS Hybrid Monitoring VPLEX UCS GPU SDK Poster VSPP Receiver VDI-in-a-Box Deduplication Reporter vShield ACE Go nworks iPad XCP Data Recovery Documentation Sizing Pricing VMotion Snapshot FlexPod VMsafe Enteprise Monitor vStorage Essentials Live Migration SCVMM TCO Studio AMD-V KB VirtualCenter NFS ThinPrint Director Memory SIOC Troubleshooting Stretched Bugs ESA Android Python Upgrade ML Hub Guardrails CLI Driver Foundation HPC Orchestrator Optimization SVMotion Diagram Ports Plugin Helpdesk VIC VDS Migration Air DPM Flex Mac SSH VAAI Heartbeat MSCS Composer
Полезные постеры:

Постер VMware vSphere PowerCLI 10

Постер VMware Cloud Foundation 4 Architecture

Постер VMware vCloud Networking

Постер VMware Cloud on AWS Logical Design Poster for Workload Mobility

Постер Azure VMware Solution Logical Design

Постер Google Cloud VMware Engine Logical Design

Постер Multi-Cloud Application Mobility

Постер VMware NSX (референсный):

Постер VMware vCloud SDK:

Постер VMware vCloud Suite:

Управление памятью в VMware vSphere 5:

Как работает кластер VMware High Availability:

Постер VMware vSphere 5.5 ESXTOP (обзорный):

 

Популярные статьи:
Как установить VMware ESXi. Инструкция по установке сервера ESXi 4 из состава vSphere.

Включение поддержки технологии Intel VT на ноутбуках Sony VAIO, Toshiba, Lenovo и других.

Типы виртуальных дисков vmdk виртуальных машин на VMware vSphere / ESX 4.

Как работают виртуальные сети VLAN на хостах VMware ESX / ESXi.

Как настроить запуск виртуальных машин VMware Workstation и Server при старте Windows

Сравнение Oracle VirtualBox и VMware Workstation.

Что такое и как работает виртуальная машина Windows XP Mode в Windows 7.

Диски RDM (Raw Device Mapping) для виртуальных машин VMware vSphere и серверов ESX.

Работа с дисками виртуальных машин VMware.

Где скачать последнюю версию VMware Tools для виртуальных машин на VMware ESXi.

Подключение локальных SATA-дисков сервера VMware ESXi в качестве хранилищ RDM для виртуальных машин.

Как перенести виртуальную машину VirtualBox в VMware Workstation и обратно

Инфраструктура виртуальных десктопов VMware View 3 (VDI)

Как использовать возможности VMware vSphere Management Assistant (vMA).

Бесплатные утилиты для виртуальных машин на базе VMware ESX / ESXi.

Интервью:

Alessandro Perilli
virtualization.info
Основатель

Ратмир Тимашев
Veeam Software
Президент


Полезные ресурсы:

Последние 100 утилит VMware Labs

Новые возможности VMware vSphere 8.0 Update 1

Новые возможности VMware vSAN 8.0 Update 1

Новые документы от VMware

Новые технологии и продукты на VMware Explore 2022

Анонсы VMware весной 2021 года

Новые технологии и продукты на VMware VMworld 2021

Новые технологии и продукты на VMware VMworld 2020

Новые технологии и продукты на VMware VMworld Europe 2019

Новые технологии и продукты на VMware VMworld US 2019

Новые технологии и продукты на VMware VMworld 2019

Новые технологии и продукты на VMware VMworld 2018

Новые технологии и продукты на VMware VMworld 2017



Copyright VM Guru 2006 - 2025, Александр Самойленко. Правила перепечатки материалов.
vExpert Badge