Birden çok profille otomatik ölçeklendirme

Kaynaklarınızı haftanın belirli bir günü veya belirli bir tarih ve saat için ölçeklendirmek maliyetlerinizi azaltırken, ihtiyaç duyduğunuzda ihtiyacınız olan kapasiteyi sağlamaya devam edebilir.

Farklı zamanlarda farklı şekillerde ölçeklendirmek için otomatik ölçeklendirmede birden çok profil kullanabilirsiniz. Örneğin, işletmeniz hafta sonu etkin değilse, cumartesi ve pazar günleri kaynaklarınızda ölçeklendirmek için yinelenen bir profil oluşturun. Kara Cuma yoğun bir günse, kara Cuma'da kaynaklarınızın ölçeğini otomatik olarak genişletmek için bir profil oluşturun.

Bu makalede, otomatik ölçeklendirmedeki farklı profiller ve bunların nasıl kullanılacağı açıklanmaktadır.

Otomatik ölçeklendirme ayarınızda bir veya daha fazla profiliniz olabilir.

Üç tür profil vardır:

  • Varsayılan profil. Varsayılan profil otomatik olarak oluşturulur ve bir zamanlamaya bağımlı değildir. Varsayılan profil silinemez. Varsayılan profil, geçerli tarih ve saatle eşleşen başka profil olmadığında kullanılır.
  • Yinelenen profiller. Yinelenen profil belirli bir zaman aralığı için geçerlidir ve haftanın seçili günleri için yinelenir.
  • Sabit tarih ve saat profilleri. Belirli bir tarihteki bir zaman aralığı için geçerli olan profil.

Otomatik ölçeklendirme hizmeti her çalıştığında, profiller aşağıdaki sırayla değerlendirilir:

  1. Sabit tarih profilleri
  2. Yinelenen profiller
  3. Varsayılan profil

Bir profilin tarih ve saat ayarları geçerli saatle eşleşiyorsa, otomatik ölçeklendirme bu profilin kurallarını ve kapasite sınırlarını uygular. Yalnızca ilk geçerli profil kullanılır.

Aşağıdaki örnekte varsayılan profil ve yinelenen profil içeren bir otomatik ölçeklendirme ayarı gösterilmektedir.

A screenshot showing an autoscale setting with default and recurring profile or scale condition.

Yukarıdaki örnekte, Pazartesi günü 03:00'den sonra yinelenen profil kullanılmayacaktır. Örnek sayısı 3'ten küçükse, otomatik ölçeklendirme yeni en az üç olacak şekilde ölçeklendirilir. Otomatik ölçeklendirme bu profili kullanmaya devam eder ve Pazartesi saat 20:00'ye kadar CPU%'ya göre ölçeklendirilir. Diğer tüm durumlarda ölçeklendirme, istek sayısına bağlı olarak varsayılan profile göre yapılır. Pazartesi saat 20:00'den sonra otomatik ölçeklendirme varsayılan profile geçer. Örneğin, o anda örnek sayısı 12 ise, otomatik ölçeklendirme ölçeğini varsayılan profil için izin verilen en yüksek değer olan 10'a ölçeklendirir.

Birden çok bitişik profil

Profiller arasındaki geçişleri başlangıç saatlerine göre otomatik ölçeklendirme. Belirli bir profilin bitiş saati, aşağıdaki profilin başlangıç zamanına göre belirlenir.

Portalda bitiş zamanı alanı, varsayılan profil için bir sonraki başlangıç zamanı olur. Bir profilin sonu ve sonrakinin başlangıcı için aynı saati belirtemezsiniz. Portal, bitiş saatini aşağıdaki profilin başlangıç saatinden bir dakika önce olacak şekilde zorlar. Bu dakika boyunca varsayılan profil etkin hale gelir. Yinelenen profiller arasında varsayılan profilin etkin olmasını istemiyorsanız bitiş zamanı alanını boş bırakın.

Bahşiş

Portalı kullanarak birden çok bitişik profil ayarlamak için bitiş saatini boş bırakın. Bir sonraki profil etkin hale geldiğinde geçerli profil kullanılmayacak. Yalnızca varsayılan profile geri dönmek istediğinizde bir bitiş saati belirtin. Bitiş zamanı olmadan yinelenen profil oluşturmak yalnızca portal ve ARM şablonları aracılığıyla desteklenir.

Şablonlar, CLI ve PowerShell kullanan birden çok profil

Şablonlar, CLI ve PowerShell kullanarak birden çok profil oluştururken aşağıdaki yönergeleri izleyin.

Tam şablon başvurusu için ARM şablonu kaynak tanımının otomatik ölçeklendirme bölümüne bakın.

Şablonda bitiş saati için belirtim yok. Profil, bir sonraki profilin başlangıç zamanına kadar etkin kalır.

ARM şablonlarını kullanarak yinelenen profil ekleme

Aşağıdaki örnekte iki yinelenen profilin nasıl oluşturulacağı gösterilmektedir. Cumartesi sabahı saat 00:01'den itibaren hafta sonları için bir profil ve Pazartesi günleri saat 04:00'ten itibaren ikinci hafta içi profili. Bu, hafta sonu profilinin Cumartesi sabahı gece yarısından bir dakika sonra başlayacağı ve Pazartesi sabahı saat 04:00'te sona ereceği anlamına gelir. Hafta içi profili Pazartesi günü saat 04:00'da başlayacak ve Cumartesi sabahı gece yarısından hemen sonra sona erecektir.

Şablonu dağıtmak için aşağıdaki komutu kullanın: az deployment group create --name VMSS1-Autoscale-607 --resource-group rg-vmss1 --template-file VMSS1-autoscale.json burada VMSS1-autoscale.json aşağıdaki JSON nesnesini içeren dosyadır.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "type": "Microsoft.Insights/autoscaleSettings",
            "apiVersion": "2015-04-01",
            "name": "VMSS1-Autoscale-607",
            "location": "eastus",
            "properties": {

                "name": "VMSS1-Autoscale-607",
                "enabled": true,
                "targetResourceUri": "/subscriptions/abc123456-987-f6e5-d43c-9a8d8e7f6541/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1",
                "profiles": [
                    {
                        "name": "Weekday profile",
                        "capacity": {
                            "minimum": "3",
                            "maximum": "20",
                            "default": "3"
                        },
                        "rules": [
                            {
                                "scaleAction": {
                                    "direction": "Increase",
                                    "type": "ChangeCount",
                                    "value": "1",
                                    "cooldown": "PT5M"
                                },
                                "metricTrigger": {
                                    "metricName": "Inbound Flows",
                                    "metricNamespace": "microsoft.compute/virtualmachinescalesets",
                                    "metricResourceUri": "/subscriptions/abc123456-987-f6e5-d43c-9a8d8e7f6541/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1",
                                    "operator": "GreaterThan",
                                    "statistic": "Average",
                                    "threshold": 100,
                                    "timeAggregation": "Average",
                                    "timeGrain": "PT1M",
                                    "timeWindow": "PT10M",
                                    "Dimensions": [],
                                    "dividePerInstance": true
                                }
                            },
                            {
                                "scaleAction": {
                                    "direction": "Decrease",
                                    "type": "ChangeCount",
                                    "value": "1",
                                    "cooldown": "PT5M"
                                },
                                "metricTrigger": {
                                    "metricName": "Inbound Flows",
                                    "metricNamespace": "microsoft.compute/virtualmachinescalesets",
                                    "metricResourceUri": "/subscriptions/abc123456-987-f6e5-d43c-9a8d8e7f6541/resourceGroups/rg-vmss1/providers/Microsoft.Compute/virtualMachineScaleSets/VMSS1",
                                    "operator": "LessThan",
                                    "statistic": "Average",
                                    "threshold": 60,
                                    "timeAggregation": "Average",
                                    "timeGrain": "PT1M",
                                    "timeWindow": "PT10M",
                                    "Dimensions": [],
                                    "dividePerInstance": true
                                }
                            }
                        ],
                        "recurrence": {
                            "frequency": "Week",
                            "schedule": {
                                "timeZone": "E. Europe Standard Time",
                                "days": [
                                    "Monday"
                                ],
                                "hours": [
                                    4
                                ],
                                "minutes": [
                                    0
                                ]
                            }
                        }
                    },
                    {
                        "name": "Weekend profile",
                        "capacity": {
                            "minimum": "1",
                            "maximum": "3",
                            "default": "1"
                        },
                        "rules": [],
                        "recurrence": {
                            "frequency": "Week",
                            "schedule": {
                                "timeZone": "E. Europe Standard Time",
                                "days": [
                                    "Saturday"                                    
                                ],
                                "hours": [
                                    0
                                ],
                                "minutes": [
                                    1
                                ]
                            }
                        }
                    }
                ],
                "notifications": [],
                "targetResourceLocation": "eastus"
            }

        }
    ]
}    

Sonraki adımlar