Bagikan melalui


Skala otomatis dengan beberapa profil

Menskalakan sumber daya Anda untuk hari tertentu dalam seminggu, atau tanggal dan waktu tertentu dapat mengurangi biaya Anda sambil tetap menyediakan kapasitas yang Anda butuhkan ketika Anda membutuhkannya.

Anda dapat menggunakan beberapa profil dalam skala otomatis untuk menskalakan dengan cara yang berbeda pada waktu yang berbeda. Jika misalnya, bisnis Anda tidak aktif pada akhir pekan, buat profil berulang untuk menskalakan sumber daya Anda pada hari Sabtu dan Minggu. Jika black Friday adalah hari yang sibuk, buat profil untuk secara otomatis meluaskan skala sumber daya Anda pada black Friday.

Artikel ini menjelaskan berbagai profil dalam skala otomatis dan cara menggunakannya.

Anda dapat memiliki satu atau beberapa profil di pengaturan skala otomatis Anda.

Ada tiga jenis profil:

  • Profil default. Profil default dibuat secara otomatis dan tidak bergantung pada jadwal. Profil default tidak dapat dihapus. Profil default digunakan ketika tidak ada profil lain yang cocok dengan tanggal dan waktu saat ini.
  • Profil berulang. Profil berulang valid untuk rentang waktu tertentu dan diulang untuk hari yang dipilih dalam seminggu.
  • Memperbaiki profil tanggal dan waktu. Profil yang valid untuk rentang waktu pada tanggal tertentu.

Setiap kali layanan skala otomatis berjalan, profil dievaluasi dalam urutan berikut:

  1. Profil tanggal tetap
  2. Profil berulang
  3. Profil default

Jika pengaturan tanggal dan waktu profil cocok dengan waktu saat ini, skala otomatis akan menerapkan aturan profil dan batas kapasitas tersebut. Hanya profil pertama yang berlaku yang digunakan.

Contoh di bawah ini menunjukkan pengaturan skala otomatis dengan profil default dan profil berulang.

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

Dalam contoh di atas, pada hari Senin setelah pukul 03.00, profil berulang akan berhenti digunakan. Jika jumlah instans kurang dari 3, skala otomatis diskalakan ke minimum baru tiga. Skala otomatis terus menggunakan profil ini dan menskalakan berdasarkan CPU% hingga Senin pukul 20.00. Di lain waktu penskalaan akan dilakukan sesuai dengan profil default, berdasarkan jumlah permintaan. Setelah pukul 20.00 pada hari Senin, skala otomatis beralih ke profil default. Jika misalnya, jumlah instans pada saat itu adalah 12, skala otomatis menskalakan menjadi 10, yang maksimum yang diizinkan untuk profil default.

Beberapa profil yang berdingin

Transisi skala otomatis antar profil berdasarkan waktu mulainya. Waktu akhir untuk profil tertentu ditentukan oleh waktu mulai profil berikut.

Di portal, bidang waktu akhir menjadi waktu mulai berikutnya untuk profil default. Anda tidak dapat menentukan waktu yang sama untuk akhir satu profil dan awal profil berikutnya. Portal akan memaksa waktu akhir menjadi satu menit sebelum waktu mulai profil berikut. Selama menit ini, profil default akan menjadi aktif. Jika Anda tidak ingin profil default aktif di antara profil berulang, biarkan bidang waktu akhir kosong.

Tip

Untuk menyiapkan beberapa profil yang bersebelahan menggunakan portal, biarkan waktu akhir kosong. Profil saat ini akan berhenti digunakan ketika profil berikutnya menjadi aktif. Hanya tentukan waktu akhir saat Anda ingin kembali ke profil default. Membuat profil berulang tanpa waktu akhir hanya didukung melalui portal dan templat ARM.

Beberapa profil menggunakan templat, CLI, dan PowerShell

Saat membuat beberapa profil menggunakan templat, CLI, dan PowerShell, ikuti panduan di bawah ini.

Lihat bagian skala otomatis definisi sumber daya templat ARM untuk referensi templat lengkap.

Tidak ada spesifikasi dalam templat untuk waktu akhir. Profil akan tetap aktif hingga waktu mulai profil berikutnya.

Menambahkan profil berulang menggunakan templat ARM

Contoh di bawah ini menunjukkan cara membuat dua profil berulang. Satu profil untuk akhir pekan dari pukul 00:01 pada Sabtu pagi dan profil Hari Kerja kedua dimulai pada hari Senin pukul 04:00. Itu berarti bahwa profil akhir pekan akan dimulai pada Sabtu pagi pada satu menit berlalu tengah malam dan berakhir pada Senin pagi pukul 04:00. Profil Hari Kerja akan dimulai pukul 04.00 pada hari Senin dan berakhir tepat setelah tengah malam pada Sabtu pagi.

Gunakan perintah berikut untuk menyebarkan templat: az deployment group create --name VMSS1-Autoscale-607 --resource-group rg-vmss1 --template-file VMSS1-autoscale.json di mana VMSS1-autoscale.json adalah file yang berisi objek JSON di bawah ini.

{
    "$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"
            }

        }
    ]
}    

Langkah berikutnya