すべてのプロダクト
Search
ドキュメントセンター

Resource Orchestration Service:ALIYUN::ESS::ScalingGroup

最終更新日:Nov 09, 2025

ALIYUN::ESS::ScalingGroup リソースを使用して、スケーリンググループを作成できます。 スケーリンググループは、同じアプリケーションシナリオで使用される ECS インスタンスのコレクションです。 スケーリンググループは、作成直後には有効になりません。 ALIYUN::ESS::ScalingGroupEnable を使用してスケーリンググループを有効にする必要があります。 スケーリンググループが有効になると、スケーリングアクティビティをトリガーし、スケーリングルールを実行できます。

構文

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

プロパティ

プロパティ名

タイプ

必須

更新可能

説明

制約

MinSize

Integer

はい

はい

スケーリンググループ内の ECS インスタンスの最小数。

有効な値: 0 ~ 1000。

スケーリンググループ内の ECS インスタンスの数が MinSize 値より少ない場合、Auto Scaling は自動的に ECS インスタンスを作成します。

MaxSize

Integer

はい

はい

スケーリンググループ内の ECS インスタンスの最大数。

有効な値: 0 ~ 1000。

スケーリンググループ内の ECS インスタンスの数が MaxSize 値より多い場合、Auto Scaling は自動的に ECS インスタンスを削除します。

ScalingGroupName

String

いいえ

はい

スケーリンググループの表示名。

名前は 2~64 文字である必要があります。 数字、文字、または漢字で始まる必要があります。 文字、漢字、数字、アンダースコア (_)、ハイフン (-)、およびピリオド (.) を含めることができます。

名前は、同じリージョンおよび同じ Alibaba Cloud アカウント内で一意である必要があります。

デフォルト値: スケーリンググループの ID。

LaunchTemplateId

String

いいえ

はい

起動テンプレートの ID。 スケーリンググループは、起動テンプレートを使用してインスタンス作成のための構成情報を取得します。

なし

LaunchTemplateVersion

String

いいえ

はい

ECS 起動テンプレートのバージョン。

有効な値:

  • 固定テンプレートのバージョン番号。

  • Default: テンプレートのデフォルトバージョンが常に使用されます。

  • Latest: テンプレートの最新バージョンが常に使用されます。

RemovalPolicys

List

いいえ

はい

スケーリンググループから ECS インスタンスを削除するためのポリシー。

有効な値:

  • OldestInstance (デフォルト): スケーリンググループに最も早く追加された ECS インスタンスを削除します。

  • NewestInstance: スケーリンググループに最も遅く追加された ECS インスタンスを削除します。

  • OldestScalingConfiguration (デフォルト): 最も古いスケーリング設定に基づいて作成された ECS インスタンスを削除します。

VSwitchId

String

いいえ

はい

vSwitch の ID。

なし

LoadBalancerIds

List

いいえ

はい

SLB インスタンスの ID。

複数の SLB インスタンスの ID を含む JSON 配列を指定できます。 最大 5 つの ID を指定できます。 ID はコンマ (,) で区切ります。

DefaultCooldown

Integer

いいえ

はい

スケーリングアクティビティ完了後のクールダウン時間。

有効値: 0~86,400。

単位: 秒。

デフォルト値: 300。

クールダウン時間中、スケーリンググループは他のスケーリングアクティビティを実行しません。 これは、CloudMonitor で作成された監視タスクによってトリガーされるスケーリングアクティビティに対してのみ有効です。

DBInstanceIds

List

いいえ

はい

ApsaraDB RDS インスタンスの ID。

複数の RDS インスタンスの ID を含む JSON 配列を指定できます。 最大 8 つの ID を指定できます。 ID はコンマ (,) で区切ります。

VSwitchIds

List

いいえ

はい

複数の vSwitch の ID。

最大 5 つの vSwitch ID を指定できます。 VSwitchIds を指定した場合、VSwitchId パラメーターは無視されます。 vSwitch は指定された順序で優先順位が付けられます。 優先度の高い vSwitch があるゾーンで ECS インスタンスを作成できない場合は、次に優先度の高い vSwitch が自動的に使用されます。

MultiAZPolicy

String

いいえ

はい

マルチゾーンスケーリンググループ内の ECS インスタンスのスケーリングポリシー。

有効な値:

  • PRIORITY: 定義した vSwitch に基づいてインスタンスをスケーリングします。 優先度の高い vSwitch があるゾーンで ECS インスタンスを作成できない場合は、次に優先度の高い vSwitch が自動的に使用されます。

  • BALANCE: スケーリンググループに指定されたゾーンに ECS インスタンスを均等に分散します。

  • COST_OPTIMIZED: vCPU 単価の昇順でインスタンスを作成しようとします。 スケーリング設定でスポット課金方法を使用して複数のインスタンスタイプが指定されている場合、システムは対応するスポットインスタンスの作成を優先します。 在庫不足などの理由でスポットインスタンスを作成できない場合、システムは自動的に従量課金インスタンスの作成を試みます。

NotificationConfigurations

List

いいえ

はい

イベントおよびリソース変更通知の構成のリスト。

詳細については、「NotificationConfigurations プロパティ」をご参照ください。

ProtectedInstances

List

いいえ

はい

スケーリンググループ内の保護された ECS インスタンスの数。

最大 1,000 インスタンスまで指定できます。

StandbyInstances

List

いいえ

はい

スケーリンググループ内のスタンバイ ECS インスタンスの数。

最大 1,000 インスタンスまで指定できます。

HealthCheckTypes

List

いいえ

はい

スケーリンググループのヘルスチェックタイプのリスト。

有効な値:

  • NONE: ヘルスチェックは実行されません。

  • ECS: スケーリンググループ内のインスタンスに対してヘルスチェックを実行します。 この値は、ECS と ECI の両方のスケーリンググループのインスタンスヘルスチェックを有効にするために使用されます。

  • LOAD_BALANCER: ロードバランサーのヘルスチェック結果に基づいてインスタンスのヘルスステータスを決定します。 CLB はサポートされていません。

HealthCheckType

String

いいえ

はい

ヘルスチェックタイプ。

有効な値:

  • ECS

  • NONE

GroupDeletionProtection

Boolean

いいえ

はい

スケーリンググループの削除保護を有効にするかどうかを指定します。

有効な値:

  • true: 削除保護を有効にします。 スケーリンググループは削除できません。

  • false (デフォルト): 削除保護を無効にします。

DesiredCapacity

Integer

いいえ

はい

スケーリンググループ内の ECS インスタンスの期待数。 Auto Scaling は、ECS インスタンスの数をこの値に自動的に維持します。

値は MinSize 以上、MaxSize 以下である必要があります。

InstanceId

String

いいえ

いいえ

ECS インスタンスの ID。 スケーリンググループを作成すると、システムは指定されたインスタンスから必要な構成情報を取得し、スケーリング設定を自動的に作成します。

なし

Tags

List

いいえ

はい

タグ。

最大 20 個のタグを追加できます。

詳細については、「Tags プロパティ」をご参照ください。

OnDemandPercentageAboveBaseCapacity

Integer

いいえ

はい

基本容量を超えるインスタンスの中でのオンデマンドインスタンスの割合。

スケーリンググループがオンデマンドインスタンスの最小数 (OnDemandBaseCapacity) を満たした後、このパラメーターは超過インスタンスの中でのオンデマンドインスタンスの割合を指定します。

有効な値: 0 ~ 100。

CompensateWithOnDemand

Boolean

いいえ

はい

必要な ECS インスタンス数を満たすためにオンデマンドインスタンスを自動的に作成するかどうかを指定します。

このパラメーターは、MultiAZPolicy が COST_OPTIMIZED に設定されている場合にのみ有効になります。 価格や在庫などの理由で十分なスポットインスタンスを作成できない場合に、必要な ECS インスタンス数を満たすためにオンデマンドインスタンスを自動的に作成するかどうかを指定します。

有効な値:

  • true (デフォルト): はい。

  • false: いいえ。

ContainerGroupId

String

いいえ

いいえ

ECI インスタンスの ID。

なし

ScalingPolicy

String

いいえ

いいえ

スケーリンググループの回収モード。

有効な値:

  • recycle: インスタンスは停止されます。

  • release: インスタンスはリリースされます。

ScalingPolicy パラメーターはスケーリンググループの回収モードを指定します。 ただし、インスタンスがスケーリンググループから削除されるときに実行される特定のアクションは、RemoveInstances 操作の RemovePolicy パラメーターによって決定されます。 詳細については、「RemoveInstances」をご参照ください。

SpotInstanceRemedy

Boolean

いいえ

はい

補足的なスポットインスタンスを有効にするかどうかを指定します。

有効な値:

  • true: 補足的なスポットインスタンスを有効にします。

    有効にすると、システムがスポットインスタンスが回収されようとしているというメッセージを受信した場合、スケーリンググループは回収されたスポットインスタンスを置き換えるために新しいインスタンスを作成しようとします。

  • false: 補足的なスポットインスタンスを無効にします。

SpotInstancePools

Integer

いいえ

はい

使用可能なインスタンスタイプの数。

スケーリンググループは、最もコストの低い複数のインスタンスタイプにわたってバランスの取れた方法でスポットインスタンスを作成します。

有効な値: 1 ~ 10。

OnDemandBaseCapacity

Integer

いいえ

はい

スケーリンググループで必要なオンデマンドインスタンスの最小数。

有効な値: 0 ~ 1000。

オンデマンドインスタンスの数がこの値を下回る場合、システムはオンデマンドインスタンスの作成を優先します。

GroupType

String

いいえ

いいえ

スケーリンググループによって管理されるインスタンスのタイプ。

有効な値:

  • ECS (デフォルト): スケーリンググループは ECS インスタンスを管理します。

  • ECI: スケーリンググループは ECI インスタンスを管理します。

LaunchTemplateOverrides

List

いいえ

はい

起動テンプレートを拡張するインスタンスタイプに関する情報。

なし

AllocationStrategy

String

いいえ

はい

容量割り当てポリシー。

スケーリンググループが容量要件を満たすために利用可能なインスタンスタイプをどのように選択するかを決定します。 容量割り当てポリシーは、オンデマンド容量とプリエンプティブル容量の両方に適用されます。 このポリシーは、MultiAZPolicy パラメーターが COMPOSABLE に設定されている場合にのみ有効です。

有効な値:

  • priority (デフォルト): 設定されたインスタンスタイプの順序でインスタンスを作成します。

  • lowestPrice: インスタンスタイプの vCPU 単価の昇順でインスタンスを作成します。

AzBalance

Boolean

いいえ

はい

スケーリンググループの容量を複数のゾーンに均等に分散するかどうかを指定します。

このパラメーターは、MultiAZPolicy パラメーターが COMPOSABLE に設定されている場合にのみ有効です。

有効な値:

  • true: スケーリンググループの容量は複数のゾーンに均等に分散されます。

  • false (デフォルト): スケーリンググループの容量は複数のゾーンに均等に分散されません。

MaxInstanceLifetime

Integer

いいえ

はい

スケーリンググループ内のインスタンスの最大存続期間。

単位: 秒。

有効値: 86400~Integer.maxValue

デフォルト値: null。

CustomPolicyARN

String

いいえ

はい

カスタムスケールインポリシー関数の ARN。

このパラメーターは、RemovalPolicies の最初の削除ポリシーが CustomPolicy に設定されている場合にのみ有効です。

SpotAllocationStrategy

String

いいえ

はい

スポット容量の割り当てポリシー。

このパラメーターを使用して、スポット容量の分散戦略を個別に指定します (MultiAZPolicy パラメーターが COMPOSABLE に設定されている場合にのみ有効)。

有効な値:

  • priority (デフォルト): 設定されたインスタンスタイプの順序でインスタンスを作成します。

  • lowestPrice: インスタンスタイプの vCPU 単価の昇順でインスタンスを作成します。

ServerGroups

List

いいえ

いいえ

Server Load Balancer サーバーグループの構成。

詳細については、「ServerGroups プロパティ」をご参照ください。

ResourceGroupId

String

いいえ

はい

リソースグループの ID。

なし

ServerGroups 構文

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

ServerGroups プロパティ

プロパティ名

タイプ

必須

更新可能

説明

制約

Type

String

はい

いいえ

Server Load Balancer サーバーグループのタイプ。

有効な値:

  • ALB: Application Load Balancer。

  • NLB: Network Load Balancer。

ServerGroupId

String

はい

いいえ

Server Load Balancer サーバーグループの ID。

なし

Weight

Number

はい

いいえ

バックエンドサーバーとしての ECS または ECI インスタンスの重み。

有効な値: 0 ~ 100。

重みが大きいほど、ECS または ECI インスタンスにより多くのアクセスリクエストが割り当てられることを示します。 重みが 0 の場合、ECS または ECI インスタンスはアクセスリクエストを受信しません。

Port

Number

はい

いいえ

ECS または ECI インスタンスが使用するポート番号。

有効な値: 1 ~ 65535。

NotificationConfigurations 構文

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

NotificationConfigurations プロパティ

プロパティ名

タイプ

必須

更新可能

説明

制約

NotificationArn

String

はい

いいえ

ライフサイクルフックの通知受信者の識別子。 Simple Message Queue (formerly MNS) キューまたはトピックをサポートします。

有効な値:

  • SMQ キューは次の形式で指定されます: acs:ess:{region}:{account-id}:queue/{queuename}

  • SMQ 件名は次の形式です acs:ess:{region}:{account-id}:topic/{topicname}

NotificationTypes

List

はい

いいえ

Auto Scaling イベントおよびリソース変更の通知タイプ。

なし

Tags 構文

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

Tags プロパティ

プロパティ名

タイプ

必須

更新可能

説明

制約

Key

String

はい

いいえ

タグキー。

キーは 1~128 文字である必要があります。 aliyun または acs: で始めることはできず、http:// または https:// を含めることはできません。

Value

String

いいえ

いいえ

タグ値。

値は 0~128 文字です。 aliyun または acs: で始めることはできず、http:// または https:// を含めることはできません。

LaunchTemplateOverrides 構文

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

LaunchTemplateOverrides プロパティ

プロパティ名

タイプ

必須

更新可能

説明

制約

InstanceType

String

いいえ

はい

ECS インスタンスタイプ。

スケーリンググループをインスタンスタイプの容量に基づいてスケーリングする場合は、このパラメーターと LaunchTemplateOverrides.WeightedCapacity の両方を指定します。

このパラメーターはインスタンスタイプを指定し、起動テンプレートのインスタンスタイプを上書きします。

説明

このパラメーターは、LaunchTemplateId パラメーターによって起動テンプレートが指定されている場合にのみ有効です。

WeightedCapacity

Integer

いいえ

はい

インスタンスタイプの重み。

スケーリンググループをインスタンスタイプの容量に基づいてスケーリングする場合は、LaunchTemplateOverrides.InstanceType を指定してから、このパラメーターを指定します。

このパラメーターはインスタンスタイプの重みを指定します。これは、スケーリンググループ内のそのタイプの単一インスタンスの容量を表します。 重みが大きいほど、期待される容量を満たすために必要なこのタイプのインスタンスが少なくなることを意味します。

vCPU の数やメモリサイズなどのパフォーマンスメトリックに基づいて、インスタンスタイプごとに異なる重みを設定できます。

例:

  • 現在の容量: 0。

  • 期待容量: 6。

  • ecs.c5.xlarge の容量: 4。

期待される容量を満たすために、スケーリンググループは 2 つの ecs.c5.xlarge インスタンスをスケールアウトします。

有効値: 1~500。

説明

スケールアウト中、スケーリンググループの容量は、最大容量 (MaxSize) とインスタンスタイプの最大重みの合計を超えることはできません。

SpotPriceLimit

Number

いいえ

はい

スポットインスタンスの最大価格。

このパラメーターは、LaunchTemplateOverrides.InstanceType で指定されたインスタンスタイプのスポットインスタンスの最大価格を指定します。

説明

このパラメーターは、LaunchTemplateId パラメーターによって起動テンプレートが指定されている場合にのみ有効です。

戻り値

Fn::GetAtt

  • ScalingGroupId: スケーリンググループの ID。

  • ScalingGroupName: スケーリンググループの名前。

  • Arn: Alibaba Cloud リソースネーム (ARN)。

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。
    Value:
      Fn::GetAtt:
        - ScalingGroup
        - ScalingGroupId
  ScalingGroupName:
    Description: スケーリンググループの名前。
    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。",
      "Value": {
        "Fn::GetAtt": [
          "ScalingGroup",
          "ScalingGroupId"
        ]
      }
    },
    "ScalingGroupName": {
      "Description": "スケーリンググループの名前。",
      "Value": {
        "Fn::GetAtt": [
          "ScalingGroup",
          "ScalingGroupName"
        ]
      }
    }
  }
}

スケーリンググループにスケーリング設定が 1 つしかなく、その設定が他のリソースに依存している場合は、テンプレートのスケーリンググループに DependsOn プロパティを設定します。 これにより、スケーリング設定が必要とするリソースへの依存関係が作成されます。

ScalingConfiguration は SecurityGroup リソースに依存するため、ScalingGroup は SecurityGroup に対する DependsOn 依存関係を持ちます。

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: {}