Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Az kullanılan VM'lerin kapatılmasını nasıl otomatikleştirebilirim


Az kullanılan VM'lerin kapatılmasını nasıl otomatikleştirebilirim


Yetersiz Azure VM'lerin kapatılmasının otomatikleştirilmesi, her biri kendi avantajları ve karmaşıklıkları olan çeşitli yöntemlerle elde edilebilir.

1. Azure Otomatik Shutdown özelliği

En basit yöntem Azure'un yerleşik otomatik Shutdown özelliğini kullanmaktır. Bu, VM'nizin kapanması için belirli bir zaman ayarlamanıza olanak tanır, bu da yoğun olmayan saatlerde maliyetleri azaltmaya yardımcı olabilir. Bunu yapılandırmak için:

- Azure portalına giriş yapın.
- Yapılandırmak istediğiniz VM'ye gidin.
- İşlemler bölümü altında Auto-Shutdown'u seçin.
- Anahtarı açın, istenen kapatma süresini ayarlayın ve isteğe bağlı olarak bildirimleri e -posta veya webhook [1] [9] [10] yoluyla yapılandırın.

Bununla birlikte, bu yöntem VMS'yi otomatik olarak yeniden başlatmaz veya CPU kullanımı gibi karmaşık koşulları kullanmaz.

2. Azure Otomasyonu

CPU kullanımına veya diğer koşullara göre VM'leri kapatma gibi daha karmaşık senaryolar için Azure otomasyonu kullanılabilir. Bu, VM'leri belirli kriterlere göre durdurabilen bir Runbook oluşturmayı içerir:

- Azure otomasyon hesabı oluşturun: Bu, Azure kaynaklarınızı yöneten komut dosyaları çalıştırmak için gereklidir [3].
- Bir Runbook Oluştur: VM'nin durumunu kontrol eden ve yetersiz kullanılırsa durduran bir PowerShell komut dosyası yazın. Örneğin, belirli bir eşiğin altındaysa CPU kullanımını kontrol edebilir ve VM'yi durdurabilirsiniz [3] [4].
- Bir program oluşturun: Runbook'u, az kullanılan VM'leri kontrol etmek ve potansiyel olarak durdurmak için düzenli aralıklarla çalışacak şekilde bir programa bağlayın [3].

3. Azure uyarıları ve aksiyon grupları

Başka bir yaklaşım, Azure Monitor'u CPU kullanımına veya diğer metriklere dayalı uyarılar oluşturmak için kullanmaktır. Bu uyarılar tetiklendiğinde, VM'yi durduran bir eylem grubunu arayabilirler:

- Bir Uyarı Kuralı Oluştur: Azure monitöründe, bir VM'nin CPU kullanımı belirli bir eşiğin altına düştüğünde tetiklenen bir uyarı ayarlayın [4] [6].
- Bir eylem grubu yapılandırın: Uyarı tetiklendiğinde VM'yi durdurmak için bir webhook veya başka bir eylem içeren bir eylem grubu oluşturun [2] [4].

4. Azure işlevleri

Azure fonksiyonları VM kapatmalarını otomatikleştirmek için de kullanılabilir. Bir çizelgede çalışan veya tetikleyicilere dayalı bir işlev oluşturabilir ve VMS'yi durdurmak için Azure'un API'lerini kullanabilirsiniz:

- Bir Fonksiyon Uygulaması Oluştur: VM kullanımını kontrol eden ve gerekirse durduran bir işlev geliştirin [5].
- İşlevi planlayın: İşlevi belirli zamanlarda veya aralıklarla çalıştırmak için Azure'un zamanlama özelliklerini kullanın [5].

Her yöntemin kendi avantajları vardır ve gereksinimlerinizin karmaşıklığına ve ortamınızın ölçeğine göre seçilebilir.

Alıntılar:
[1] https://learn.microsoft.com/en-us/azure/virtual-machines/auto-shutdown-vm
[2] https://www.brentmconnell.com/2021/04/26/autoshutdown
[3] https://dev.to/rajeshkumaryadavdotcom/how-to-shutdown-tour-aurure-irtual-machine-tomatik olarak- When-Idle-for-x-minute-a-tep-by-step-gide-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/underutilize-virtual-machines-asure-allert
[7] https://stackoverflow.com/questions/71391125/is-it-possible-to-outomate-futdown-in-sure-vms-to-wave-costs
[8] https://deceloper.harness.io/docs/cloud-cost-management/use-ccm-cost-optimizization/ccm-recommendations/azure-vm/
[9] https://impulztech.com/optimizing-azure-workloads-automate-vm-startup-and shutdown/
[10] https://turbo360.com/blog/auto-shutdown-asure-vm-when-idle