Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Jak mogę zautomatyzować zamknięcie niewykorzystanych maszyn wirtualnych


Jak mogę zautomatyzować zamknięcie niewykorzystanych maszyn wirtualnych


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