All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::ESS::ScalingGroup

Last Updated:Nov 11, 2025

Anda dapat menggunakan sumber daya ALIYUN::ESS::ScalingGroup untuk membuat grup penskalaan. Grup penskalaan merupakan kumpulan instance ECS yang digunakan dalam skenario aplikasi yang sama. Grup penskalaan tidak langsung berlaku setelah dibuat; Anda harus menggunakan ALIYUN::ESS::ScalingGroupEnable untuk mengaktifkannya. Setelah diaktifkan, grup penskalaan dapat memicu aktivitas penskalaan dan mengeksekusi aturan penskalaan.

Sintaks

{
  "Type": "ALIYUN::ESS::ScalingGroup",
  "Properties": {
    "MultiAZPolicy": String,
    "DesiredCapacity": Integer,
    "NotificationConfigurations": List,
    "ProtectedInstances": List,
    "LaunchTemplateId": String,
    "LaunchTemplateVersion": String,
    "ScalingGroupName": String,
    "VSwitchIds": List,
    "DefaultCooldown": Integer,
    "MinSize": Integer,
    "GroupDeletionProtection": Boolean,
    "MaxSize": Integer,
    "InstanceId": String,
    "VSwitchId": String,
    "LoadBalancerIds": List,
    "StandbyInstances": List,
    "RemovalPolicys": List,
    "HealthCheckType": String,
    "DBInstanceIds": List,
    "Tags": List,
    "OnDemandPercentageAboveBaseCapacity": Integer,
    "CompensateWithOnDemand": Boolean,
    "ContainerGroupId": String,
    "ScalingPolicy": String,
    "SpotInstanceRemedy": Boolean,
    "SpotInstancePools": Integer,
    "OnDemandBaseCapacity": Integer,
    "GroupType": String,
    "LaunchTemplateOverrides": List,
    "AllocationStrategy": String,
    "AzBalance": Boolean,
    "MaxInstanceLifetime": Integer,
    "CustomPolicyARN": String,
    "SpotAllocationStrategy": String,
    "HealthCheckTypes": List,
    "ServerGroups": List,
    "ResourceGroupId": String
  }
}

Properti

Nama properti

Tipe

Diperlukan

Dapat diperbarui

Deskripsi

Batasan

MinSize

Integer

Ya

Ya

Jumlah minimum instance ECS dalam grup penskalaan.

Nilai valid: 0 hingga 1000.

Jika jumlah instance ECS dalam grup penskalaan kurang dari nilai MinSize, Penyesuaian Skala Otomatis secara otomatis membuat instance ECS.

MaxSize

Integer

Ya

Ya

Jumlah maksimum instance ECS dalam grup penskalaan.

Nilai valid: 0 hingga 1000.

Jika jumlah instance ECS dalam grup penskalaan lebih besar dari nilai MaxSize, Penyesuaian Skala Otomatis secara otomatis menghapus instance ECS.

ScalingGroupName

String

Tidak

Ya

Nama tampilan grup penskalaan.

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

Nama harus unik dalam wilayah yang sama dan di bawah akun Alibaba Cloud yang sama.

Nilai default: ID grup penskalaan.

LaunchTemplateId

String

Tidak

Ya

ID templat peluncuran. Grup penskalaan menggunakan templat peluncuran untuk mendapatkan informasi konfigurasi pembuatan instance.

Tidak ada

LaunchTemplateVersion

String

Tidak

Ya

Versi templat peluncuran ECS.

Nilai valid:

  • Nomor versi templat tetap.

  • Default: Versi default templat selalu digunakan.

  • Latest: Versi terbaru templat selalu digunakan.

RemovalPolicys

List

Tidak

Ya

Kebijakan untuk menghapus instance ECS dari grup penskalaan.

Nilai valid:

  • OldestInstance (Default): Menghapus instance ECS yang ditambahkan ke grup penskalaan pada waktu paling awal.

  • NewestInstance: Menghapus instance ECS yang ditambahkan ke grup penskalaan pada waktu paling akhir.

  • OldestScalingConfiguration (Default): Menghapus instance ECS yang dibuat berdasarkan konfigurasi penskalaan paling awal.

VSwitchId

String

Tidak

Ya

ID vSwitch.

Tidak ada

LoadBalancerIds

List

Tidak

Ya

ID instance SLB.

Anda dapat menentukan larik JSON yang berisi ID beberapa instance SLB. Anda dapat menentukan hingga lima ID. Pisahkan ID dengan koma (,).

DefaultCooldown

Integer

Tidak

Ya

Waktu pendinginan setelah aktivitas penskalaan selesai.

Nilai valid: 0 hingga 86.400.

Unit: detik.

Nilai default: 300.

Selama waktu pendinginan, grup penskalaan tidak menjalankan aktivitas penskalaan lainnya. Ini hanya berlaku untuk aktivitas penskalaan yang dipicu oleh tugas berbasis peristiwa yang dibuat di CloudMonitor.

DBInstanceIds

List

Tidak

Ya

ID instance ApsaraDB RDS.

Anda dapat menentukan larik JSON yang berisi ID beberapa instance RDS. Anda dapat menentukan hingga delapan ID. Pisahkan ID dengan koma (,).

VSwitchIds

List

Tidak

Ya

ID beberapa vSwitch.

Anda dapat menentukan hingga lima ID vSwitch. Jika Anda menentukan VSwitchIds, parameter VSwitchId akan diabaikan. vSwitch diprioritaskan sesuai urutan yang ditentukan. Jika instance ECS tidak dapat dibuat di zona tempat vSwitch prioritas lebih tinggi berada, vSwitch prioritas berikutnya akan digunakan secara otomatis.

MultiAZPolicy

String

Tidak

Ya

Kebijakan penskalaan untuk instance ECS dalam grup penskalaan multi-zona.

Nilai valid:

  • PRIORITY: Menskalakan instance berdasarkan vSwitch yang Anda definisikan. Jika instance ECS tidak dapat dibuat di zona tempat vSwitch prioritas lebih tinggi berada, vSwitch prioritas berikutnya akan digunakan secara otomatis.

  • BALANCE: Mendistribusikan instance ECS secara merata di seluruh zona yang ditentukan untuk grup penskalaan.

  • COST_OPTIMIZED: Mencoba membuat instance dalam urutan naik harga satuan vCPU. Jika beberapa tipe instance ditentukan dengan metode penagihan spot dalam konfigurasi penskalaan, sistem memprioritaskan pembuatan instance spot yang sesuai. Jika instance spot tidak dapat dibuat karena alasan seperti stok tidak mencukupi, sistem secara otomatis mencoba membuat instance berbayar sesuai penggunaan.

NotificationConfigurations

List

Tidak

Ya

Daftar konfigurasi untuk notifikasi peristiwa dan perubahan sumber daya.

Untuk informasi lebih lanjut, lihat Properti NotificationConfigurations.

ProtectedInstances

List

Tidak

Ya

Jumlah instance ECS yang dilindungi dalam grup penskalaan.

Anda dapat menentukan hingga 1.000 instance.

StandbyInstances

List

Tidak

Ya

Jumlah instance ECS standby dalam grup penskalaan.

Anda dapat menentukan hingga 1.000 instance.

HealthCheckTypes

List

Tidak

Ya

Daftar jenis pemeriksaan kesehatan untuk grup penskalaan.

Nilai valid:

  • NONE: Tidak ada pemeriksaan kesehatan yang dilakukan.

  • ECS: Melakukan pemeriksaan kesehatan pada instance dalam grup penskalaan. Nilai ini digunakan untuk mengaktifkan pemeriksaan kesehatan instance baik untuk grup penskalaan ECS maupun ECI.

  • LOAD_BALANCER: Menentukan status kesehatan instance berdasarkan hasil pemeriksaan kesehatan load balancer. CLB tidak didukung.

HealthCheckType

String

Tidak

Ya

Jenis pemeriksaan kesehatan.

Nilai valid:

  • ECS

  • NONE

GroupDeletionProtection

Boolean

Tidak

Ya

Menentukan apakah akan mengaktifkan perlindungan penghapusan untuk grup penskalaan.

Nilai valid:

  • true: Mengaktifkan perlindungan penghapusan. Grup penskalaan tidak dapat dihapus.

  • false (Default): Menonaktifkan perlindungan penghapusan.

DesiredCapacity

Integer

Tidak

Ya

Jumlah instance ECS yang diharapkan dalam grup penskalaan. Penyesuaian Skala Otomatis secara otomatis mempertahankan jumlah instance ECS pada nilai ini.

Nilai harus lebih besar dari atau sama dengan MinSize dan kurang dari atau sama dengan MaxSize.

InstanceId

String

Tidak

Tidak

ID instance ECS. Saat Anda membuat grup penskalaan, sistem mendapatkan informasi konfigurasi yang diperlukan dari instance yang ditentukan dan secara otomatis membuat konfigurasi penskalaan.

Tidak ada

Tags

List

Tidak

Ya

Tag.

Anda dapat menambahkan hingga 20 tag.

Untuk informasi lebih lanjut, lihat Properti Tags.

OnDemandPercentageAboveBaseCapacity

Integer

Tidak

Ya

Persentase instance sesuai permintaan di antara instance yang melebihi kapasitas dasar.

Setelah grup penskalaan memenuhi jumlah minimum instance sesuai permintaan (OnDemandBaseCapacity), parameter ini menentukan persentase instance sesuai permintaan di antara instance tambahan.

Nilai valid: 0 hingga 100.

CompensateWithOnDemand

Boolean

Tidak

Ya

Menentukan apakah instance sesuai permintaan dibuat secara otomatis untuk memenuhi jumlah instance ECS yang diperlukan.

Parameter ini hanya berlaku ketika MultiAZPolicy diatur ke COST_OPTIMIZED. Parameter ini menentukan apakah instance sesuai permintaan dibuat secara otomatis untuk memenuhi jumlah instance ECS yang diperlukan jika instance spot yang cukup tidak dapat dibuat karena alasan seperti harga atau stok.

Nilai valid:

  • true (Default): Ya.

  • false: Tidak.

ContainerGroupId

String

Tidak

Tidak

ID instance ECI.

Tidak ada

ScalingPolicy

String

Tidak

Tidak

Mode reklamasi grup penskalaan.

Nilai valid:

  • recycle: Instance dihentikan.

  • release: Instance dilepas.

Parameter ScalingPolicy menentukan mode reklamasi grup penskalaan. Namun, tindakan spesifik yang diambil saat instance dihapus dari grup penskalaan ditentukan oleh parameter RemovePolicy operasi RemoveInstances. Untuk informasi selengkapnya, lihat RemoveInstances.

SpotInstanceRemedy

Boolean

Tidak

Ya

Menentukan apakah instance spot tambahan diaktifkan.

Nilai valid:

  • true: Mengaktifkan instance spot tambahan.

    Jika diaktifkan, jika sistem menerima pesan bahwa instance spot akan segera direklamasi, grup penskalaan mencoba membuat instance baru untuk menggantikan instance spot yang direklamasi.

  • false: Menonaktifkan instance spot tambahan.

SpotInstancePools

Integer

Tidak

Ya

Jumlah jenis instance yang tersedia.

Grup penskalaan membuat instance spot secara seimbang di beberapa tipe instance dengan biaya terendah.

Nilai valid: 1 hingga 10.

OnDemandBaseCapacity

Integer

Tidak

Ya

Jumlah minimum instance sesuai permintaan yang diperlukan oleh grup penskalaan.

Nilai valid: 0 hingga 1000.

Jika jumlah instance sesuai permintaan kurang dari nilai ini, sistem memprioritaskan pembuatan instance sesuai permintaan.

GroupType

String

Tidak

Tidak

Tipe instance yang dikelola oleh grup penskalaan.

Nilai valid:

  • ECS (Default): Grup penskalaan mengelola instance ECS.

  • ECI: Grup penskalaan mengelola instance ECI.

LaunchTemplateOverrides

List

Tidak

Ya

Informasi tentang tipe instance yang memperluas templat peluncuran.

Tidak ada

AllocationStrategy

String

Tidak

Ya

Kebijakan alokasi kapasitas.

Menentukan bagaimana grup penskalaan memilih tipe instance yang tersedia untuk memenuhi kebutuhan kapasitas. Kebijakan alokasi kapasitas berlaku untuk kapasitas On-Demand dan preemptible. Kebijakan ini hanya berlaku ketika parameter MultiAZPolicy diatur ke COMPOSABLE.

Nilai valid:

  • priority (Default): Membuat instance sesuai urutan tipe instance yang dikonfigurasi.

  • lowestPrice: Membuat instance dalam urutan naik harga satuan vCPU dari tipe instance.

AzBalance

Boolean

Tidak

Ya

Menentukan apakah kapasitas grup penskalaan didistribusikan secara merata di beberapa zona.

Parameter ini hanya berlaku ketika parameter MultiAZPolicy diatur ke COMPOSABLE.

Nilai valid:

  • true: Kapasitas grup penskalaan didistribusikan secara merata di beberapa zona.

  • false (Default): Kapasitas grup penskalaan tidak didistribusikan secara merata di beberapa zona.

MaxInstanceLifetime

Integer

Tidak

Ya

Masa pakai maksimum instance dalam grup penskalaan.

Unit: detik.

Nilai valid: 86400 hingga Integer.maxValue.

Nilai default: null.

CustomPolicyARN

String

Tidak

Ya

ARN fungsi kebijakan penskalaan masuk kustom.

Parameter ini hanya berlaku ketika kebijakan penghapusan pertama dalam RemovalPolicies diatur ke CustomPolicy.

SpotAllocationStrategy

String

Tidak

Ya

Kebijakan alokasi untuk kapasitas spot.

Gunakan parameter ini untuk menentukan strategi distribusi secara terpisah untuk kapasitas spot (hanya berlaku ketika parameter MultiAZPolicy diatur ke COMPOSABLE).

Nilai valid:

  • priority (Default): Membuat instance sesuai urutan tipe instance yang dikonfigurasi.

  • lowestPrice: Membuat instance dalam urutan naik harga satuan vCPU dari tipe instance.

ServerGroups

List

Tidak

Tidak

Konfigurasi grup server Server Load Balancer.

Untuk informasi lebih lanjut, lihat Properti ServerGroups.

ResourceGroupId

String

Tidak

Ya

ID grup sumber daya.

Tidak ada

Sintaks ServerGroups

"ServerGroups": [
  {
    "Type": String,
    "ServerGroupId": String,
    "Weight": Number,
    "Port": Number
  }
]  

Properti ServerGroups

Nama properti

Tipe

Diperlukan

Dapat diperbarui

Deskripsi

Batasan

Type

String

Ya

Tidak

Tipe grup server Server Load Balancer.

Nilai valid:

  • ALB: Application Load Balancer.

  • NLB: Network Load Balancer.

ServerGroupId

String

Ya

Tidak

ID grup server Server Load Balancer.

Tidak ada

Weight

Number

Ya

Tidak

Bobot instance ECS atau ECI sebagai server backend.

Nilai valid: 0 hingga 100.

Bobot yang lebih tinggi menunjukkan bahwa instance ECS atau ECI dialokasikan lebih banyak permintaan akses. Jika bobotnya 0, instance ECS atau ECI tidak menerima permintaan akses.

Port

Number

Ya

Tidak

Nomor port yang digunakan oleh instance ECS atau ECI.

Nilai valid: 1 hingga 65535.

Sintaks NotificationConfigurations

"NotificationConfigurations": [
  {
    "NotificationArn": String,
    "NotificationTypes": List
  }
]  

Properti NotificationConfigurations

Nama properti

Tipe

Diperlukan

Dapat diperbarui

Deskripsi

Batasan

NotificationArn

String

Ya

Tidak

Pengidentifikasi penerima notifikasi untuk kait siklus hidup. Mendukung antrian atau topik Simple Message Queue (formerly MNS).

Nilai valid:

  • Antrian SMQ ditentukan dalam format berikut: acs:ess:{region}:{account-id}:queue/{queuename}.

  • Topik SMQ memiliki format acs:ess:{region}:{account-id}:topic/{topicname}.

NotificationTypes

List

Ya

Tidak

Jenis notifikasi untuk peristiwa Penyesuaian Skala Otomatis dan perubahan sumber daya.

Tidak ada

Sintaks Tags

"Tags": [
  {
    "Key": String,
    "Value": String
  }
]  

Properti Tags

Nama properti

Tipe

Diperlukan

Dapat diperbarui

Deskripsi

Batasan

Key

String

Ya

Tidak

Kunci tag.

Kunci harus terdiri dari 1 hingga 128 karakter. Kunci tidak boleh dimulai dengan aliyun atau acs: dan tidak boleh mengandung http:// atau https://.

Value

String

Tidak

Tidak

Nilai tag.

Nilai dapat terdiri dari 0 hingga 128 karakter. Nilai tidak boleh dimulai dengan aliyun atau acs: dan tidak boleh mengandung http:// atau https://.

Sintaks LaunchTemplateOverrides

"LaunchTemplateOverrides": [
  {
    "InstanceType": String,
    "WeightedCapacity": Integer,
    "SpotPriceLimit": Number
  }
]  

Properti LaunchTemplateOverrides

Nama properti

Tipe

Diperlukan

Dapat diperbarui

Deskripsi

Batasan

InstanceType

String

Tidak

Ya

Jenis instance ECS.

Jika Anda ingin grup penskalaan melakukan penskalaan berdasarkan kapasitas tipe instans, tentukan parameter ini dan LaunchTemplateOverrides.WeightedCapacity.

Parameter ini menentukan tipe instans dan mengganti tipe instans dalam templat peluncuran.

Catatan

Parameter ini hanya berlaku ketika templat peluncuran ditentukan oleh parameter LaunchTemplateId.

WeightedCapacity

Integer

Tidak

Ya

Bobot jenis instance.

Jika Anda ingin grup penskalaan melakukan penskalaan berdasarkan kapasitas tipe instans, tentukan LaunchTemplateOverrides.InstanceType lalu tentukan parameter ini.

Parameter ini menentukan bobot tipe instans, yang merepresentasikan kapasitas satu instans tipe tersebut dalam grup penskalaan. Bobot yang lebih tinggi berarti lebih sedikit instans tipe tersebut yang diperlukan untuk memenuhi kapasitas yang diharapkan.

Anda dapat mengatur bobot berbeda untuk tipe instans berbeda berdasarkan metrik performanya, seperti jumlah vCPU dan ukuran memori.

Contohnya:

  • Kapasitas saat ini: 0.

  • Kapasitas yang diharapkan: 6.

  • Kapasitas ecs.c5.xlarge: 4.

Untuk memenuhi kapasitas yang diharapkan, grup penskalaan akan memperluas kapasitas dua instans ecs.c5.xlarge.

Nilai valid: 1 hingga 500.

Catatan

Saat memperluas kapasitas, kapasitas grup penskalaan tidak boleh melebihi jumlah kapasitas maksimum (MaxSize) dan bobot maksimum tipe instans.

SpotPriceLimit

Number

Tidak

Ya

Harga maksimum untuk instans spot.

Parameter ini menentukan harga maksimum untuk instans spot dari tipe instans yang ditentukan oleh LaunchTemplateOverrides.InstanceType.

Catatan

Parameter ini hanya berlaku ketika templat peluncuran ditentukan oleh parameter LaunchTemplateId.

Nilai kembalian

Fn::GetAtt

  • ScalingGroupId: ID grup penskalaan.

  • ScalingGroupName: Nama grup penskalaan.

  • Arn: Nama Sumber Daya Alibaba Cloud (ARN).

Contoh

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  VSwitch:
    AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
    Type: String
    Label:
      zh-cn: VSwitch ID
      en: VSwitch ID
  LaunchTemplateId:
    AssociationProperty: ALIYUN::ECS::LaunchTemplate::LaunchTemplateId
    Type: String
Resources:
  ScalingGroup:
    Type: ALIYUN::ESS::ScalingGroup
    Properties:
      VSwitchId:
        Ref: VSwitch
      LaunchTemplateId:
        Ref: LaunchTemplateId
      MaxSize: 3
      ScalingGroupName: TestScalingGroup
      MinSize: 0
Outputs:
  ScalingGroupId:
    Description: ID grup penskalaan.
    Value:
      Fn::GetAtt:
        - ScalingGroup
        - ScalingGroupId
  ScalingGroupName:
    Description: Nama grup penskalaan.
    Value:
      Fn::GetAtt:
        - ScalingGroup
        - ScalingGroupName
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "VSwitch": {
      "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
      "Type": "String",
      "Label": {
        "zh-cn": "VSwitch ID",
        "en": "VSwitch ID"
      }
    },
    "LaunchTemplateId":{
      "AssociationProperty":"ALIYUN::ECS::LaunchTemplate::LaunchTemplateId",
      "Type":"String"
    }
  },
  "Resources": {
    "ScalingGroup": {
      "Type": "ALIYUN::ESS::ScalingGroup",
      "Properties": {
        "VSwitchId": {
          "Ref": "VSwitch"
        },
        "LaunchTemplateId": {
          "Ref": "LaunchTemplateId"
        },
        "MaxSize": 3,
        "ScalingGroupName": "TestScalingGroup",
        "MinSize": 0
      }
    }
  },
  "Outputs": {
    "ScalingGroupId": {
      "Description": "ID grup penskalaan.",
      "Value": {
        "Fn::GetAtt": [
          "ScalingGroup",
          "ScalingGroupId"
        ]
      }
    },
    "ScalingGroupName": {
      "Description": "Nama grup penskalaan.",
      "Value": {
        "Fn::GetAtt": [
          "ScalingGroup",
          "ScalingGroupName"
        ]
      }
    }
  }
}

Jika grup penskalaan hanya memiliki satu konfigurasi penskalaan yang bergantung pada sumber daya lain, tetapkan properti DependsOn untuk grup penskalaan dalam templat guna membuat dependensi terhadap sumber daya yang diperlukan oleh konfigurasi penskalaan tersebut.

ScalingGroup memiliki dependensi DependsOn terhadap SecurityGroup karena ScalingConfiguration bergantung pada sumber daya SecurityGroup.

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  VpcId:
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
    Type: String
  VSwitchId:
    AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
    Type: String
    AssociationPropertyMetadata:
      VpcId: ${VpcId}
Resources:
  ScalingGroupEnable:
    Type: ALIYUN::ESS::ScalingGroupEnable
    Properties:
      ScalingConfigurationId:
        Ref: ScalingConfiguration
      ScalingGroupId:
        Ref: ScalingGroup
      ScalingRuleArisExecuteVersion: 0
  SecurityGroup:
    Type: ALIYUN::ECS::SecurityGroup
    Properties:
      SecurityGroupName:
        Ref: ALIYUN::StackName
      VpcId:
        Ref: VpcId
      SecurityGroupIngress:
        - PortRange: '-1/-1'
          Priority: 1
          SourceCidrIp: 0.0.X.X/0
          IpProtocol: all
          NicType: internet
      SecurityGroupEgress:
        - PortRange: '-1/-1'
          Priority: 1
          IpProtocol: all
          DestCidrIp: 0.0.X.X/0
          NicType: internet
        - PortRange: '-1/-1'
          Priority: 1
          IpProtocol: all
          DestCidrIp: 0.0.X.X/0
          NicType: intranet
  ScalingConfiguration:
    Type: ALIYUN::ESS::ScalingConfiguration
    DependsOn: ScalingGroup
    Properties:
      InstanceType: ecs.g6e.large
      ImageId: centos_7_04_64_20G_alibase_201701015.vhd
      SystemDiskCategory: cloud_essd
      SystemDiskSize: 100
      ScalingConfigurationName:
        Ref: ALIYUN::StackName
      ScalingGroupId:
        Ref: ScalingGroup
      SecurityGroupId:
        Ref: SecurityGroup
  ScalingGroup:
    Type: ALIYUN::ESS::ScalingGroup
    DependsOn: SecurityGroup
    Properties:
      MaxSize: 3
      MinSize: 0
      DefaultCooldown: 15
      VSwitchId:
        Ref: VSwitchId
Outputs: {}