Az alulhasznált Azure virtuális gépek leállításának automatizálása több módszerrel érhető el, mindegyiknek megvan a maga előnyei és összetettsége.
1. Azure Auto-Shutdown Feature
A legegyszerűbb módszer az Azure beépített auto-shutdown funkciójának használata. Ez lehetővé teszi, hogy meghatározott időt állítson be a virtuális gép leállításához, ami segíthet csökkenteni a költségeket a csúcsidőn kívüli órákban. Ennek konfigurálásához:
- Jelentkezzen be az Azure portálra.
- Keresse meg a konfigurálni kívánt virtuális gépet.
- A Műveleti szakasz alatt válassza az Auto-Shutdown lehetőséget.
- Kapcsolja be a kapcsolót BE -re, állítsa be a kívánt leállási időt, és opcionálisan konfigurálja az értesítéseket e -mailben vagy webhook -on [1] [9] [10].
Ez a módszer azonban nem automatikusan újraindítja a virtuális gépeket, vagy nem kezeli az olyan komplex körülményeket, mint a CPU felhasználása.
2. Azure automatizálás
A bonyolultabb forgatókönyvekhez, például a virtuális gépek leállításához a CPU felhasználása vagy más feltételek alapján, az Azure automatizálás használható. Ez magában foglalja egy Runbook létrehozását, amely megállíthatja a virtuális gépeket konkrét kritériumok alapján:
- Hozzon létre egy Azure Automation fiókot: Ez szükséges az Azure erőforrások kezelésére szolgáló szkriptek futtatásához [3].
- Hozzon létre egy Runbook -ot: Írjon egy PowerShell szkriptet, amely ellenőrzi a virtuális gép állapotát, és leállítja, ha alulfelhasználják. Például ellenőrizheti a CPU használatát, és leállíthatja a virtuális gépet, ha egy bizonyos küszöb alatt van [3] [4].
- Állítsa be az ütemtervet: Linerelje a Runbook -ot az ütemtervhez, így rendszeres időközönként fut, hogy ellenőrizze és potenciálisan leállítsa az alulfelhasználott virtuális gépeket [3].
3. Azure riasztások és akciócsoportok
Egy másik megközelítés az Azure Monitor használata riasztások létrehozására a CPU felhasználása vagy más mutatók alapján. Amikor ezek a riasztások kiváltják, felhívhatják a virtuális gépet leállító akciócsoportot:
- Hozzon létre egy riasztási szabályt: Állítson be egy riasztást az Azure Monitor -ban, amely akkor indít, amikor a VM CPU felhasználása egy bizonyos küszöb alá esik [4] [6].
- Konfiguráljon egy műveleti csoportot: Állítson be egy olyan műveleti csoportot, amely tartalmaz egy webhookot vagy más műveletet a virtuális gép leállításához, amikor a riasztást elindítják [2] [4].
4. Azure funkciók
Az Azure funkciók felhasználhatók a virtuális gép leállításának automatizálására is. Készíthet egy olyan funkciót, amely ütemterven fut, vagy a triggerek alapján, és az Azure API -ját használja a virtuális gépek leállításához:
- Hozzon létre egy függvényalkalmazást: Készítsen egy olyan funkciót, amely ellenőrzi a virtuális gép felhasználását, és szükség esetén leállítja [5].
- Ütemezze be a funkciót: Használja az Azure ütemezési képességeit a függvény meghatározására meghatározott időpontokban vagy időközönként [5].
Minden módszernek megvannak a saját előnyei, és az igényeinek összetettsége és a környezet skálája alapján választhatók.
Idézetek:
[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-automaty-when-idle-for-x-minute-a-Step-by-w4Jn
[4] https://learn.microsoft.com/en-us/azure/virtual-machines
[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-racommendations/azure-vm/
[9] https://impulztech.com/optimizing-azure-workloads-automate-vm-tartup-and-shutdown/
[10] https://turbo360.com/blog/auto-shutdown-azure-vm-when-idle