Автоматизация закрытия недоиспользуемых виртуальных машин Azure может быть достигнута несколькими методами, каждый из которых имеет свои преимущества и сложности.
1. Функция Azure Auto-Shutdown
Самый простой метод-использовать встроенную функцию Azure Auto-Shutdown. Это позволяет вам установить определенное время для выключения виртуальной машины, что может помочь снизить затраты в непиковые часы. Чтобы настроить это:
- Войдите на портал Azure.
- Перейдите к виртуальной машине, которую вы хотите настроить.
- В разделе «Операции» выберите Auto-Shutdown.
- Переключите переключатель на включение, установите желаемое время выключения и опционально настройте уведомления по электронной почте или Webhook [1] [9] [10].
Однако этот метод не автоматически перезапускает виртуальные машины или не обрабатывает сложные условия, такие как использование ЦП.
2. Azure Automation
Для более сложных сценариев, таких как выключение виртуальных машин на основе использования процессора или других условий, можно использовать автоматизацию Azure. Это включает в себя создание runbook, которая может остановить виртуальные машины на основе конкретных критериев:
- Создайте учетную запись Azure Automation: это необходимо для запуска сценариев, которые управляют вашими ресурсами Azure [3].
- Создайте runbook: напишите сценарий PowerShell, который проверяет статус виртуальной машины и останавливает его, если он недостаточно используется. Например, вы можете проверить использование процессора и остановить виртуальную машину, если он ниже определенного порога [3] [4].
- Установите расписание: свяжите runbook с расписанием, чтобы он работал через регулярные промежутки времени, чтобы проверить и потенциально остановить недоиспользуемые виртуальные машины [3].
3. Azure оповещения и группы действий
Другим подходом является использование Azure Monitor для создания оповещений на основе использования процессора или других показателей. Когда эти предупреждения запускаются, они могут вызвать группу действий, которая останавливает виртуальную машину:
- Создайте правило оповещения: настроить предупреждение в мониторе Azure, которое запускает, когда использование ЦП виртуальной реальности падает ниже определенного порога [4] [6].
- Настройте группу действий: настройте группу действий, которая включает в себя веб -крюк или другое действие, чтобы остановить виртуальную машину, когда предупреждение запускается [2] [4].
4. Функции Azure
Функции Azure также могут использоваться для автоматизации отключений виртуальной машины. Вы можете создать функцию, которая работает по расписанию или на основе триггеров и использует API Azure, чтобы остановить виртуальные машины:
- Создайте функциональное приложение: разработать функцию, которая проверяет использование виртуальной машины, и при необходимости останавливает его [5].
- Запланируйте функцию: используйте возможности планирования Azure, чтобы запустить функцию в определенное время или интервалы [5].
Каждый метод имеет свои собственные преимущества и может быть выбран на основе сложности ваших требований и масштаба вашей среды.
Цитаты:
[1] https://learn.microsoft.com/en-us/azure/virtual-machines/auto-shutdown-vm
[2] https://www.brentmcconnell.com/2021/04/26/autoshutdown
[3] https://dev.to/rajeshkumaryadavdotcom/how-to-shutdown-your-azure-virtual-machine-automatyally-wen-idle-for-x-minute-a-shep-by-guide-24jn
[4] https://learn.microsoft.com/en-us/azure/virtual-machines/cost-optimization-best-ractices
[5] https://www.reddit.com/r/azure/comments/xtdaa4/automating_stopping_vms/
[6] https://stackoverflow.com/questions/57897996/underutilized-virtual-machines-azure-alerts
[7] https://stackoverflow.com/questions/71391125/is-it-possible-to-automate-shutdown-in-azure-vms-to-save-costs
[8] https://developer.harness.io/docs/cloud-cost-management/use-ccm-cost-optimization/ccm-recommendations/azure-vm//
[9] https://impulztech.com/optimizing-azure-worklocks-automate-vm-startup-and-shutdown/
[10] https://turbo360.com/blog/auto-shutdown-azure-vm-when-idle