Menambahkan instans ke grup penskalaan. Anda dapat memanggil operasi AttachInstances untuk menambahkan instance Elastic Compute Service (ECS), instance kontainer elastis, atau instance pihak ketiga yang dikelola oleh Alibaba Cloud ke grup penskalaan Anda guna menyediakan layanan. Operasi ini juga dapat digunakan untuk me-restart instance ECS yang dihentikan dalam Mode Hemat di grup penskalaan agar kembali menyediakan layanan.
Catatan penggunaan
Sebelum memanggil operasi ini, pastikan persyaratan berikut terpenuhi:
Grup penskalaan berada dalam status Active.
Grup penskalaan tidak memiliki aktivitas penskalaan yang sedang berlangsung.
Jika Anda ingin menambahkan instance ECS atau instance kontainer elastis ke grup penskalaan, perhatikan hal-hal berikut:
Instans harus berada di wilayah yang sama dengan grup penskalaan.
Instans harus berada dalam status Running.
Instans tidak boleh menjadi bagian dari grup penskalaan lain.
Instans harus ditagih berdasarkan subscription atau pay-as-you-go, atau merupakan spot instans.
Jika VswitchID ditentukan untuk grup penskalaan, instans yang berada di jaringan klasik atau instans yang tidak berada di virtual private cloud (VPC) yang sama dengan vSwitch yang ditentukan tidak dapat ditambahkan ke grup penskalaan.
Jika VswitchID tidak ditentukan untuk grup penskalaan, instans yang berada di VPC tidak dapat ditambahkan ke grup penskalaan.
Jika Anda ingin menambahkan instans terkelola ke grup penskalaan, perhatikan hal-hal berikut:
Instans terkelola harus berada di wilayah yang sama dengan grup penskalaan.
Instans terkelola tidak boleh menjadi bagian dari grup penskalaan lain.
Instans terkelola tidak mendukung fitur lifecycle hook, penyambungan ke Server Load Balancer (SLB), dan pemeriksaan kesehatan.
Setelah Anda menambahkan instans terkelola ke grup penskalaan tipe ECS, grup penskalaan tidak mengelola siklus hidup instans terkelola tersebut.
Anda hanya dapat menambahkan atau menghapus instans terkelola dari grup penskalaan secara manual. Instans terkelola yang dihapus dari grup penskalaan tidak akan dilepas (released).
Saat menggunakan operasi ini, perhatikan hal-hal berikut:
Jika grup penskalaan tidak memiliki aktivitas penskalaan yang sedang berlangsung, operasi dapat dieksekusi tanpa menunggu periode cooldown berakhir.
Pemanggilan yang berhasil menunjukkan bahwa Auto Scaling telah menerima permintaan, tetapi tidak menjamin keberhasilan aktivitas penskalaan. Anda dapat memperoleh status aktivitas penskalaan berdasarkan nilai kembali ScalingActivityId.
Jumlah total instans dalam grup penskalaan tidak boleh melebihi batas maksimum setelah operasi dipanggil. Jika tidak, operasi akan gagal.
Instance ECS, instance kontainer elastis, atau instans terkelola yang Anda tambahkan secara manual ke grup penskalaan melalui operasi ini tidak dikaitkan dengan konfigurasi penskalaan aktif dari grup penskalaan tersebut.
Debugging
Parameter permintaan
Parameter | Tipe | Wajib | Contoh | Deskripsi |
Action | String | Ya | AttachInstances | Operasi yang ingin Anda lakukan. Tetapkan nilainya ke AttachInstances. |
ScalingGroupId | String | Ya | asg-bp18p2yfxow2dloq**** | ID grup penskalaan. |
Entrusted | Boolean | Tidak | false | Menentukan apakah grup penskalaan dapat mengelola siklus hidup instans yang ditambahkan secara manual. Nilai yang valid:
Catatan Anda tidak dapat menentukan parameter ini untuk instans subscription, instans terkelola, atau instans yang dihentikan dalam Mode Hemat. Nilai default: false. |
InstanceId.N | String | Tidak | i-28wt4**** | ID instans N yang ingin Anda tambahkan ke grup penskalaan. Instans N dapat berupa instance ECS, instance kontainer elastis, instans terkelola, atau instans yang dihentikan dalam Mode Hemat. Nilai N yang valid: 1 hingga 20. Contoh ID instans:
Catatan Anda hanya dapat menambahkan instans dengan tipe yang sama dalam setiap pemanggilan. |
LoadBalancerWeight.N | Integer | Tidak | 50 | Bobot penyeimbangan beban untuk instance ECS N atau instance kontainer elastis N. Nilai N yang valid: 1 hingga 20. Nilai parameter ini yang valid: 1 hingga 100. Catatan Anda tidak dapat menentukan parameter ini untuk instans terkelola atau instans yang dihentikan dalam Mode Hemat. Nilai default: 50. |
LifecycleHook | Boolean | Tidak | false | Menentukan apakah akan memicu lifecycle hook saat instans ditambahkan ke grup penskalaan. Nilai yang valid:
Catatan Anda tidak dapat menentukan parameter ini untuk instans terkelola atau instans yang dihentikan dalam Mode Hemat. Nilai default: false. |
RegionId | String | Tidak | cn-qingdao | ID wilayah grup penskalaan. |
ClientToken | String | Tidak | 123e4567-e89b-12d3-a456-42665544**** | Token klien yang digunakan untuk memastikan idempotensi permintaan. Anda dapat membuat token di sisi klien, tetapi harus memastikan token tersebut unik di antara permintaan yang berbeda. Token hanya boleh berisi karakter ASCII dan panjangnya tidak boleh lebih dari 64 karakter. Untuk informasi selengkapnya, lihat Ensure idempotence. |
IgnoreInvalidInstance | Boolean | Tidak | false | Menentukan apakah akan mengabaikan instans yang tidak valid saat Anda menambahkan sejumlah instans ke grup penskalaan. Nilai yang valid:
Nilai default: false. |
Parameter respons
Parameter | Tipe | Contoh | Deskripsi |
ScalingActivityId | String | asa-bp1crxor24s28xf1**** | ID aktivitas penskalaan. |
RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** | ID permintaan. |
Contoh
Contoh permintaan
http(s)://ess.aliyuncs.com/?Action=AttachInstances
&ScalingGroupId=asg-bp18p2yfxow2dloq****
&Entrusted=false
&InstanceId=["i-28wt4****"]
&LoadBalancerWeight=[50]
&LifecycleHook=false
&RegionId=cn-qingdao
&ClientToken=123e4567-e89b-12d3-a456-42665544****
&IgnoreInvalidInstance=false
&<Common request parameters>Contoh respons sukses
XML format
HTTP/1.1 200 OK
Content-Type:application/xml
<AttachInstancesResponse>
<ScalingActivityId>asa-bp1crxor24s28xf1****</ScalingActivityId>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</AttachInstancesResponse>JSON format
HTTP/1.1 200 OK
Content-Type:application/json
{
"ScalingActivityId" : "asa-bp1crxor24s28xf1****",
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}Kode kesalahan
Untuk daftar kode kesalahan, lihat Service error codes.
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. |
403 | Forbidden.Unauthorized | A required authorization for the specified action is not supplied. | Auto Scaling tidak memiliki otorisasi untuk memanggil operasi ini. |
400 | IncorrectScalingGroupStatus | The current status of the specified scaling group does not support this action. | Grup penskalaan yang ditentukan tidak berada dalam status Active. |
404 | InvalidInstanceId.NotFound | Instance "XXX" does not exist. | Instance ECS atau instance kontainer elastis yang ditentukan tidak ada dalam Akun Alibaba Cloud. |
400 | InvalidInstanceId. RegionMismatch | Instance "XXX" and the specified scaling group are not in the same Region. | Instance ECS atau instance kontainer elastis yang ditentukan tidak berada di wilayah yang sama dengan grup penskalaan yang ditentukan. |
400 | InvalidInstanceId.InstanceTypeMismatch | Instance "XXX" and existing Active scaling configurations have different instance types. | Tipe instans dari instance ECS atau instance kontainer elastis yang ditentukan berbeda dengan tipe instans dalam konfigurasi penskalaan aktif. |
400 | IncorrectInstanceStatus | The current status of instance "XXX" does not support this action. | Instance ECS atau instance kontainer elastis yang ditentukan tidak berada dalam status Running. |
400 | InvalidInstanceId. NetworkTypeMismatch | The network type of instance "XXX" does not support this action. | Jenis jaringan dari instance ECS atau instance kontainer elastis yang ditentukan berbeda dengan jenis jaringan grup penskalaan. |
400 | InvalidInstanceId.VPCMismatch | Instance "XXX" and the specified scaling group are not in the same VPC. | Instance ECS atau instance kontainer elastis yang ingin Anda tambahkan tidak berada di VPC yang sama dengan grup penskalaan yang ditentukan. |
400 | InvalidInstanceId.InUse | Instance "XXX" is already attached to another scaling group. | Instance ECS atau instance kontainer elastis yang ditentukan termasuk dalam grup penskalaan lain. |
400 | ScalingActivityInProgress | You cannot delete a scaling group or launch a new scaling activity while there is a scaling activity in progress for the specified scaling group. | Grup penskalaan yang ditentukan memiliki aktivitas penskalaan yang sedang berlangsung. |
400 | IncorrectLoadBalancerStatus | The current status of the specified load balancer does not support this action. | Load balancer yang dikaitkan dengan grup penskalaan yang ditentukan tidak berada dalam status Active. |
400 | IncorrectLoadBalancerHealthCheck | The current health check type of specified load balancer does not support this action. | Fitur pemeriksaan kesehatan dinonaktifkan untuk load balancer yang dikaitkan dengan grup penskalaan yang ditentukan. |
400 | InvalidLoadBalancerId.IncorrectInstanceNetworkType | The network type of the instance in specified load balancer does not support this action. | Jenis jaringan dari instance ECS atau instance kontainer elastis yang dikaitkan dengan load balancer yang ditentukan berbeda dengan jenis jaringan grup penskalaan. |
400 | InvalidLoadBalancerId.VPCMismatch | The specified virtual switch and the instance in specified load balancer are not in the same VPC. | Instance ECS atau instance kontainer elastis yang dikaitkan dengan load balancer yang ditentukan tidak berada di VPC yang sama dengan vSwitch yang ditentukan oleh VSwitchId. |
400 | IncorrectDBInstanceStatus | The current status of DB instance "XXX" does not support this action. | Instance ApsaraDB RDS yang dikaitkan dengan grup penskalaan yang ditentukan tidak berada dalam status Running. |
400 | QuotaExceeded.DBInstanceSecurityIP | Security IP quota exceeded in DB instance "XXX". | Jumlah maksimum alamat IP dalam daftar putih alamat IP instance ApsaraDB RDS yang dikaitkan dengan grup penskalaan yang ditentukan telah tercapai. |
400 | QuotaExceeded.SecurityGroupInstance | Instance quota exceeded in the specified security group. | Jumlah maksimum instance ECS atau instance kontainer elastis yang dapat dikaitkan dengan security group yang ditentukan telah tercapai. |
400 | IncorrectCapacity.MaxSize | To attach the instances, the total capacity will be greater than the MaxSize. | Jumlah total instance ECS atau instance kontainer elastis yang ditentukan oleh Total Capacity melebihi nilai MaxSize. |