十分に活用されていないAzure VMのシャットダウンを自動化することは、それぞれに独自の利点と複雑さを備えたいくつかの方法で達成できます。
###1。AzureAuto-Shutdown機能
最も簡単な方法は、Azureの組み込みの自動-shutdown機能を使用することです。これにより、VMがシャットダウンするために特定の時間を設定することができます。これにより、オフピーク時間中にコストを削減できます。これを構成するには:
-Azureポータルにログインします。
- 構成するVMに移動します。
- 操作セクションでは、自動シャットダウンを選択します。
- スイッチをオンに合わせて切り替え、目的のシャットダウン時間を設定し、オプションで電子メールまたはwebhook [1] [9] [10]で通知を構成します。
ただし、この方法では、VMSを自動的に再起動したり、CPU利用のような複雑な条件を処理したりしません。
###2。AzureAutomation
CPUの使用率やその他の条件に基づいてVMSをシャットダウンするなど、より複雑なシナリオの場合、Azure Automationを使用できます。これには、特定の基準に基づいてVMを停止できるRunbookを作成することが含まれます。
- Azure Automationアカウントの作成:これは、Azureリソースを管理するスクリプトを実行するために必要です[3]。
-Runbookを作成する:VMのステータスをチェックし、十分に活用されていない場合は停止するPowerShellスクリプトを作成します。たとえば、CPUの使用法を確認し、VMが特定のしきい値を下回っている場合はVMを停止できます[3] [4]。
- スケジュールを設定します:Runbookをスケジュールにリンクして、定期的に実行して確認し、十分に活用されていないVMを停止する可能性があります[3]。
###3。Azureアラートとアクショングループ
別のアプローチは、Azure Monitorを使用して、CPU使用率またはその他のメトリックに基づいてアラートを作成することです。これらのアラートがトリガーされると、VMを停止するアクショングループを呼び出すことができます。
- アラートルールの作成:VMのCPU使用率が特定のしきい値を下回ったときにトリガーするAzureモニターでアラートを設定します[4] [6]。
- アクショングループの構成:アラートがトリガーされたときにVMを停止するためにWebhookまたはその他のアクションを含むアクショングループを設定します[2] [4]。
###4。Azure関数
Azure関数は、VMのシャットダウンを自動化するためにも使用できます。スケジュールで実行されるか、トリガーに基づいてAzureのAPIを使用してVMを停止する関数を作成できます。
- 関数アプリの作成:VMの使用率をチェックし、必要に応じて停止する関数を開発します[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-automally-when-x-minute-by-step-by-step-guide-24jn
[4] https://learn.microsoft.com/en-us/azure/virtual-machines/cost-optimization-best-practics
[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-zure-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-workloads-automate-vm-startup-and-shutdown/
[10] https://turbo360.com/blog/auto-shutdown-azure-vm-when-idle