Automatyzację wyłączania niewykorzystanych maszyn wirtualnych Azure można osiągnąć za pomocą kilku metod, każda z własnymi zaletami i złożonością.
1. Azure Auto-Shutdown Funkcja
Najprostszą metodą jest użycie wbudowanej funkcji Azure Auto-Shutdown. Umożliwia to ustalenie konkretnego czasu na zamknięcie maszyny wirtualnej, co może pomóc obniżyć koszty w godzinach poza szczytem. Aby to skonfigurować:
- Zaloguj się do portalu Azure.
- Przejdź do maszyny wirtualnej, którą chcesz skonfigurować.
- W sekcji Operacje wybierz automatyczne shutdown.
- Przełącz przełącznik, ustaw żądany czas wyłączania i opcjonalnie skonfiguruj powiadomienia za pośrednictwem poczty e -mail lub WebHook [1] [9] [10].
Jednak ta metoda nie uruchamia automatycznie VMS ani nie obsługuje złożonych warunków, takich jak wykorzystanie procesora.
2. Automatyzacja Azure
W przypadku bardziej złożonych scenariuszy, takich jak wyłączenie maszyn wirtualnych w oparciu o wykorzystanie procesora lub inne warunki, można zastosować automatyzację Azure. Obejmuje to utworzenie Runbook, który może zatrzymać maszyny wirtualne na podstawie określonych kryteriów:
- Utwórz konto automatyzacji Azure: jest to konieczne do uruchamiania skryptów zarządzających zasobami platformy Azure [3].
- Utwórz Runbook: Napisz skrypt PowerShell, który sprawdza status VM i zatrzymuje go, jeśli jest niewykorzystany. Na przykład możesz sprawdzić użycie procesora i zatrzymać VM, jeśli jest ona poniżej określonego progu [3] [4].
- Konfiguruj harmonogram: Połącz Runbook do harmonogramu, aby działał w regularnych odstępach czasu, aby sprawdzić i potencjalnie zatrzymać niewykorzystane maszyny wirtualne [3].
3. Azure Alerty i grupy akcji
Innym podejściem jest użycie Azure Monitor do tworzenia alertów opartych na wykorzystaniu procesora lub innych wskaźnikach. Kiedy te alerty uruchamiają, mogą wywołać grupę akcji, która zatrzymuje maszynę wirtualną:
- Utwórz regułę alarmową: Skonfiguruj alert w Azure Monitor, który wyzwala, gdy wykorzystanie procesora VM spada poniżej określonego progu [4] [6].
- Skonfiguruj grupę akcji: Skonfiguruj grupę akcji, która zawiera hondy internetowe lub inną akcję, aby zatrzymać maszynę wirtualną, gdy alert zostanie uruchomiony [2] [4].
4. Funkcje Azure
Funkcje Azure można również użyć do automatyzacji wyłączników VM. Możesz utworzyć funkcję, która działa zgodnie z harmonogramem lub na podstawie wyzwalaczy i używa interfejsów API Azure, aby zatrzymać maszyny wirtualne:
- Utwórz aplikację funkcyjną: Opracuj funkcję, która sprawdza wykorzystanie VM i zatrzymuje ją w razie potrzeby [5].
- Zaplanuj funkcję: Użyj możliwości planowania Azure, aby uruchomić funkcję w określonych czasach lub odstępach [5].
Każda metoda ma własne zalety i może być wybrana na podstawie złożoności twoich wymagań i skali twojego środowiska.
Cytaty:
[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--shutdown-your-azure-virtual-machine-automatycznie-hen-idle-for-x-xinute-a-step-reste-guide-24jn
[4] https://learn.microsoft.com/en-us/azure/virtual-machines/cost-optimization-best-practices
[5] https://www.reddit.com/r/azure/comments/xtdaa4/automating_stopping_vms/
[6] https://stackoverflow.com/questions/57897996/underutizeed-virtual-machines-azure-alerts
[7] https://stackoverflow.com/questions/71391125/is-it-possible-to-automate-shutdown-in-azure-vms--dave-costs
[8] https://developer.harness.io/docs/cloud-cost-management/use-ccm-cost-optimization/ccm-recommendations/azure-vm/
[9] https://impulztech.com/optimizing-azure-workloads-automate-vm-startup-shutdown/
[10] https://turbo360.com/blog/auto-shutdown-azure-vm-hen-idle