スケーリンググループは、適用シナリオが同じ 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 |
例
リクエストの例
http://ess.aliyuncs.com/?Action=CreateScalingGroup
&RegionId=cn-qingdao
&MaxSize=20
&MinSize=2
&LoadBalancerId=147b46d767c-cn-qingdao-cm5-a01
&DBInstanceId.1=rdszzzyyunybaeu
&DBInstanceId.2=rdsia3u3yia3u3y
&<Public Request Parameters>
戻り値の例
XML 形式
<CreateScalingGroupResponse>
<ScalingGroupId>dP8VqSd9ENXPc0ciVmbcrBT1</ScalingGroupId>
<RequestId>536E9CAD-DB30-4647-AC87-AA5CC38C5382</RequestId>
</CreateScalingGroupResponse>
JSON 形式
{
"RequestId": "536E9CAD-DB30-4647-AC87-AA5CC38C5382",
"ScalingGroupId": "dP8VqSd9ENXPc0ciVmbcrBT1"
}