Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kaip galiu automatizuoti nepakankamai išnaudotų VM išjungimą


Kaip galiu automatizuoti nepakankamai išnaudotų VM išjungimą


Automatizuojant nepakankamai išnaudotų „Azure VM“ išjungimą, galima pasiekti keliais būdais, kurių kiekvienas turi savo pranašumus ir sudėtingumą.

1. „Azure Auto-Shutdown“ funkcija

Paprasčiausias metodas yra naudoti „Azure“ įmontuotą automatinio „Shutdown“ funkciją. Tai leidžia nustatyti tam tikrą laiką, kad jūsų VM būtų uždarytas, o tai gali padėti sumažinti išlaidas ne piko valandomis. Norėdami sukonfigūruoti tai:

- Prisijunkite prie Azure portalo.
- Eikite į VM, kurį norite sukonfigūruoti.
- Skiltyje „Operations“ pasirinkite Automatinis sankryžą.
- Perjunkite jungiklį į ON, nustatykite norimą išjungimo laiką ir pasirinktinai sukonfigūruokite pranešimus el. Paštu arba „Webhook“ [1] [9] [10].

Tačiau šis metodas automatiškai neatnaujina VM ir nelaiko sudėtingų sąlygų, tokių kaip CPU panaudojimas.

2. „Azure Automation“

Sudėtingesniems scenarijams, tokiems kaip VM uždarymas, remiantis CPU panaudojimu ar kitomis sąlygomis, gali būti naudojamas „Azure“ automatizavimas. Tai reiškia, kad reikia sukurti knygą, kuri galėtų sustabdyti VM, remiantis konkrečiais kriterijais:

- Sukurkite „Azure“ automatizavimo paskyrą: Tai būtina norint paleisti scenarijus, kurie valdo jūsų „Azure“ išteklius [3].
- Sukurkite „RunBook“: parašykite „PowerShell“ scenarijų, kuris patikrina VM būseną ir sustabdys ją, jei jis nepakankamai išnaudojamas. Pvz., Galite patikrinti CPU naudojimą ir sustabdyti VM, jei jis yra žemiau tam tikros slenksčio [3] [4].
- Nustatykite tvarkaraštį: susiejkite „RunBook“ su tvarkaraščiu, kad jis veiktų reguliariais intervalais, kad patikrintų ir potencialiai sustabdytų nepakankamai išnaudotus VM [3].

3. Azure perspėjimai ir veiksmų grupės

Kitas būdas yra naudoti „Azure Monitor“, kad būtų galima sukurti perspėjimus, pagrįstus CPU panaudojimu ar kita metrika. Kai šie perspėjimai suaktyvina, jie gali vadinti veiksmų grupę, kuri sustabdo VM:

- Sukurkite perspėjimo taisyklę: Įstatykite perspėjimą „Azure“ monitoriuje, kuris suaktyvina, kai VM CPU panaudojimas patenka į tam tikrą slenkstį [4] [6].
- Konfigūruokite veiksmų grupę: Nustatykite veiksmų grupę, kurioje yra „WebHook“ ar kitas veiksmas, kad sustabdytumėte VM, kai suaktyvinamas perspėjimas [2] [4].

4. Azure funkcijos

„Azure“ funkcijos taip pat gali būti naudojamos automatizuoti VM išjungimą. Galite sukurti funkciją, veikiančią tvarkaraštyje arba pagrįstą paleidėjais, ir naudoti „Azure“ API, kad sustabdytų VM:

- Sukurkite funkcijos programą: sukurkite funkciją, kuri patikrintų VM panaudojimą ir prireikus sustabdytų ją [5].
- Suplanuokite funkciją: naudokite „Azure“ planavimo galimybes, kad atliktumėte funkciją tam tikru metu ar intervalu [5].

Kiekvienas metodas turi savo pranašumus ir gali būti pasirinktas atsižvelgiant į jūsų reikalavimų sudėtingumą ir jūsų aplinkos mastą.

Citatos:
[1] https://learn.microsoft.com/en-us/azure/virtual-machines/auto-hutdown-vm
[2] https://www.brentmcconnell.com/2021/04/26/autoshutdown
[3] https://dev.to/rajeshkumaryadavdotcom/how-to-hutdown-your-azure-virtual-machine-automatiškai-kai-idle-x-x-minute-a-sheep-sphe-step-guide-24jn
[4] https://learn.microsoft.com/en-us/azure/virtual-machines/cost-optimization-best-praktices
[5] https://www.reddit.com/r/azure/comments/XTDAA4/AUTOMATION_STOPPING_VMS/
[6] https://stackoverflow.com/questions/57897996/underutilized-virtual-machines-azure-alerts
[7] https://stackoverflow.com/questions/71391125/is-it-posible-to-automate-shutdown-in-azure-vms--to-save-costs
[8] https://developer.harness.io/docs/cloud-cost-management/use-ccm-cost-optimization/ccm-recomendations/azure-vm/
[9] https://impulztech.com/optimizing-azure-workloads-automate-vm-startup-and-hutdown/
[10] https://turbo360.com/blog/auto-hutdown-azure-vm-when-idle