スケーリングルールの実行
説明
指定したスケーリングルールを実行します。
- インターフェイスを呼び出すことができるのは、スケーリンググループがアクティブのときに限られます。
- インターフェイスを呼び出すことができるのは、スケーリンググループ内のスケーリングアクティビティが進行中でないときに限られます。
- スケーリンググループ内のスケーリングアクティビティが進行中でないときは、インターフェイスをクールダウンなしで直接実行できます。
- このインターフェイスが正常に呼び出されても、呼び出しリクエストが受け入れられ、スケーリングアクティビティの実行が可能になるだけです。スケーリングアクティビティの実行が正常に終了するとは限りません。返された ScalingActivityId を使用して、スケーリングアクティビティのステータスを確認できます。
- このスケーリングルールで指定されたアタッチ予定の ECS インスタンスと現在のスケーリンググループのインスタンスの合計容量が MaxSize を上回る場合は、合計容量 = MaxSize というルールが適用されます。
- 現在のスケーリンググループのインスタンスから、スケーリングルールに従って削減される ECS インスタンス数を引いた合計容量が MinSize を下回る場合は、合計容量 = MinSize というルールが適用されます。
- オートスケーリングは、すべてのリージョンのすべてのスケーリンググループの ECS インスタンスに対して実行できます。ただし、Auto Scaling を実行できる ECS インスタンスの数は、最大 100 個に制限されています (この数には、自動的に作成された ECS インスタンスの数のみが含まれ、手動でアタッチした ECS インスタンスの数は含まれません)。
リクエストパラメーター
名前 | 型 | 必須かどうか | 説明 |
---|---|---|---|
Action | String | はい | 操作インターフェイス名、必須パラメーター。値: ExecuteScalingRule。 |
ScalingRuleAri | String | はい | スケーリングルールの一意の ID。 |
ClientToken | String | いいえ | リクエストのべき等性を確保するために使用します。値はクライアントによって生成されます。すべてのリクエストで一意でなければならず、最大 64 文字の ASCII 文字を含めることができます。詳細については、付録「べき等性を確保する方法」を参照してください。 |
リターンパラメーター
名前 | 型 | 説明 |
---|---|---|
ScalingActivityId | String | スケーリングアクティビティ ID。 |
エラーコード
すべてのインターフェイスに共通のエラーについては、「クライアントエラー表」または「サーバーエラー表」を参照してください。
エラー | エラーコード | 説明 | HTTP ステータスコード |
---|---|---|---|
指定したスケーリングルールがこのアカウントに存在しません。 | InvalidScalingRuleAri.NotFound | 指定したスケーリングルール Ari が存在しません。 | 404 |
Auto Scaling サービスに対して、Open API は完全には許可されていません。 | Forbidden.Unauthorized | 指定したアクションに必要な許可が付与されていません。 | 403 |
指定したスケーリングルールがアクティブではありません。 | IncorrectScalingGroupStatus | 指定したスケーリンググループの現在のステータスでは、このアクションを実行できません。 | 400 |
スケーリングルールが属するスケーリンググループに進行中のスケーリングアクティビティがあります。 | ScalingActivityInProgress | 指定したスケーリンググループに進行中のスケーリングアクティビティが存在している間は、スケーリンググループを削除することも、新しいスケーリングアクティビティを開始することもできません。 | 400 |
アカウント残高が不十分です。 | InsufficientBalance | ご使用のアカウントに十分な残高がありません。 | 400 |
ECS インスタンスのクォータを超過しています。 | QuotaExceed.Instance | 同時インスタンスのクォータを超過しました。 | 400 |
スケーリングルールが属するスケーリンググループの Server Load Balancer インスタンスがアクティブではありません。 | IncorrectLoadBalancerStatus | 指定した Load Balancer の現在のステータスでは、このアクションを実行できません。 | 400 |
指定したスケーリングルールが属するスケーリンググループの Server Load Balancer のヘルスチェックが有効ではありません。 | IncorrectLoadBalancerHealthCheck | 指定した Load Balancer の現在のヘルスチェックタイプでは、このアクションを実行できません。 | 400 |
指定した Server Load Balancer に含まれる ECS インスタンスのネットワークタイプが、スケーリンググループのネットワークタイプと異なります。 | InvalidLoadBalancerId.IncorrectInstanceNetworkType | 指定したロードバランサーのインスタンスのネットワークタイプでは、このアクションを実行できません。 | 400 |
指定した Server Load Balancer に含まれる ECS インスタンスと VSwitchId が同じ VPC にありません。 | InvalidLoadBalancerId.VPCMismatch | 指定した仮想スイッチと指定したロードバランサーのインスタンスが同じ VPC にありません。 | 400 |
指定したスケーリングルールが属するスケーリンググループの RDS インスタンスが実行中ではありません。 | IncorrectDBInstanceStatus | DB インスタンス “XXX” の現在のステータスでは、このアクションを実行できません。 | 400 |
指定したスケーリングルールが属するスケーリンググループの RDS インスタンスにアクセス可能なホワイトリストの IP アドレスの数が上限に達しました。 | QuotaExceeded.DBInstanceSecurityIP | DB インスタンス “XXX” でセキュリティ IP のクォータを超過しました。 | 400 |
指定したセキュリティグループにアタッチされた ECS インスタンスの数が上限を超えました。 | QuotaExceeded.SecurityGroupInstance | 指定したセキュリティグループでインスタンスのクォータを超過しました。 | 400 |
スケーリングルールの実行後、スケーリンググループのインスタンスの数が変化しません。 | IncorrectCapacity.NoChange | 指定したスケーリングルールを実行した後、合計容量が変化しません。 | 400 |
Auto Scaling ECS インスタンスのクォータを超過しました。 | QuotaExceeded.ScalingInstance | スケーリングインスタンスのクォータを超過しました。 | 400 |
従量課金 ECS インスタンスのクォータを超過しています。 | QuotaExceeded.AfterpayInstance | 同時後払いインスタンスのクォータを超過しました。 | 400 |
指定したリージョンでは、指定した ECS インスタンスタイプまたはディスクタイプを作成できません。 | ResourceNotAvailable.ECS | 指定したリージョンまたはゾーンでは、指定したディスクまたはインスタンスカテゴリが提供されていません。 |
例
リクエストの例
http://ess.aliyuncs.com/?Action=ExecuteScalingRule
&ScalingRuleAri=ari:acs:ess:cn-qingdao:1344371:scalingRule/cCBpdYdQuBe2cUxOdu6piOk
&<Public Request Parameters>
戻り値の例
XML 形式:
<ExecuteScalingRuleResponse>
<ScalingActivityId>ebta5WbUzC8gcwUWvfchyT4U</ScalingActivityId>
<RequestId>262216B9-F9D4-4D16-BE9B-BD1C39A4F42B</RequestId>
</ExecuteScalingRuleResponse>
JSON 形式:
"RequestId": "6469DCD0-13AC-487E-85A0-CE4922908FDE",
"ScalingActivityId": "ebta5WbUzC8gcwUWvfchyT4U"