All Products
Search
Document Center

Auto Scaling:CreateScalingRule

Last Updated:May 25, 2026

Membuat aturan penskalaan. Tujuan aturan penskalaan bervariasi tergantung pada jenisnya—Anda dapat menggunakannya untuk memicu aktivitas penskalaan atau menyesuaikan nilai batas grup penskalaan. Panggil operasi CreateScalingRule untuk membuat berbagai jenis aturan penskalaan sesuai kebutuhan bisnis Anda. Misalnya, jika bisnis Anda hanya memerlukan penyesuaian otomatis nilai batas grup penskalaan, Anda dapat membuat aturan penskalaan prediktif melalui operasi ini.

Catatan penggunaan

Sebelum memanggil operasi CreateScalingRule, perhatikan hal-hal berikut:

  • Jika Anda mengatur AdjustmentType ke TotalCapacity, jumlah total instance Elastic Compute Service (ECS) atau instance kontainer elastis dalam grup penskalaan akan disesuaikan menjadi angka tertentu saat aturan penskalaan diterapkan. Pastikan AdjustmentValue diatur ke bilangan bulat yang lebih besar dari 0.

  • Jika Anda mengatur AdjustmentType ke QuantityChangeInCapacity atau PercentChangeInCapacity, nilai positif AdjustmentValue menunjukkan penambahan sejumlah instance ECS atau instance kontainer elastis ke grup penskalaan, sedangkan nilai negatif menunjukkan pengurangan instance tersebut.

  • Jika Anda mengatur AdjustmentType ke PercentChangeInCapacity, Auto Scaling menghitung jumlah instance ECS atau instance kontainer elastis yang akan ditambahkan atau dihapus menggunakan rumus berikut: Kapasitas saat ini grup penskalaan (Total Capacity) × AdjustmentValue / 100. Hasilnya dibulatkan untuk menentukan jumlah penyesuaian akhir.

  • Jika Anda menentukan periode cooldown (Cooldown) untuk aturan penskalaan, periode tersebut akan berlaku setelah aturan diterapkan. Jika tidak ditentukan, periode cooldown default (DefaultCooldown) grup penskalaan yang akan berlaku.

  • Anda hanya dapat membuat jumlah terbatas aturan penskalaan untuk satu grup penskalaan. Untuk informasi selengkapnya, lihat Batas.

  • Operasi API berikut mungkin menggunakan pengenal unik aturan penskalaan (ScalingRuleAri) yang dikembalikan oleh operasi CreateScalingRule:

    • ExecuteScalingRule: Anda dapat memanggil operasi ini untuk menjalankan aturan penskalaan secara manual. Saat memanggilnya, atur ScalingRuleAri ke pengenal unik aturan penskalaan yang ingin diterapkan.

    • CreateScheduledTask: Anda dapat memanggil operasi ini untuk membuat Tugas terjadwal untuk aturan penskalaan. Saat memanggilnya, atur ScalingRuleAri ke pengenal unik aturan penskalaan yang ingin dibuatkan Tugas terjadwalnya.

Debugging

OpenAPI Explorer secara otomatis menghitung nilai signature. Untuk kenyamanan Anda, kami menyarankan agar Anda memanggil operasi ini di OpenAPI Explorer. OpenAPI Explorer secara dinamis menghasilkan contoh kode operasi ini untuk berbagai SDK.

Parameter permintaan

Parameter

Tipe

Wajib

Contoh

Deskripsi

Action

String

Ya

CreateScalingRule

Operasi yang ingin Anda lakukan. Tetapkan nilainya ke CreateScalingRule.

ScalingGroupId

String

Ya

asg-bp1ffogfdauy0jw0****

ID grup penskalaan tempat Anda ingin membuat aturan penskalaan.

ScalingRuleName

String

Tidak

scalingrule****

Nama aturan penskalaan. Nama harus terdiri dari 2 hingga 64 karakter, dan dapat berisi huruf, angka, garis bawah (_), tanda hubung (-), serta titik (.). Nama harus dimulai dengan huruf atau angka.

Nama setiap aturan penskalaan harus unik dalam satu Akun Alibaba Cloud di suatu Wilayah.

Catatan

Jika Anda tidak mengisi parameter ini, ID aturan penskalaan akan digunakan.

Cooldown

Integer

Tidak

60

Periode cooldown aturan penskalaan. Parameter ini hanya tersedia jika Anda mengatur ScalingRuleType ke SimpleScalingRule. Nilai valid: 0 hingga 86400. Satuan: detik.

Anda dapat mengosongkan parameter ini.

MinAdjustmentMagnitude

Integer

Tidak

1

Batas bawah jumlah instance dalam setiap penyesuaian. Parameter ini hanya berlaku jika Anda mengatur ScalingRuleType ke SimpleScalingRule atau StepScalingRule, dan AdjustmentType ke PercentChangeInCapacity.

AdjustmentType

String

Tidak

QuantityChangeInCapacity

Metode penyesuaian yang digunakan oleh aturan penskalaan. Jika Anda mengatur ScalingRuleType ke SimpleScalingRule atau StepScalingRule, Anda harus menentukan parameter ini. Nilai valid:

  • QuantityChangeInCapacity: menambahkan sejumlah instance ECS tertentu ke grup penskalaan atau menghapus sejumlah instance ECS tertentu dari grup penskalaan.

  • PercentChangeInCapacity: menambahkan persentase instance ECS tertentu ke grup penskalaan atau menghapus persentase instance ECS tertentu dari grup penskalaan.

  • TotalCapacity: menyesuaikan jumlah instance ECS dalam grup penskalaan menjadi jumlah yang ditentukan.

AdjustmentValue

Integer

Tidak

100

Jumlah instance yang dapat ditambahkan ke atau dihapus dari grup penskalaan berdasarkan aturan penskalaan. Jika Anda mengatur ScalingRuleType ke SimpleScalingRule atau StepScalingRule, Anda harus menentukan parameter ini. Jumlah maksimum instance ECS yang dapat ditambahkan atau dihapus dalam satu operasi penskalaan adalah 1.000, terlepas dari skenarionya. Rentang nilai parameter ini bervariasi tergantung pada nilai AdjustmentType.

  • Nilai valid jika Anda mengatur AdjustmentType ke QuantityChangeInCapacity: -1000 hingga 1000.

  • Nilai valid jika Anda mengatur AdjustmentType ke PercentChangeInCapacity: -100 hingga 10000.

  • Nilai valid jika Anda mengatur AdjustmentType ke TotalCapacity: 0 hingga 2000.

ScalingRuleType

String

Tidak

SimpleScalingRule

Jenis aturan penskalaan. Nilai valid:

  • SimpleScalingRule: aturan penskalaan sederhana. Setelah menerapkan aturan penskalaan sederhana, Auto Scaling menyesuaikan jumlah instance ECS atau instance kontainer elastis dalam grup penskalaan berdasarkan nilai AdjustmentType dan AdjustmentValue.

  • TargetTrackingScalingRule: aturan penskalaan pelacakan target. Setelah menerapkan aturan penskalaan pelacakan target, Auto Scaling secara dinamis menghitung jumlah instance ECS atau instance kontainer elastis yang perlu diskalakan berdasarkan metrik yang telah ditentukan (MetricName) dan berusaha mempertahankan nilai metrik mendekati nilai yang diharapkan (TargetValue).

  • StepScalingRule: aturan penskalaan langkah. Setelah menerapkan aturan penskalaan langkah, Auto Scaling menskalakan instance secara bertahap berdasarkan ambang batas dan nilai metrik yang telah ditentukan.

  • PredictiveScalingRule: menggunakan pembelajaran mesin untuk menganalisis data pemantauan historis grup penskalaan dan memprediksi nilai metrik di masa depan. Selain itu, Auto Scaling secara otomatis membuat Tugas terjadwal untuk menentukan rentang nilai grup penskalaan.

Nilai default: SimpleScalingRule.

EstimatedInstanceWarmup

Integer

Tidak

300

Periode pemanasan instance yang dapat ditambahkan ke atau dihapus dari grup penskalaan. Anda hanya dapat menentukan parameter ini untuk aturan penskalaan sederhana dan aturan penskalaan langkah. Auto Scaling menambahkan instance ECS dalam status Warmup ke grup penskalaan tetapi tidak mengirimkan data pemantauan ke CloudMonitor selama periode pemanasan.

Catatan

Instance ECS dalam status Warmup tidak termasuk dalam perhitungan kapasitas saat Auto Scaling menentukan jumlah instance yang perlu diskalakan.

Nilai valid: 0 hingga 86400. Satuan: detik.

Nilai default: 300.

MetricName

String

Tidak

CpuUtilization

Metrik yang telah ditentukan untuk aturan penskalaan. Jika Anda mengatur ScalingRuleType ke TargetTrackingScalingRule atau PredictiveScalingRule, Anda juga harus menentukan parameter ini.

Nilai valid jika Anda mengatur ScalingRuleType ke TargetTrackingScalingRule:

  • CpuUtilizationAgent (disarankan): utilisasi CPU.

  • MemoryUtilization (disarankan): Penggunaan memori.

  • CpuUtilization: rata-rata utilisasi CPU.

  • IntranetTx: lalu lintas keluar melalui jaringan internal.

  • IntranetRx: rata-rata lalu lintas masuk melalui jaringan internal.

  • VpcInternetTx: lalu lintas keluar dari virtual private cloud (VPC) ke Internet.

  • VpcInternetRx: lalu lintas masuk dari Internet ke VPC.

  • LoadBalancerRealServerAverageQps: permintaan per detik (QPS) per grup server Application Load Balancer (ALB).

Nilai valid jika Anda mengatur ScalingRuleType ke PredictiveScalingRule:

  • CpuUtilization: rata-rata utilisasi CPU.

  • IntranetRx: rata-rata lalu lintas masuk melalui jaringan internal.

  • IntranetTx: rata-rata lalu lintas keluar melalui jaringan internal.

Untuk informasi selengkapnya, lihat Tugas berbasis peristiwa tipe pemantauan sistem.

TargetValue

Float

Tidak

0,125

Nilai yang diharapkan. Jika Anda mengatur ScalingRuleType ke TargetTrackingScalingRule atau PredictiveScalingRule, Anda harus menentukan parameter ini. Nilainya harus lebih besar dari 0 dan dapat memiliki hingga tiga tempat desimal.

DisableScaleIn

Boolean

Tidak

false

Menentukan apakah skala-masuk dinonaktifkan. Parameter ini tersedia jika Anda mengatur ScalingRuleType ke TargetTrackingScalingRule.

Nilai default: false.

ScaleInEvaluationCount

Integer

Tidak

15

Setelah Anda membuat aturan penskalaan pelacakan target, tugas berbasis peristiwa akan dibuat secara otomatis dan dikaitkan dengan aturan penskalaan tersebut. Parameter ini menentukan jumlah kali berturut-turut kondisi peringatan harus terpenuhi sebelum tugas berbasis peristiwa memulai operasi skala-masuk.

Nilai default: 15.

ScaleOutEvaluationCount

Integer

Tidak

3

Setelah Anda membuat aturan penskalaan pelacakan target, tugas berbasis peristiwa akan dibuat secara otomatis dan dikaitkan dengan aturan penskalaan tersebut. Parameter ini menentukan jumlah kali berturut-turut kondisi peringatan harus terpenuhi sebelum tugas berbasis peristiwa memulai operasi skala keluar.

Nilai default: 3.

PredictiveScalingMode

String

Tidak

PredictAndScale

Mode aturan penskalaan prediktif. Nilai valid:

  • PredictAndScale: memberikan prediksi dan membuat tugas prediksi.

  • PredictOnly: memberikan prediksi tetapi tidak membuat tugas prediksi.

Nilai default: PredictAndScale.

PredictiveValueBehavior

String

Tidak

MaxOverridePredictiveValue

Aksi yang ingin Anda lakukan terhadap nilai maksimum prediksi. Nilai valid:

  • MaxOverridePredictiveValue: menggunakan kapasitas maksimum awal sebagai nilai maksimum untuk tugas prediksi jika nilai prediksi lebih besar daripada kapasitas maksimum awal.

  • PredictiveValueOverrideMax: menggunakan nilai prediksi sebagai nilai maksimum untuk tugas prediksi jika nilai prediksi lebih besar daripada kapasitas maksimum awal.

  • PredictiveValueOverrideMaxWithBuffer: meningkatkan nilai prediksi berdasarkan persentase yang ditentukan oleh parameter PredictiveValueBuffer, dan menggunakan nilai yang ditingkatkan tersebut sebagai nilai maksimum untuk tugas prediksi jika nilai prediksi yang ditingkatkan melebihi kapasitas maksimum awal.

Nilai default: MaxOverridePredictiveValue.

PredictiveValueBuffer

Integer

Tidak

50

Rasio peningkatan nilai prediksi jika Anda mengatur PredictiveValueBehavior ke PredictiveValueOverrideMaxWithBuffer. Jika nilai prediksi yang ditingkatkan berdasarkan rasio ini lebih besar daripada kapasitas maksimum awal, nilai yang ditingkatkan tersebut akan digunakan sebagai nilai maksimum untuk tugas prediksi. Nilai valid: 0 hingga 100.

Nilai default: 0.

PredictiveTaskBufferTime

Integer

Tidak

30

Jumlah waktu buffer sebelum tugas prediksi dijalankan. Secara default, semua tugas prediksi yang dibuat secara otomatis berdasarkan aturan penskalaan prediktif dijalankan tepat pada jam tertentu. Anda dapat menentukan waktu buffer untuk persiapan resource sebelum tugas prediksi dijalankan. Nilai valid: 0 hingga 60. Satuan: menit.

Nilai default: 0.

InitialMaxSize

Integer

Tidak

100

Jumlah maksimum instance yang dapat ditambahkan ke grup penskalaan. Jika Anda menentukan InitialMaxSize, Anda juga harus menentukan PredictiveValueBehavior.

Nilai default parameter ini adalah nilai MaxSize.

StepAdjustment.N.MetricIntervalUpperBound

Float

Tidak

5,0

Batas atas penyesuaian langkah. Parameter ini hanya berlaku jika Anda mengatur ScalingRuleType ke StepScalingRule. Nilai valid: -9,999999E18 hingga 9,999999E18.

StepAdjustment.N.ScalingAdjustment

Integer

Tidak

1

Jumlah instance yang ingin Anda skalakan dalam setiap penyesuaian langkah. Parameter ini tersedia saat ScalingRuleType diatur ke StepScalingRule.

StepAdjustment.N.MetricIntervalLowerBound

Float

Tidak

1,0

Batas bawah penyesuaian langkah. Parameter ini hanya berlaku jika Anda mengatur ScalingRuleType ke StepScalingRule. Nilai valid: -9,999999E18 hingga 9,999999E18.

RegionId

String

Tidak

cn-hangzhou

ID Wilayah grup penskalaan.

AlarmDimension.N.DimensionKey

String

Tidak

rulePool

Kunci dimensi metrik.

AlarmDimension.N.DimensionValue

String

Tidak

sgp-l1cbirz451yxu2****

Nilai dimensi metrik.

MetricType

String

Tidak

system

Jenis metrik. Nilai valid:

  • system: metrik sistem CloudMonitor.

  • custom: metrik kustom yang dilaporkan ke CloudMonitor.

  • hybrid: metrik Pemantauan Cloud Hibrida.

HybridMonitorNamespace

String

Tidak

aliyun-test

ID namespace Pemantauan Cloud Hibrida.

Untuk informasi tentang cara mengelola namespace Pemantauan Cloud Hibrida, lihat Mengelola namespace.

HybridMetrics.N.Id

String

Tidak

a

ID referensi metrik dalam ekspresi metrik.

HybridMetrics.N.Expression

String

Tidak

(a+b)/2

Ekspresi metrik yang terdiri dari beberapa metrik Pemantauan Cloud Hibrida. Ekspresi ini menghitung hasil yang digunakan untuk memicu event penskalaan.

Ekspresi harus ditulis dalam format Reverse Polish Notation (RPN) dan hanya mendukung operator berikut: +, -, *, /.

HybridMetrics.N.MetricName

String

Tidak

AliyunSmq_NumberOfMessagesVisible

Nama metrik Pemantauan Cloud Hibrida.

HybridMetrics.N.Statistic

String

Tidak

Average

Metode statistik nilai metrik. Nilai valid:

  • Average: menghitung nilai rata-rata semua nilai metrik dalam interval tertentu.

  • Minimum: menghitung nilai minimum semua nilai metrik dalam interval tertentu.

  • Maximum: menghitung nilai maksimum semua nilai metrik dalam interval tertentu.

HybridMetrics.N.Dimensions.N.DimensionKey

String

Tidak

queue

Kunci dimensi metrik.

HybridMetrics.N.Dimensions.N.DimensionValue

String

Tidak

testQueue

Nilai dimensi metrik.

AlarmOptions.Period

Integer

Tidak

60

Periode statistik data metrik dalam aturan penskalaan pelacakan target. Satuan: detik. Nilai valid:

  • 15

  • 60

  • 120

  • 300

  • 900

Catatan

Nilai default: 60.

Parameter respons

Parameter

Tipe

Contoh

Deskripsi

ScalingRuleAri

String

ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****

Pengenal unik aturan penskalaan.

RequestId

String

473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

ID permintaan.

ScalingRuleId

String

asr-bp1dvirgwkoowxk7****

ID aturan penskalaan. ID ini dihasilkan oleh sistem dan bersifat unik secara global.

Contoh

Contoh permintaan

http(s)://ess.aliyuncs.com/?Action=CreateScalingRule
&ScalingGroupId=asg-bp1ffogfdauy0jw0****
&ScalingRuleName=scalingrule****
&Cooldown=60
&MinAdjustmentMagnitude=1
&AdjustmentType=QuantityChangeInCapacity
&AdjustmentValue=100
&ScalingRuleType=SimpleScalingRule
&EstimatedInstanceWarmup=300
&MetricName=CpuUtilization
&TargetValue=0.125
&DisableScaleIn=false
&ScaleInEvaluationCount=15
&ScaleOutEvaluationCount=3
&PredictiveScalingMode=PredictAndScale
&PredictiveValueBehavior=MaxOverridePredictiveValue
&PredictiveValueBuffer=50
&PredictiveTaskBufferTime=30
&InitialMaxSize=100
&StepAdjustment=[{"MetricIntervalUpperBound":5.0,"ScalingAdjustment":1,"MetricIntervalLowerBound":1.0}]
&RegionId=cn-hangzhou
&AlarmDimension=[{"DimensionKey":"rulePool","DimensionValue":"sgp-l1cbirz451yxu2****"}]
&MetricType=system
&HybridMonitorNamespace=aliyun-test
&HybridMetrics=[{"Id":"a","MetricName":"AliyunSmq_NumberOfMessagesVisible","Statistic":"Average","Dimensions":[{"DimensionKey":"queue","DimensionValue":"testQueue"}]}]
&<Common request parameters>

Contoh respons sukses

XML format

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateScalingRuleResponse>
    <ScalingRuleAri>ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****</ScalingRuleAri>
    <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
    <ScalingRuleId>asr-bp1dvirgwkoowxk7****</ScalingRuleId>
</CreateScalingRuleResponse>

JSON format

HTTP/1.1 200 OK
Content-Type:application/json

{
  "ScalingRuleAri" : "ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****",
  "RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
  "ScalingRuleId" : "asr-bp1dvirgwkoowxk7****"
}

Kode kesalahan

Untuk daftar kode kesalahan, lihat Kode kesalahan layanan.

Kode status HTTP

Kode kesalahan

Pesan kesalahan

Deskripsi

404

InvalidScalingGroupId.NotFound

The specified scaling group does not exist.

Grup penskalaan yang ditentukan tidak ada dalam Akun Alibaba Cloud Anda.

400

InvalidScalingRuleName.Duplicate

The specified value of parameter <parameter name> is duplicated.

Nama aturan penskalaan sudah ada.

400

QuotaExceeded.ScalingRule

Scaling rule quota exceeded in the specified scaling group.

Jumlah maksimum aturan penskalaan dalam grup penskalaan telah tercapai.

400

TargetTrackingScalingRule.UnsupportedMetric

Specific metric is not supported for target tracking scaling rule.

Aturan penskalaan pelacakan target tidak mendukung metrik yang ditentukan.

400

TargetTrackingScalingRule.DumplicateMetric

Only one TargetTrackingScaling rule for a given metric specification is allowed.

Metrik tersebut sudah ditentukan untuk aturan penskalaan pelacakan target lain dalam grup penskalaan.

400

InvalidMinAdjustmentMagnitudeMismatchAdjustmentType

MinAdjustmentMagnitude is not supported by the specified adjustment type.

MinAdjustmentMagnitude tidak mendukung metode penyesuaian aturan penskalaan.

400

InvalidStepAdjustments.MultipleNullUpperBound

At most one StepAdjustment may have an unspecified upper bound.

Penyesuaian langkah tanpa batas atas sudah ada.

400

InvalidStepAdjustments.MultipleNullLowerBound

At most one StepAdjustment may have an unspecified lower bound.

Penyesuaian langkah tanpa batas bawah sudah ada.

400

InvalidStepAdjustments.NoNullLowerBound

There must be a StepAdjustment with an unspecified lower bound when one StepAdjustment has a negative lower bound.

Penyesuaian langkah memiliki batas bawah negatif, tetapi tidak ada penyesuaian langkah tanpa batas bawah.

400

InvalidStepAdjustments.NoNullUpperBound

There must be a StepAdjustment with an unspecified upper bound when one StepAdjustment has a positive upper bound.

Penyesuaian langkah memiliki batas atas positif, tetapi tidak ada penyesuaian langkah tanpa batas atas.

400

InvalidStepAdjustments.Gap

StepAdjustment intervals can not have gaps between them.

Penyesuaian langkah memiliki celah.

400

InvalidStepAdjustments.Overlap

StepAdjustment intervals can not overlap.

Rentang penyesuaian langkah saling tumpang tindih.

400

InvalidStepAdjustments.LowerGtUpper

LowerBound must be less than the UpperBound for StepAdjustment :%s.

Batas bawah penyesuaian langkah lebih besar dari atau sama dengan batas atasnya.

400

InvalidStepAdjustments.BothNull

Both lower and upper bounds of a StepAdjustment can not be left unspecified.

Anda tidak dapat menentukan batas atas dan batas bawah untuk penyesuaian langkah secara bersamaan.

400

InvalidStepAdjustments.MaxNum

Your scaling rule can have at most %s StepAdjustments.

Jumlah maksimum penyesuaian langkah dalam grup penskalaan telah tercapai.

400

StepBeyondPermitRange

Specific parameter "%s" beyond permit range.

Batas atas atau batas bawah yang ditentukan untuk penyesuaian langkah tidak valid.