このトピックでは、Alibaba Cloudコマンドラインインターフェイス (CLI) を使用してAuto Scaling APIを呼び出す方法について説明します。 このトピックでは、DescribeScalingActivities操作を例として使用します。 この操作では、特定のスケーリングアクティビティの詳細を照会します。
背景情報
Alibaba Cloud CLIは、APIに基づいて開発された汎用のコマンドラインツールです。 Alibaba Cloud CLIを使用して、Auto Scalingリソースを自動的に管理および保守できます。 詳細については、「Alibaba Cloud CLIとは」をご参照ください。
ステップ1: Alibaba Cloud CLIのインストール
Alibaba Cloud CLIを使用する前に、インストールする必要があります。 Alibaba Cloud CLIは、Windows、Linux、およびmacOSオペレーティングシステムにインストールできます。 デバイスのオペレーティングシステムに基づいて、Alibaba Cloud CLIのインストールパッケージを選択します。 詳細については、以下のトピックをご参照ください。
Alibaba Cloud CLIはCloud Shellにプリインストールされています。 Cloud ShellはID資格情報を自動的に設定します。 Cloud Shellを使用して、Alibaba Cloud CLIで実行するコマンドをデバッグすることもできます。 詳細については、「Cloud Shellとは」をご参照ください。
ステップ2: Alibaba Cloud CLIの設定
Alibaba Cloudアカウントには、すべてのAlibaba CloudサービスのAPIを管理およびアクセスする権限があります。 Alibaba Cloudアカウントを使用してAPI操作を呼び出すと、セキュリティリスクが発生する可能性があります。 RAM (Resource Access Management) ユーザーを作成し、原則の最小権限に基づいてRAMユーザーに必要な権限を付与し、RAMユーザーを使用してAPI操作を呼び出すことをお勧めします。 Auto Scalingでサポートされているポリシーの詳細については、「Auto Scalingのシステムポリシー」および「Auto Scalingのカスタムポリシー」をご参照ください。
Alibaba Cloud CLIを使用する前に、Alibaba Cloud CLIでID資格情報やリージョンIDなどの情報を設定する必要があります。 Alibaba Cloud CLIは、さまざまなタイプのID資格情報をサポートしています。 詳細については、「資格情報の種類」をご参照ください。 Alibaba Cloud CLIでは、RAMユーザーのAccessKey情報を使用してID認証情報を設定できます。 そうするには、次の手順を実行します。
RAMユーザーを作成し、そのRAMユーザーがID資格情報を設定するためのAccessKeyペアを作成します。 詳細については、「RAM ユーザーの作成」および「AccessKeyペアの作成」をご参照ください。
RAM ユーザーに必要な権限を付与します。 この例では、
AliyunESSReadOnlyAccessポリシーをRAMユーザーにアタッチします。 このポリシーは、RAMユーザーにAuto Scalingの読み取り専用権限を付与します。 詳細については、「RAMユーザーへの権限付与」をご参照ください。ID資格情報を設定するリージョンのIDを取得します。 Alibaba Cloud CLIは、指定したリージョンIDを使用してAPI呼び出しを開始します。 Auto Scalingでサポートされているリージョンの詳細については、「エンドポイント」をご参照ください。
説明Alibaba Cloud CLIを使用する場合、
-- regionオプションを使用して、特定のリージョンでコマンドを実行できます。 このオプションを使用すると、Alibaba Cloud CLIはデフォルトの資格情報設定と環境変数設定のリージョン情報を無視します。 詳細については、「API呼び出しのコマンドラインオプション」をご参照ください。RAMユーザーのAccessKeyペアを使用して、
AkProfileという名前のプロファイルでAccessKey資格情報を設定します。 詳細については、「構成例」をご参照ください。
ステップ3: CLIコマンドを生成する
OpenAPI ExplorerのDescribeScalingActivitiesに移動します。

[パラメーター] タブで、パラメーターを設定します。 次に、[CLIの例] タブをクリックして、生成されたサンプルCLIコマンドを表示します。
CLIコマンドをコピーするか、Cloud ShellでCLIコマンドをデバッグします。
アイコンをクリックしてCloud Shellを起動し、Cloud ShellでCLIコマンドをデバッグします。
アイコンをクリックして、サンプルコマンドをクリップボードにコピーします。 次に、サンプルコマンドをローカルシェルに貼り付けて、サンプルコマンドを実行するか、自動化コマンドラインスクリプトを編集します。
説明CLIコマンドをオンプレミスのシェルに貼り付けてデバッグするときは、パラメーターの形式に注意してください。 Alibaba Cloud CLIで必要なパラメーター形式の詳細については、「パラメーター形式」をご参照ください。
デフォルトでは、OpenAPI Explorerは、生成されたCLIコマンドに
-- regionオプションを追加します。 コマンドをシェルにコピーすると、Alibaba Cloud CLIはデフォルトのID資格情報設定と環境変数設定のリージョン情報を無視し、指定されたリージョンで優先的にコマンドを実行します。 ビジネス要件に基づいてオプションを削除または保持できます。
ステップ4: Auto Scaling APIを呼び出す
Alibaba Cloud CLIは、以前のAuto Scaling API操作を統合します。 バージョン
2022-02-22のAuto Scaling APIを使用することを推奨します。 これを行うには、Auto Scaling API操作を呼び出すときに、-- forceオプションと-- versionオプションを設定します。 詳細については、「APIの強制呼び出し」をご参照ください。バージョン
2022-02-22のAuto Scaling API操作に対してOpenAPI ExplorerでCLIコマンドが生成されると、-- forceおよび-- versionオプションがCLIコマンドに自動的に追加されます。 この操作を手動で実行する必要はありません。詳細については、「機能別操作一覧」をご参照ください。
次の例では、Auto ScalingのDescribeScalingActivities操作を呼び出して、特定のスケーリングアクティビティの詳細を表示します。 詳細については、「DescribeScalingActivities」をご参照ください。
以下のコマンドを実行します。
aliyun ess DescribeScalingActivities --RegionId 'cn-hangzhou' --ScalingGroupId 'asg-bp18p2yfxow2dloq****' --version 2022-02-22 --method POST --forceコマンド出力を表示します。
{ "RequestId": "CC107349-57B7-4405-B1BF-9BF5AF7F****", "PageNumber": 1, "PageSize": 10, "TotalCount": 1, "ScalingActivities": [ { "Progress": 100, "ScalingInstanceNumber": 1, "AttachedCapacity": "0", "TotalCapacity": "2", "ScalingGroupId": "asg-bp18p2yfxow2dloq****", "AutoCreatedCapacity": "2", "EndTime": "2020-09-10T09:54Z", "StartTime": "2020-09-10T09:54Z", "Description": "Add \\\"1\\\" ECS instance", "StatusCode": "Successful", "Cause": "A user requests to execute scaling rule \\\"asr-bp12tcnol686y1ik****\\\", changing the Total Capacity from \\\"1\\\" to \\\"2\\\".", "ScalingActivityId": "asa-bp161xudmuxdzofe****", "StatusMessage": "\\\"1\\\" ECS instances are added", "CreatedCapacity": 1, "DestroyedCapacity": 1, "StartedCapacity": 1, "StoppedCapacity": 1, "CreatedInstances": [ "[\"i-abc1\",\"i-abc2\"]" ], "DestroyedInstances": [ "[\n \"i-abc1\",\n \"i-abc2\"\n]" ], "StartedInstances": [ "[\n \"i-abc1\",\n \"i-abc2\"\n]" ], "StoppedInstances": [ "[\n \"i-abc1\",\n \"i-abc2\"\n]" ], "ErrorCode": "OperationDenied.NoStock", "ErrorMessage": "The specified ECS resource is out of stock in this region. Please try again later.", "Detail": "\"new ECS instances \"i-j6c8ilerw, i-j6c8iler4mx\" are created.\"", "TriggerSourceType": "Api", "TriggerSourceId": "2346366580*****", "LifecycleHookContext": { "DisableLifecycleHook": false, "IgnoredLifecycleHookIds": [ "ash-bp14zolna43z266bq***\n" ] }, "ActivityMetadata": "{\\\"goatscaler.io/managed\\\":\\\"true\\\"}", "InstanceRefreshTaskId": "ir-asdf12adsxg*****" } ] }説明Auto ScalingのAPIを呼び出した後にエラーが返された場合は、エラーコードに基づいて入力パラメーターと値が有効かどうかを確認してください。
OpenAPIの問題診断ページで返されたリクエストIDまたはSDKエラー情報に基づいて、セルフサービス診断を実行することもできます。 。