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

Resource Orchestration Service:ALIYUN::EHPC::AutoScaleConfig

最終更新日:Jan 16, 2025

ALIYUN::EHPC::AutoScaleConfig は、クラスターの自動スケーリング設定を行うために使用されます。

構文

{
  "Type": "ALIYUN::EHPC::AutoScaleConfig",
  "Properties": {
    "ExtraNodesGrowRatio": Integer,
    "EnableAutoGrow": Boolean,
    "ClusterId": String,
    "ShrinkIdleTimes": Integer,
    "MaxNodesInCluster": Integer,
    "EnableAutoShrink": Boolean,
    "GrowRatio": Integer,
    "GrowIntervalInMinutes": Integer,
    "GrowTimeoutInMinutes": Integer,
    "ImageId": String,
    "ShrinkIntervalInMinutes": Integer,
    "SpotPriceLimit": Number,
    "Queues": List,
    "ExcludeNodes": String,
    "SpotStrategy": String
  }
}

プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

ExtraNodesGrowRatio

Integer

いいえ

はい

追加の計算ノードの割合。

ジョブを実行するために 100 個の計算ノードを追加する必要がある場合、ExtraNodesGrowRatio プロパティを 2 に設定すると、システムは 102 個の計算ノードを追加します。

有効な値: 0 ~ 100。

デフォルト値: 0。

EnableAutoGrow

Boolean

いいえ

はい

自動スケールアウトを有効にするかどうかを指定します。

デフォルト値: false。有効な値:

  • true

  • false

ClusterId

String

はい

いいえ

クラスターの ID。

なし。

ShrinkIdleTimes

Integer

いいえ

はい

リソースのスケールインチェック中に計算ノードがアイドル状態になっている連続回数。アイドル期間とは、クラスター内でジョブが実行されていない期間です。

有効な値: 2 ~ 5。

デフォルト値: 3。

このプロパティを 3 に設定すると、ノードが 3 回以上連続してアイドル状態になると、計算ノードが解放されます。連続アイドル時間は、スケールイン時間間隔に連続アイドル回数を掛けたものです。デフォルトでは、ShrinkIntervalInMinutes プロパティで指定されたスケールイン時間間隔は 2 分です。計算ノードが 6 分以上アイドル状態の場合、デフォルトでノードは解放されます。

MaxNodesInCluster

Integer

いいえ

はい

クラスターに追加できる計算ノードの最大数。

有効な値: 0 ~ 500。

デフォルト値: 100。

EnableAutoShrink

Boolean

いいえ

はい

自動スケールインを有効にするかどうかを指定します。

デフォルト値: false。有効な値:

  • true

  • false

GrowRatio

整数

いいえ

はい

スケールアウトタスクの各ラウンドのパーセンテージ。

ジョブを実行するために 10 個のコンピュートノードを追加する必要があり、GrowRatio プロパティを 50 に設定した場合、スケールアウトタスクは 2 ラウンドになります。システムは各ラウンドで 5 つのコンピュートノードを追加します。

有効な値: 1 ~ 100。

デフォルト値: 100。

GrowRatio

Integer

いいえ

はい

スケールアウトタスクの各ラウンドの割合。

単位:分。

ジョブを実行するために 10 個の計算ノードを追加する必要があり、GrowRatio プロパティを 50 に設定すると、スケールアウトタスクは 2 ラウンドになります。システムは各ラウンドで 5 つの計算ノードを追加します。

有効な値: 1 ~ 100。

説明

スケールアウトタスクの複数ラウンド間、または 2 つの連続したスケールアウトタスクの間に、間隔が存在する場合があります。

GrowTimeoutInMinutes

整数

いいえ

GrowIntervalInMinutes

Integer

単位:分。

有効な値: 10 ~ 60 です。

既定値: 20。

いいえ

ImageId

String

いいえ

はい

イメージの ID です。

説明
  • QueueImageId プロパティと ImageId プロパティの両方を指定した場合、デフォルトで QueueImageId プロパティが使用されます。

  • QueueImageId プロパティと ImageId プロパティのいずれか 1 つのみを指定した場合、指定したプロパティが使用されます。

  • QueueImageId プロパティと ImageId プロパティの両方を空のままにした場合、最後にクラスターをスケールアウトしたときに使用したイメージがデフォルトで使用されます。スケールアウトタスクが実行されていない場合は、クラスターの作成時に指定したイメージがデフォルトで使用されます。

ShrinkIntervalInMinutes

整数

いいえ

はい

スケールインタスクの 2 つの連続したラウンドの間隔。

単位:分。

有効な値:2 ~ 10。

デフォルト値:2。

スポット価格の上限

数値

いいえ

GrowTimeoutInMinutes

Integer

このプロパティの値には、小数点以下最大 3 桁まで含めることができます。

いいえ

キュー

リスト

いいえ

はい

スケールアウト タスクを実行するキューの構成。

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

ImageId

String

いいえ

はい

イメージの ID。

複数の計算ノードはコンマ (,) で区切ります。

説明

コンピューティングノードを保持する場合は、アイドル状態のときにノードを保持するための追加ノードとして指定できます。

SpotStrategy

String

いいえ

はい

計算ノードのプリエンプションポリシー。

デフォルト値: NoSpot。有効な値:

  • NoSpot: 計算ノードは通常の従量課金インスタンスです。

  • SpotWithPriceLimit: 計算ノードは、1 時間あたりの最大価格を指定するプリエンプティブインスタンスです。

  • SpotAsPriceGo: 計算ノードは、購入時の市場価格が自動的に入札価格として使用されるプリエンプティブインスタンスです。

キューの構文

"Queues": [
  {
    "HostNameSuffix": String, // ホスト名のサフィックス
    "MinNodesInQueue": Integer, // キュー内の最小ノード数
    "MaxNodesInQueue": Integer, // キュー内の最大ノード数
    "EnableAutoGrow": Boolean, // 自動拡張の有効化
    "DataDisks": List, // データ ディスク
    "SystemDiskSize": Integer, // システム ディスクのサイズ
    "SystemDiskLevel": String, // システム ディスクのレベル
    "QueueImageId": String, // キューのイメージ ID
    "MinNodesPerCycle": Integer, // サイクルあたりの最小ノード数
    "MaxNodesPerCycle": Integer, // サイクルあたりの最大ノード数
    "EnableAutoShrink": Boolean, // 自動縮小の有効化
    "SystemDiskCategory": String, // システム ディスクのカテゴリ
    "HostNamePrefix": String, // ホスト名のプレフィックス
    "SpotPriceLimit": Number, // スポット価格の上限
    "InstanceTypes": List, // インスタンス タイプ
    "InstanceType": String, // インスタンス タイプ
    "QueueName": String, // キュー名
    "SpotStrategy": String // スポット戦略
  }
]

キューのプロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

HostNameSuffix

String

いいえ

はい

キュー内のスケールアウトタスクを実行するために使用されるホストのホスト名サフィックス。

なし。

MinNodesInQueue

Integer

いいえ

はい

キューから削除できる計算ノードの最小数。

有効な値:0~50。

デフォルト値:0。

MaxNodesInQueue

Integer

いいえ

はい

キューに追加できる計算ノードの最大数。

有効な値:0~500。

デフォルト値:100。

EnableAutoGrow

Boolean

いいえ

はい

キューの自動スケールアウトを有効にするかどうかを指定します。

デフォルト値:false。有効な値:

  • true

  • false

DataDisks

List

いいえ

はい

データディスクの構成。

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

SystemDiskSize

Integer

いいえ

はい

キューに追加される計算ノードのシステムディスクのサイズ。

単位:GB。

有効な値:40~500。

デフォルト値:40。

SystemDiskLevel

String

いいえ

はい

キューに追加される計算ノードのシステムディスクとして使用される拡張SSD(ESSD)のパフォーマンスレベル(PL)。

デフォルト値:PL1。有効な値:

  • PL0:ESSD は最大 10,000 ランダム読み取り/書き込み IOPS を提供します。

  • PL1:ESSD は最大 50,000 ランダム読み取り/書き込み IOPS を提供します。

  • PL2:ESSD は最大 100,000 ランダム読み取り/書き込み IOPS を提供します。

  • PL3:ESSD は最大 1,000,000 ランダム読み取り/書き込み IOPS を提供します。

QueueImageId

String

いいえ

はい

キューで使用したいイメージの ID。

説明
  • QueueImageId プロパティと ImageId プロパティの両方を指定した場合、デフォルトで QueueImageId プロパティが使用されます。

  • QueueImageId プロパティと ImageId プロパティのいずれか一方のみを指定した場合、指定されたプロパティが使用されます。

  • QueueImageId プロパティと ImageId プロパティの両方を空のままにした場合、最後にクラスターをスケールアウトしたときに使用したイメージがデフォルトで使用されます。スケールアウトタスクが実行されていない場合は、クラスターの作成時に指定したイメージがデフォルトで使用されます。

MinNodesPerCycle

Integer

いいえ

はい

自動スケールアウトタスクの各ラウンドで追加できる計算ノードの最小数。

有効な値:1~99。

デフォルト値:1。

1 ラウンドで追加する計算ノードの数がこのプロパティの値より少ない場合、システムはこのプロパティの値を 1 ラウンドで追加する計算ノードの数に自動的に変更します。これにより、計算ノードを想定どおりに追加できます。

説明

変更された値は、現在のラウンドで追加できる計算ノードの最小数に対してのみ有効になります。

MaxNodesPerCycle

Integer

いいえ

はい

自動スケールアウトタスクの各ラウンドで追加できる計算ノードの最大数。

有効な値:0~99。

デフォルト値:0。

EnableAutoShrink

Boolean

いいえ

はい

キューの自動スケールインを有効にするかどうかを指定します。

デフォルト値:false。有効な値:

  • true

  • false

SystemDiskCategory

String

いいえ

はい

キューに追加される計算ノードのシステムディスクのカテゴリ。

デフォルト値:cloud_efficiency。有効な値:

  • cloud_efficiency:ウルトラディスク。

  • cloud_ssd:標準 SSD。

  • cloud_essd:ESSD。

  • cloud:ベーシックディスク。このタイプのディスクは廃止されました。

HostNamePrefix

String

いいえ

はい

キュー内のスケールアウトタスクを実行するために使用されるホストのホスト名プレフィックス。

なし。

SpotPriceLimit

Number

いいえ

はい

キューに自動的に追加される計算ノードの 1 時間あたりの最大価格。

このプロパティの値には、小数点以下 3 桁まで含めることができます。

このプロパティは、SpotStrategy プロパティが SpotWithPriceLimit に設定されている場合に有効になります。

InstanceTypes

List

いいえ

はい

キューに自動的に追加される計算ノードの構成。

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

InstanceType

String

いいえ

はい

キューに自動的に追加される計算ノードのインスタンスタイプ。

なし。

QueueName

String

いいえ

はい

キューの名前。

複数のキュー名を同時に指定できます。

SpotStrategy

String

いいえ

はい

キューに自動的に追加される計算ノードのプリエンプションポリシー。

デフォルト値:NoSpot。有効な値:

  • NoSpot:計算ノードは通常の従量課金インスタンスです。

  • SpotWithPriceLimit:計算ノードは、1 時間あたりの最大価格を指定するプリエンプティブインスタンスです。

  • SpotAsPriceGo:計算ノードは、購入時の市場価格が自動的に入札価格として使用されるプリエンプティブインスタンスです。

DataDisks 構文

"DataDisks": [
  {
    "DataDiskKMSKeyId": String, // データディスクの KMS キー ID
    "DataDiskPerformanceLevel": String, // データディスクのパフォーマンスレベル
    "DataDiskEncrypted": Boolean, // データディスクが暗号化されているかどうか
    "DataDiskDeleteWithInstance": Boolean, // インスタンスの削除時にデータディスクも削除するかどうか
    "DataDiskSize": Integer, // データディスクのサイズ
    "DataDiskCategory": String // データディスクのカテゴリ
  }
]

DataDisks プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

DataDiskKMSKeyId

String

いいえ

はい

データディスクの Key Management Service (KMS) キー ID。

なし。

DataDiskPerformanceLevel

String

いいえ

はい

データディスクとして使用される ESSD の PL。

このプロパティは、DataDiskCategory プロパティが cloud_essd に設定されている場合に有効になります。

デフォルト値: PL1。有効な値:

  • PL0: ESSD は最大 10,000 ランダム読み取り/書き込み IOPS を提供します。

  • PL1: ESSD は最大 50,000 ランダム読み取り/書き込み IOPS を提供します。

  • PL2: ESSD は最大 100,000 ランダム読み取り/書き込み IOPS を提供します。

  • PL3: ESSD は最大 1,000,000 ランダム読み取り/書き込み IOPS を提供します。

DataDiskEncrypted

Boolean

いいえ

はい

データディスクを暗号化するかどうかを指定します。

デフォルト値: false。有効な値:

  • true

  • false

DataDiskDeleteWithInstance

Boolean

いいえ

はい

計算ノードが解放されたときにデータディスクを解放するかどうかを指定します。

デフォルト値: true。有効な値:

  • true

  • false

DataDiskSize

Integer

いいえ

はい

データディスクのサイズ。

単位: GB。

有効な値: 40 ~ 500。

デフォルト値: 40。

DataDiskCategory

String

いいえ

はい

データディスクのカテゴリ。

デフォルト値: cloud_efficiency。有効な値:

  • cloud_efficiency: ウルトラディスク

  • cloud_ssd: 標準 SSD

  • cloud_essd: ESSD

  • cloud: ベーシックディスク

Queues 構文

"InstanceTypes": [
  {
    "ZoneId": String, // ゾーン ID
    "VSwitchId": String, // 仮想スイッチ ID
    "SpotPriceLimit": Number, // スポット価格の上限
    "InstanceType": String, // インスタンスタイプ
    "SpotStrategy": String // スポット戦略
  }
]

InstanceTypes プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

ZoneId

String

はい

いいえ

キューに自動的に追加される計算ノードのゾーン ID です。

N 個のキュー名を同時に指定し、キュー内の N 個の計算ノードのゾーン ID を同時に指定できます。これらの設定は、システムがキューで自動スケールアウトを実行するときに有効になります。

N の有効な値: 0 ~ 500。

VSwitchId

String

はい

いいえ

キューに自動的に追加される計算ノードの vSwitch ID です。

N 個のキュー名を同時に指定し、キュー内の N 個の計算ノードの vSwitch ID を同時に指定できます。これらの設定は、システムがキューで自動スケールアウトを実行するときに有効になります。

N の有効な値: 0 ~ 500。

SpotPriceLimit

Number

いいえ

はい

キューに自動的に追加される計算ノードの 1 時間あたりの最大価格です。

このプロパティの値には、小数点以下 3 桁まで含めることができます。

このプロパティは、SpotStrategy プロパティが SpotWithPriceLimit に設定されている場合に有効になります。

N 個のキュー名を同時に指定し、キュー内の N 個の計算ノードの 1 時間あたりの最大価格を同時に指定できます。これらの設定は、システムがキューで自動スケールアウトを実行するときに有効になります。

N の有効な値: 0 ~ 500。

InstanceType

String

はい

はい

キューに自動的に追加される計算ノードのインスタンスタイプです。

N 個のキュー名を同時に指定し、キュー内の N 個の計算ノードのインスタンスタイプを同時に指定できます。これらの設定は、システムがキューで自動スケールアウトを実行するときに有効になります。

N の有効な値: 0 ~ 500。

SpotStrategy

String

いいえ

はい

キューに自動的に追加される計算ノードのプリエンプションポリシーです。

デフォルト値: NoSpot。有効な値:

  • NoSpot: 計算ノードは通常の従量課金インスタンスです。

  • SpotWithPriceLimit: 計算ノードは、1 時間あたりの最大価格を指定するプリエンプティブインスタンスです。

  • SpotAsPriceGo: 計算ノードは、購入時の市場価格が自動的に入札価格として使用されるプリエンプティブインスタンスです。

キュー内の N 個の計算ノードのプリエンプションポリシーを同時に指定できます。設定は、システムがキューで自動スケールアウトを実行するときに有効になります。

N の有効な値: 0 ~ 500。

戻り値

Fn::GetAtt

ClusterId: クラスタの ID。

Queues プロパティ

  • JSON 形式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "ClusterId": {
          "Type": "String",
          "Description": "クラスター ID。" // Cluster ID.
        },
        "Queues": {
          "Type": "Json",
          "Description": "",
          "MaxLength": 8
        }
      },
      "Resources": {
        "AutoScaleConfig": {
          "Type": "ALIYUN::EHPC::AutoScaleConfig",
          "Properties": {
            "ClusterId": {
              "Ref": "ClusterId"
            },
            "Queues": {
              "Ref": "Queues"
            }
          }
        }
      },
      "Outputs": {
        "ClusterId": {
          "Description": "クラスター ID。", // Cluster Id.
          "Value": {
            "Fn::GetAtt": [
              "AutoScaleConfig",
              "ClusterId"
            ]
          }
        }
      }
    }
  • YAML 形式

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      ClusterId:
        Type: String
        Description: クラスター ID。 # Cluster ID.
      Queues:
        Type: Json
        Description: ''
        MaxLength: 8
    Resources:
      AutoScaleConfig:
        Type: ALIYUN::EHPC::AutoScaleConfig
        Properties:
          ClusterId:
            Ref: ClusterId
          Queues:
            Ref: Queues
    Outputs:
      ClusterId:
        Description: クラスター ID。 # Cluster Id.
        Value:
          Fn::GetAtt:
            - AutoScaleConfig
            - ClusterId