Grup penskalaan secara otomatis menyesuaikan kapasitas komputasi Anda dengan menambahkan atau menghapus instans berdasarkan kebutuhan bisnis dan kebijakan yang telah ditetapkan. Jika properti grup penskalaan tidak lagi sesuai dengan kebutuhan bisnis Anda, Anda dapat memanggil operasi ModifyScalingGroup untuk mengubah properti seperti jumlah maksimum, minimum, atau jumlah instans yang diharapkan. Pendekatan ini menghemat waktu dan sumber daya karena Anda tidak perlu membuat serta mengonfigurasi ulang grup penskalaan baru.
Catatan penggunaan
Anda tidak dapat mengubah parameter berikut:
RegionId
LoadBalancerId
CatatanUntuk mengubah instans Server Load Balancer, panggil operasi AttachLoadBalancers dan DetachLoadBalancers.
DBInstanceId
CatatanUntuk mengubah instans RDS, panggil operasi AttachDBInstances dan DetachDBInstances.
Anda hanya dapat memanggil operasi ini ketika grup penskalaan berada dalam status Active atau Inactive.
Mengaktifkan konfigurasi penskalaan baru tidak memengaruhi instans Elastic Compute Service (ECS) atau Elastic Container Instance (ECI) yang sedang berjalan yang dibuat berdasarkan konfigurasi penskalaan sebelumnya.
Jika Anda mengubah MaxSize dan jumlah instans ECS atau ECI dalam grup penskalaan melebihi nilai MaxSize yang baru, Auto Scaling secara otomatis menghapus instans hingga jumlahnya sama dengan MaxSize.
Jika Anda mengubah MinSize dan jumlah instans ECS atau ECI dalam grup penskalaan kurang dari nilai MinSize yang baru, Auto Scaling secara otomatis menambahkan instans hingga jumlahnya sama dengan MinSize.
Jika Anda mengubah DesiredCapacity dan jumlah instans ECS atau ECI dalam grup penskalaan tidak sesuai dengan nilai DesiredCapacity yang baru, Auto Scaling secara otomatis menambahkan atau menghapus instans hingga jumlahnya sama dengan DesiredCapacity.
Coba sekarang
Parameter permintaan
Parameter | Jenis | Diperlukan | Contoh | Deskripsi |
Action | String | Ya | ModifyScalingGroup | Parameter yang diperlukan. Tetapkan nilainya ke ModifyScalingGroup. |
ScalingGroupId | String | Ya | asg-bp1ffogfdauy0jw0**** | ID grup penskalaan yang akan dimodifikasi. |
ScalingGroupName | String | Tidak | scalinggroup**** | Nama grup penskalaan. Nama harus unik dalam satu wilayah. Panjang nama harus 2 hingga 64 karakter. Nama harus dimulai dengan angka, huruf besar atau kecil, atau karakter Tionghoa. Nama dapat berisi angka, garis bawah (_), tanda hubung (-), dan titik (.). |
MinSize | Integer | Tidak | 1 | Jumlah minimum instans ECS atau ECI dalam grup penskalaan. Jika jumlah instans dalam grup penskalaan kurang dari nilai Catatan
|
MaxSize | Integer | Tidak | 99 | Jumlah maksimum instans ECS atau ECI dalam grup penskalaan. Jika jumlah instans dalam grup penskalaan lebih besar dari nilai Rentang nilai MaxSize bergantung pada penggunaan Auto Scaling Anda. Buka Quota Center untuk melihat kuota Jumlah maksimum instans dalam grup penskalaan. Sebagai contoh, jika kuota Jumlah maksimum instans dalam grup penskalaan adalah 2000, rentang nilai |
DefaultCooldown | Integer | Tidak | 600 | Periode cooldown setelah aktivitas penskalaan yang menambah atau menghapus instans ECS atau ECI selesai. Nilai valid: 0 hingga 86400. Satuan: detik. Selama periode cooldown, grup penskalaan tidak menjalankan aktivitas penskalaan lainnya. Ini hanya berlaku untuk aktivitas penskalaan yang dipicu oleh tugas berbasis peristiwa dari CloudMonitor. |
RemovalPolicy.1 | String | Tidak | OldestScalingConfiguration | Kebijakan penghapusan pertama untuk instans ECS. Nilai valid:
Catatan Sumber konfigurasi instance yang disebutkan dalam OldestScalingConfiguration mengacu pada konfigurasi penskalaan atau template peluncuran. CustomPolicy hanya dapat ditetapkan sebagai kebijakan penghapusan pertama. Jika Anda menetapkan kebijakan ini, Anda juga harus menentukan parameter CustomPolicyARN. |
RemovalPolicy.2 | String | Tidak | NewestInstance | Kebijakan penghapusan kedua untuk instans ECS. Nilai valid:
|
RemovalPolicy.3 | String | Tidak | OldestInstance | Kebijakan penghapusan ketiga untuk instans ECS. Nilai valid:
Catatan Sumber konfigurasi instance yang disebutkan dalam OldestScalingConfiguration mengacu pada konfigurasi penskalaan atau template peluncuran. |
ActiveScalingConfigurationId | String | Tidak | asc-bp17pelvl720x5ub**** | ID konfigurasi penskalaan aktif dalam grup penskalaan. |
HealthCheckType | String | Tidak | ECS | Mode pemeriksaan kesehatan grup penskalaan. Nilai valid:
Nilai default: ECS. Catatan Untuk mengaktifkan pemeriksaan kesehatan instans dan pemeriksaan kesehatan load balancer secara bersamaan, gunakan parameter |
LaunchTemplateId | String | Tidak | lt-m5e3ofjr1zn1aw7**** | ID template peluncuran. Grup penskalaan menggunakan template peluncuran untuk mendapatkan informasi konfigurasi pembuatan instans. |
LaunchTemplateVersion | String | Tidak | Default | Versi template peluncuran. Nilai valid:
|
OnDemandBaseCapacity | Integer | Tidak | 30 | Jumlah minimum instans sesuai permintaan yang diperlukan dalam grup penskalaan. Nilai valid: 0 hingga 1000. Ketika jumlah instans sesuai permintaan kurang dari nilai ini, instans sesuai permintaan dibuat terlebih dahulu. Ketika parameter |
OnDemandPercentageAboveBaseCapacity | Integer | Tidak | 20 | Persentase instans sesuai permintaan di antara instans yang melebihi OnDemandBaseCapacity. Ini berlaku setelah jumlah minimum instans sesuai permintaan terpenuhi. Nilai valid: 0 hingga 100. Ketika parameter |
SpotInstanceRemedy | Boolean | Tidak | true | Menentukan apakah akan menambahkan spot instans. Jika diaktifkan, ketika sistem menerima pesan bahwa spot instans akan segera ditarik, grup penskalaan mencoba membuat instans baru untuk menggantinya. |
CompensateWithOnDemand | Boolean | Tidak | true | Ketika parameter
|
SpotInstancePools | Integer | Tidak | 5 | Jumlah tipe instans yang tersedia. Grup penskalaan membuat spot instans dari berbagai tipe dengan biaya terendah secara seimbang. Nilai valid: 0 hingga 10. Ketika parameter |
DesiredCapacity | Integer | Tidak | 5 | Jumlah instans ECS atau ECI yang diharapkan dalam grup penskalaan. Menyetel parameter ini mengaktifkan fitur jumlah instans yang diharapkan. Grup penskalaan secara otomatis mempertahankan jumlah instans pada nilai ini. Nilai harus berada di antara MaxSize dan MinSize, termasuk batasnya. Catatan Jika Anda menonaktifkan lalu mengaktifkan kembali fitur jumlah instans yang diharapkan, Anda harus menyetel kembali nilai |
GroupDeletionProtection | Boolean | Tidak | true | Menentukan apakah akan mengaktifkan perlindungan penghapusan untuk grup penskalaan. Nilai valid:
|
MultiAZPolicy | String | Tidak | PRIORITY | Kebijakan penskalaan untuk grup penskalaan multi-zona instans ECS. Nilai valid:
|
VSwitchIds.N | String | Tidak | vsw-bp1oo2a7isyrb8igf**** | ID satu atau beberapa vSwitch. Nilai valid N: 1 hingga 5. Parameter ini hanya efektif ketika jenis jaringan grup penskalaan adalah VPC. vSwitch yang ditentukan harus berada dalam VPC yang sama dengan grup penskalaan. vSwitch dapat berada di zona berbeda. Prioritas vSwitch diurutkan secara ascending. Nilai 1 menunjukkan prioritas tertinggi. Jika instans ECS tidak dapat dibuat di zona vSwitch dengan prioritas lebih tinggi, sistem secara otomatis mencoba membuat instans di zona vSwitch dengan prioritas berikutnya. |
LaunchTemplateOverride.N.InstanceType | String | Tidak | ecs.c5.xlarge | Untuk menskalakan grup penskalaan berdasarkan kapasitas tipe instans, tentukan parameter ini dan LaunchTemplateOverride.N.WeightedCapacity. Parameter ini menentukan tipe instans yang menggantikan tipe instans dalam template peluncuran. Anda dapat menentukan N parameter untuk memperluas template peluncuran agar mendukung N tipe instans. Nilai valid N: 1 hingga 20. Catatan Parameter ini hanya efektif ketika parameter LaunchTemplateId menentukan template peluncuran. Untuk daftar tipe instans ECS yang tersedia, lihat Instance families. |
LaunchTemplateOverride.N.WeightedCapacity | Integer | Tidak | 4 | Setelah Anda menentukan LaunchTemplateOverride.N.InstanceType, tentukan parameter ini untuk menskalakan grup berdasarkan kapasitas tipe instans. Nilai N harus sama untuk kedua parameter. Parameter ini menentukan bobot tipe instans. Bobot merepresentasikan kapasitas satu instans tipe ini dalam grup penskalaan. Bobot yang lebih tinggi berarti lebih sedikit instans tipe ini yang diperlukan untuk memenuhi kapasitas yang diharapkan. Metrik performa, seperti jumlah vCPU dan ukuran memori, dapat berbeda antar tipe instans. Anda dapat menetapkan bobot berbeda untuk tipe instans berbeda sesuai kebutuhan. Contohnya:
Untuk memenuhi kapasitas yang diharapkan, grup penskalaan akan memperluas kapasitas dua instans ecs.c5.xlarge. Catatan Selama skala keluar, kapasitas grup penskalaan tidak dapat melebihi jumlah kapasitas maksimum (MaxSize) dan bobot tertinggi tipe instans. Nilai valid WeightedCapacity: 1 hingga 500. |
LaunchTemplateOverride.N.SpotPriceLimit | Float | Tidak | 0.025 | Harga penawaran maksimum untuk tipe instans yang ditentukan oleh Catatan Parameter ini hanya efektif ketika parameter |
AzBalance | Boolean | Tidak | false | Menentukan apakah akan mendistribusikan kapasitas grup penskalaan secara merata di beberapa zona. Parameter ini hanya efektif ketika MultiAZPolicy diatur ke COMPOSABLE. Nilai valid:
Nilai default: false. |
AllocationStrategy | String | Tidak | priority | Kebijakan alokasi kapasitas. Ini menentukan bagaimana grup penskalaan memilih tipe instans yang tersedia untuk memenuhi kebutuhan kapasitas. Kebijakan ini berlaku untuk kapasitas sesuai permintaan maupun spot. Parameter ini hanya efektif ketika MultiAZPolicy diatur ke COMPOSABLE. Nilai valid:
Nilai default: priority. |
SpotAllocationStrategy | String | Tidak | lowestPrice | Kebijakan distribusi untuk kapasitas spot. Anda dapat menggunakan parameter ini untuk menentukan secara terpisah kebijakan distribusi untuk kapasitas spot. Parameter ini hanya efektif ketika MultiAZPolicy diatur ke COMPOSABLE. Nilai valid:
Nilai default: priority. |
MaxInstanceLifetime | Integer | Tidak | null | Umur maksimum instans dalam grup penskalaan. Satuan: detik. Nilai valid: 0 atau nilai dalam rentang [ Nilai default: null. Catatan Parameter ini tidak didukung untuk grup penskalaan tipe ECI atau untuk grup penskalaan dengan Mode Ekonomis diaktifkan. |
CustomPolicyARN | String | Tidak | acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name | ARN fungsi kebijakan penskalaan masuk kustom. Ini hanya efektif ketika kebijakan penghapusan pertama dalam RemovalPolicies diatur ke CustomPolicy. |
DisableDesiredCapacity | Boolean | Tidak | false | Menentukan apakah akan menonaktifkan fitur jumlah instans yang diharapkan untuk grup penskalaan. Nilai valid:
|
ScalingPolicy | String | Tidak | recycle | Mode reklamasi grup penskalaan. Nilai valid:
ScalingPolicy menentukan mode reklamasi grup penskalaan. Tindakan spesifik yang diambil saat instans dihapus dari grup penskalaan ditentukan oleh parameter RemovePolicy dari API RemoveInstances. Untuk informasi lebih lanjut, lihat RemoveInstances. |
HealthCheckTypes.N | String | Tidak | ECS | Daftar mode pemeriksaan kesehatan untuk grup penskalaan. Nilai valid:
Nilai default: ECS. |
StopInstanceTimeout | Integer | Tidak | 60 | Waktu tunggu maksimum agar instans ECS berhasil dihentikan selama proses skala-masuk. Satuan: detik. Nilai valid: 30 hingga 240. Catatan
|
CapacityOptions.OnDemandBaseCapacity | Integer | Tidak | 30 | Jumlah minimum instans sesuai permintaan yang diperlukan dalam grup penskalaan yang sudah ada. Ketika jumlah instans sesuai permintaan dalam grup penskalaan kurang dari nilai ini, sistem terlebih dahulu membuat instans sesuai permintaan. Nilai valid: 0 hingga 1000. Ketika parameter |
CapacityOptions.OnDemandPercentageAboveBaseCapacity | Integer | Tidak | 20 | Persentase instans sesuai permintaan di antara instans yang melebihi Ketika parameter |
CapacityOptions.CompensateWithOnDemand | Boolean | Tidak | true | Ketika
|
CapacityOptions.SpotAutoReplaceOnDemand | Boolean | Tidak | true | Setelah
Nilai default: false. |
CapacityOptions.PriceComparisonMode | String | Tidak | PricePerUnit | Mode perbandingan harga untuk kebijakan optimalisasi biaya grup penskalaan. Nilai valid:
Nilai default: PricePerUnit. |
BalanceMode | String | Tidak | BalancedBestEffort | Mode penyeimbangan zona. Ini hanya efektif ketika penyeimbangan zona diaktifkan. Nilai valid:
Nilai default: BalancedBestEffort. |
AutoRebalance | Boolean | Tidak | false | Menentukan apakah akan mengaktifkan penyeimbangan ulang otomatis untuk grup penskalaan. Ini hanya efektif ketika BalancedOnly diaktifkan untuk grup penskalaan dengan penyeimbangan zona. Nilai valid:
Nilai default: false. |
Parameter respons
Parameter | Tipe | Contoh | Deskripsi |
RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** | ID permintaan. |
Contoh
Permintaan contoh
http(s)://ess.aliyuncs.com/?Action=ModifyScalingGroup
&ScalingGroupId=asg-bp1ffogfdauy0jw0****
&ScalingGroupName=scalinggroup****
&MinSize=1
&MaxSize=99
&DefaultCooldown=600
&RemovalPolicy.1=OldestScalingConfiguration
&RemovalPolicy.2=NewestInstance
&RemovalPolicy.3=OldestInstance
&ActiveScalingConfigurationId=asc-bp17pelvl720x5ub****
&HealthCheckType=ECS
&LaunchTemplateId=lt-m5e3ofjr1zn1aw7****
&LaunchTemplateVersion=Default
&OnDemandBaseCapacity=30
&OnDemandPercentageAboveBaseCapacity=20
&SpotInstanceRemedy=true
&CompensateWithOnDemand=true
&SpotInstancePools=5
&DesiredCapacity=5
&GroupDeletionProtection=true
&MultiAZPolicy=PRIORITY
&VSwitchIds=["vsw-bp1oo2a7isyrb8igf****"]
&LaunchTemplateOverride=[{"InstanceType":"ecs.c5.xlarge","WeightedCapacity":4,"SpotPriceLimit":0.025}]
&AzBalance=false
&AllocationStrategy=priority
&SpotAllocationStrategy=lowestPrice
&CustomPolicyARN=acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name
&DisableDesiredCapacity=false
&ScalingPolicy=recycle
&HealthCheckTypes=["ECS"]
&StopInstanceTimeout=60
&CapacityOptions={"OnDemandBaseCapacity":30,"OnDemandPercentageAboveBaseCapacity":20,"CompensateWithOnDemand":true,"SpotAutoReplaceOnDemand":true}
&Common request parametersRespons sukses contoh
XML format
HTTP/1.1 200 OK
Content-Type:application/xml
<ModifyScalingGroupResponse>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</ModifyScalingGroupResponse>JSON format
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}Kode kesalahan
Untuk informasi lebih lanjut tentang kode kesalahan, lihat Error Center.
Kode status HTTP | Kode kesalahan | Pesan kesalahan | Deskripsi |
404 | InvalidScalingGroupId.NotFound | Grup penskalaan yang ditentukan tidak ada. | Grup penskalaan yang ditentukan tidak ada dalam akun Anda. |
400 | InvalidScalingGroupName.Duplicate | Nilai parameter
duplikat. | Nama grup penskalaan sudah ada. |
404 | InvalidScalingConfigurationId.NotFound | Konfigurasi penskalaan yang ditentukan tidak ada. | Konfigurasi penskalaan yang ditentukan tidak ada dalam grup penskalaan. |
400 | InvalidScalingConfigurationId.InstanceTypeMismatch | Konfigurasi penskalaan yang ditentukan dan konfigurasi penskalaan aktif yang ada memiliki tipe instans berbeda. | Tipe instans dari konfigurasi penskalaan yang ditentukan tidak sesuai dengan tipe instans dari konfigurasi penskalaan aktif. |
400 | InvalidParameter.Conflict | Nilai parameter
dan parameter
saling bertentangan. | MinSize yang ditentukan lebih besar dari MaxSize. |
400 | LaunchTemplateVersionSet.NotFound | Versi template peluncuran yang ditentukan tidak ada. | Versi template peluncuran yang ditentukan tidak ada. |
400 | LaunchTemplateSet.NotFound | Template peluncuran yang ditentukan tidak ditemukan. | Template peluncuran yang ditentukan tidak ada. |
400 | TemplateMissingParameter.ImageId | Parameter input "ImageId" yang wajib untuk memproses permintaan ini tidak disediakan. | Versi template peluncuran yang ditentukan tidak memiliki informasi gambar. |
400 | TemplateMissingParameter.InstanceTypes | Parameter input "InstanceTypes" yang wajib untuk memproses permintaan ini tidak disediakan. | Versi template peluncuran yang ditentukan tidak memiliki informasi tipe instans. |
400 | TemplateMissingParameter.SecurityGroup | Parameter input "SecurityGroup" yang wajib untuk memproses permintaan ini tidak disediakan. | Versi template peluncuran yang ditentukan tidak memiliki informasi security group. |
400 | TemplateVersion.NotNumber | Parameter input "LaunchTemplateVersion" seharusnya berupa string yang merepresentasikan nomor versi. | Nomor versi tetap template peluncuran yang ditentukan harus berupa angka. |