edit-icon download-icon

Create a scaling group

最終更新日: Dec 10, 2018

スケーリンググループは、適用シナリオが同じ ECS インスタンスの集合です。

スケーリンググループでは、グループ内の ECS インスタンスの最大数と最小数のほか、関連する Server Load Balancer インスタンス、RDS インスタンス、その他の属性を定義します。

説明

この操作では、入力パラメーターに基づいてスケーリンググループを作成します。

  • MaxSize および MinSize では、スケーリンググループの ECS インスタンスの最大数と最小数をそれぞれ定義します。

    • スケーリンググループに現在含まれている ECS インスタンスの数 (合計容量) が MinSize を下回る場合は、下回らないように ECS インスタンスがスケーリンググループに自動的にアタッチされます。
    • スケーリンググループに現在含まれている ECS インスタンスの数 (合計容量) が MaxSize を超える場合は、超えないように ECS インスタンスがスケーリンググループから自動的に削除されます。
  • DefaultCooldown は、スケーリンググループのデフォルトのクールダウン時間です。

    • スケーリングアクティビティ (ECS インスタンスの追加または削除) の実行後、クールダウン中は、そのスケーリンググループで他のスケーリングアクティビティを実行できません。
    • 現時点では、CloudMonitor のアラームタスクによってトリガーされたスケーリングアクティビティにのみ適用されます。
  • RemovalPolicy は、スケーリンググループから削除する ECS インスタンスの候補が複数存在する場合、削除対象の ECS インスタンスを選択するために使用します。

    • スケーリンググループで Server Load Balancer インスタンスが指定されている場合、Server Load Balancer インスタンスにその ECS インスタンスが自動的にアタッチされます。
    • Server Load Balancer インスタンスを有効にする必要があります。
    • Server Load Balancer インスタンスに対して設定されているすべてのリスナーポートについて、ヘルスチェックを有効にしておく必要があります。そうしないと、作成が失敗します。
    • Server Load Balancer インスタンスにアタッチされる ECS インスタンスのデフォルトの重みは 50 です。
  • スケーリンググループで RDS インスタンスが指定されている場合、RDS インスタンスのアクセスホワイトリストにその ECS インスタンスのイントラネット IP アドレスが自動的に追加されます。

    • 指定した RDS インスタンスは、Running ステータスでなければなりません。
    • 指定した RDS インスタンスのホワイトリストには、IP アドレスをさらに追加できる余裕が必要です。
  • スケーリンググループは、作成後、すぐには有効になりません。スケーリングルールをトリガーし、スケーリングアクティビティを実行するには、有効にする必要があります。

  • スケーリンググループから ECS インスタンスを削除する方法の詳細については、「RemovalPolicy」のセクションを参照してください。

  • スケーリンググループ、Server Load Balancer インスタンス、および RDS インスタンスは、同じリージョンにある必要があります。

  • 最大 20 個のスケーリンググループを作成できます。

リクエストパラメーター

名前 必須かどうか 説明
Action String はい 操作インターフェイス名、必須パラメーター。値:
CreateScalingGroup
RegionId String はい スケーリンググループが存在するリージョンの ID。
MaxSize Integer はい スケーリンググループの ECS インスタンスの最大数。値範囲: [0, 100]。
MinSize Integer はい スケーリンググループの ECS インスタンスの最小数。値範囲: [0, 100]。
ScalingGroupName String いいえ 表示されるスケーリンググループの名前。2 ~ 40 文字で指定する必要があります (英語または中国語)。この名前は、数字、大文字/小文字の英字、または漢字で始まる必要があり、”_”、”-“、”.” を使用できます。アカウント名は、同じリージョン内で一意です。
このパラメーターを指定しない場合、デフォルト値は ScalingGroupId です。
DefaultCooldown Integer いいえ スケーリンググループのデフォルトのクールダウン時間 (秒)。値範囲: [0, 86400]。
デフォルト値は 300 秒です。
値範囲: [0, 86400]
RemovalPolicy.N String いいえ スケーリンググループから ECS インスタンスを削除する場合のポリシー。
オプション値:
OldestInstance (スケーリンググループにアタッチされた最初の ECS インスタンスを削除します)
NewestInstance (スケーリンググループにアタッチされた最後の ECS インスタンスを削除します)
OldestScalingConfiguration (スケーリング設定が最も古い ECS インスタンスを削除します)
デフォルト値: OldestScalingConfiguration および OldestInstance。最大 2 個の削除ポリシーを入力できます。
LoadBalancerId String いいえ Server Load Balancer インスタンスの ID
DBInstanceId.N String いいえ RDS インスタンスの ID。最大 8 個の ID を入力できます。

リターンパラメーター

名前 説明
ScalingGroupId String スケーリンググループの ID。システムによって生成され、グローバルに一意です。

エラーコード

すべてのインターフェイスに共通のエラーについては、「エラーコード表」の クライアントエラー または サーバエラーを参照してください。

エラーメッセージ エラーコード 説明 HTTP ステータスコード
The scaling group name already exists. InvalidScalingGroupName.Duplicate 指定したパラメーター <parameter name> の値が重複しています。 400
The scaling group quota is exceeded. QuotaExceeded.ScalingGroup スケーリンググループのクォータを超過しています。 400
The specified region does not exist. InvalidRegionId.NotFound 指定したリージョンが存在しません。 404
The specified MinSize is greater than MaxSize. InvalidParameter.Conflict パラメーター <parameter name> とパラメーター <parameter name> の値が競合しています。 400
The specified Server Load Balancer instance does not exist in this account. InvalidScalingGroupId.NotFound 指定したスケーリンググループが存在しません。 404
The specified Server Load Balancer instance and scaling group are not in the same region. InvalidLoadBalancerId.RegionMismatch 指定した Load Balancer と指定したスケーリンググループが同じリージョンにありません。 400
The specified Server Load Balancer instance is not active. IncorrectLoadBalancerStatus 指定した Load Balancer の現在のステータスでは、このアクションを実行できません。 400
Health check is not enabled for the specified Server Load Balancer instance. IncorrectLoadBalancerHealthCheck 指定した Load Balancer の現在のヘルスチェックタイプでは、このアクションを実行できません。 400
The specified Server Load Balancer instance becomes private after the VswitchID is specified. InvalidLoadBalancerId.IncorrectAddressType 指定した Load Balancer の現在のアドレスタイプでは、このアクションを実行できません。 400
The network type of the ECS instance contained in the specified Server Load Balancer is different from the network type of the scaling group. InvalidLoadBalancerId.IncorrectInstanceNetworkType 指定した Load Balancer のインスタンスのネットワークタイプでは、このアクションを実行できません。 400
The ECS instance contained in the specified Server Load Balancer and VSwitchId are not in the same VPC. InvalidLoadBalancerId.VPCMismatch 指定した仮想スイッチと指定した Load Balancer のインスタンスが同じ VPC にありません。 400
The specified RDS instance does not exist in this account. InvalidDBInstanceId.NotFound DB インスタンス “XXX” が存在しません。 404
The specified RDS instance and scaling group are not in the same region. InvalidDBInstanceId. RegionMismatch DB インスタンス “XXX” と指定したスケーリンググループが同じリージョンにありません。 400
The specified RDS instance is not running. IncorrectDBInstanceStatus DB インスタンス “XXX” の現在のステータスでは、このアクションを実行できません。 400
The number of IP addresses in the access whitelist of the specified RDS instance exceeds the upper limit. QuotaExceeded.DBInstanceSecurityIP DB インスタンス “XXX” でセキュリティ IP のクォータを超過しました。 400
The specified VSwitch does not exist. InvalidVSwitchId.NotFound 指定した仮想スイッチが存在しません。 404
The private IP address quota of the VSwitch is exceeded. QuotaExceeded.PrivateIpAddress 指定した仮想スイッチのプライベート IP アドレスのクォータを超過しました。 400
The instance quota of the VPC is exceeded. QuotaExceeded.VPCInstance 指定した VPC のインスタンスのクォータを超過しました。 400
The VSwitch is unavailable and instances cannot be created. IncorrectVSwitchStatus 仮想スイッチの現在のステータスでは、この操作を実行できません。 400

リクエストの例

  1. http://ess.aliyuncs.com/?Action=CreateScalingGroup
  2. &RegionId=cn-qingdao
  3. &MaxSize=20
  4. &MinSize=2
  5. &LoadBalancerId=147b46d767c-cn-qingdao-cm5-a01
  6. &DBInstanceId.1=rdszzzyyunybaeu
  7. &DBInstanceId.2=rdsia3u3yia3u3y
  8. &<Public Request Parameters>

戻り値の例

XML 形式

  1. <CreateScalingGroupResponse>
  2. <ScalingGroupId>dP8VqSd9ENXPc0ciVmbcrBT1</ScalingGroupId>
  3. <RequestId>536E9CAD-DB30-4647-AC87-AA5CC38C5382</RequestId>
  4. </CreateScalingGroupResponse>

JSON 形式

  1. {
  2. "RequestId": "536E9CAD-DB30-4647-AC87-AA5CC38C5382",
  3. "ScalingGroupId": "dP8VqSd9ENXPc0ciVmbcrBT1"
  4. }