このトピックでは、Auto Scaling (ESS) の DescribeScalingActivities 操作を例に、Alibaba Cloud CLI を使用して Auto Scaling の OpenAPI 操作を呼び出す方法について説明します。
背景情報
Alibaba Cloud Command Line Interface (CLI) は、OpenAPI 上に構築された Auto Scaling です。Alibaba Cloud CLI を使用して、Auto Scaling の管理とメンテナンスを自動化できます。詳細については、「Alibaba Cloud CLI とは」をご参照ください。
ステップ 1: Alibaba Cloud CLI のインストール
CLI は、Windows、Linux、macOS にインストールできます。ご利用のオペレーティングシステムに応じたインストール方法を選択してください。
Windows: Windows への Alibaba Cloud CLI のインストール。
Cloud Shell には Alibaba Cloud CLI がプリインストールされており、ご利用の Cloud Shell は自動的に設定されるため、手動でのセットアップは不要です。Cloud Shell で Alibaba Cloud CLI コマンドを直接デバッグできます。詳細については、「Cloud Shell とは」をご参照ください。
ステップ 2: Alibaba Cloud CLI の設定
Alibaba Cloud アカウント (root ユーザー) は、すべてのプロダクトの OpenAPI に対する完全な管理権限とアクセス権限を持っているため、高いセキュリティリスクをもたらします。RAM ユーザーを作成し、最小権限の原則に基づいて RAM ユーザーに権限を付与してから、その RAM ユーザーを使用して OpenAPI にアクセスすることを強く推奨します。Auto Scaling でサポートされているポリシーの詳細については、「Auto Scaling のシステムポリシー」および「Auto Scaling のカスタムポリシー」をご参照ください。
Alibaba Cloud CLI を使用する前に、認証情報やリージョン ID などの情報を設定する必要があります。Alibaba Cloud CLI は、複数のタイプの認証情報をサポートしています。詳細については、「認証情報のタイプ」をご参照ください。RAM ユーザーの AccessKey を使用して、AK タイプの認証情報を設定できます。手順は次のとおりです。
認証情報を設定するために、RAM ユーザーと AccessKey を作成します。詳細については、「RAM ユーザーの作成」および「AccessKey の作成」をご参照ください。
RAM ユーザーに、Auto Scaling への読み取り専用アクセスを許可するために、
AliyunESSReadOnlyAccess権限を付与します。 詳細については、RAM ユーザー権限の管理をご参照ください。利用可能なリージョン ID を取得します。Alibaba Cloud CLI は、指定されたリージョンを使用して OpenAPI 呼び出しを行います。Auto Scaling で利用可能なリージョンについては、「エンドポイント」をご参照ください。
説明Alibaba Cloud CLI では、
--regionオプションを使用してコマンド呼び出しのリージョンを指定します。このオプションは、デフォルトの認証情報設定および環境変数で指定されたリージョンをオーバーライドします。詳細については、「コマンドラインオプション」をご参照ください。RAM ユーザーの AccessKey を使用して、AK タイプの認証情報を設定します。設定ファイルに
AkProfileという名前を付けます。詳細については、「設定例」をご参照ください。
ステップ 3: CLI コマンド例の生成
OpenAPI Explorer で、DescribeScalingActivities のデバッグページに移動します。

[パラメーター設定] セクションで、リクエストパラメーターを入力します。[CLI サンプル] タブをクリックして、生成された CLI サンプルを表示します。
CLI サンプルをコピーするか、Cloud Shell で実行します。
[コマンドの実行]
ボタンをクリックして Cloud Shell を開き、コマンドをデバッグします。[コピー]
ボタンをクリックして、CLI サンプルをクリップボードにコピーします。サンプルをローカルのシェルツールに貼り付けて実行するか、自動化されたコマンドラインスクリプトの編集に使用します。
説明CLI サンプルをローカルのシェルツールにコピーしてデバッグする場合は、パラメーターフォーマットに注意してください。Alibaba Cloud CLI コマンドのパラメーターフォーマットの詳細については、「パラメーターフォーマット」をご参照ください。
OpenAPI Explorer は、デフォルトで生成されたサンプルに
--regionオプションを追加します。コマンドをコピーしてローカルで実行すると、Alibaba Cloud CLI はデフォルトの認証情報設定および環境変数のリージョン情報を無視します。指定されたリージョンを優先的に使用してコマンドを実行します。必要に応じて、このオプションを削除または保持できます。
ステップ 4: Auto Scaling OpenAPI の呼び出し
Alibaba Cloud CLI には、旧バージョンの Auto Scaling OpenAPI が統合されています。
--forceオプションと--versionオプションを使用して、2022-02-22バージョンの Auto Scaling OpenAPI を呼び出します。詳細については、「API 呼び出しの強制」をご参照ください。OpenAPI Explorer は、
2022-02-22バージョンの Auto Scaling OpenAPI のコマンドサンプルを生成する際に、--forceオプションと--versionオプションを自動的に追加します。手動での変更は不要です。利用可能な API の詳細については、「API 概要」をご参照ください。
次の例では、Alibaba Cloud CLI を使用して Auto Scaling の DescribeScalingActivities API を呼び出し、特定のスケーリングアクティビティの詳細を表示する方法を示します。API の詳細については、「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 OpenAPI の呼び出し後にエラーが返された場合は、返されたエラーコードに基づいてリクエストパラメーターとその値を確認してください。
呼び出しから返された RequestID または SDK エラーメッセージを記録します。Alibaba Cloud OpenAPI 診断プラットフォームを使用して、自己診断を実行します。