Alibaba Cloud CLI 3.3.0 以降のバージョンでは、プラグインベースのアーキテクチャを採用しており、各クラウドプロダクトのコマンドライン機能がスタンドアロンプラグインとして分離されています。これにより、必要なプラグインのみをインストールし、個別に更新できるため、CLI コアを軽量に保つことができます。すべてのプラグイン名はケバブケースを使用し、CLI はパラメーターを自動的にシリアル化して API 呼び出しを簡素化します。
前提条件
Alibaba Cloud CLI バージョン 3.3.0 以降がインストールされていること。詳細については、「CLI のインストール (Linux)」をご参照ください。
Alibaba Cloud CLI の認証情報が設定されていること。詳細については、「認証情報の設定」をご参照ください。
クイックスタート
このセクションでは、ecs プラグインを例に、プラグインをインストールし、利用可能なリージョンを一覧表示する方法を説明します。
# プラグインのインストール (ecs プラグインを例として)
aliyun plugin install --names ecs
# API を呼び出してリージョンを一覧表示
aliyun ecs describe-regions --accept-language zh-CNaliyun ecs --help を実行すると、ECS プラグインでサポートされているすべてのコマンドを表示できます。以降のセクションでは、プラグインの命名規則、インストールと管理、パラメーターの使用方法、および高度な機能について説明します。
プラグインの概要
プラグインは、各クラウドプロダクトの API 呼び出し機能をスタンドアロンの実行可能プログラムにパッケージ化し、CLI コアによって一元的にスケジューリングされます。主な特徴は次のとおりです:
オンデマンドインストール:必要なプラグインのみをインストールして、CLI のサイズを削減できます。
独立した更新:プラグインは独立してバージョンをリリースします。CLI コアをアップグレードする必要はありません。
一貫した命名:コマンドとパラメーターは、
describe-instancesや--accept-languageのようにケバブケースを使用します。パラメーターの簡素化:低レベルのパラメーターは自動的にシリアル化されます。キーと値のペアで入力できます。
完全なヘルプ:--help コマンドを実行して、パラメーターの型、説明、および必須かどうかを確認できます。
プラグインは ~/.aliyun/plugins ディレクトリにインストールされます。manifest.json ファイルには、インストール済みのプラグインがリストされています。
プラグインの命名規則
プラグイン名は aliyun-cli-<product-code> というフォーマットに従います。プロダクトコードは Alibaba Cloud OpenAPI のプロダクトコードと同じです。例は次のとおりです:
プラグイン名 | プロダクトコード | クラウドプロダクト |
|
| Elastic Computing サービス |
|
| Function Compute (FC) |
|
| ApsaraDB RDS |
プラグインのインストール、アンインストール、または更新時には、aliyun-cli-ecs のような完全なプラグイン名、または ecs のようなプロダクトコードを使用できます。名前は大文字と小文字を区別しません。
プラグインのインストール
プラグインの表示と検索
リモートインデックスで利用可能なすべてのプラグインを表示できます:
aliyun plugin list-remote次のサンプル出力が返されます:
Total plugins available: 316
Name Latest Version Preview Status Local Version Description
---- -------------- ------- ------ ------------- -----------
aliyun-cli-ecs 0.1.0 No Installed 0.1.0 Aliyun CLI plugin for Elastic Compute Service operations.
aliyun-cli-fc 0.1.0 No Installed 0.1.0 Aliyun CLI plugin for Function Compute 3.0 operations.
aliyun-cli-acc 0.1.0 No Not installed - Aliyun CLI plugin for acs operations.特定のコマンドを含むプラグインを見つけるには、検索機能を使用できます。検索機能はプレフィックスマッチングをサポートしています。
# ecs を含むプラグインを検索
aliyun plugin search ecs
# ecs プロダクトで describe で始まるコマンドを検索
aliyun plugin search "ecs describe"CLI プラグインはセマンティックバージョニング (SemVer) に従います。バージョン 0.x.x は実験的なものであり、互換性は保証されません。安定版は 1.0.0 から始まります。同じメジャーバージョン内では後方互換性が保証されます。メジャーバージョンの増分は、破壊的変更をもたらす可能性があります。
デフォルトでは、リモートインデックスは 1 時間キャッシュされます。強制的にリフレッシュするには、
ALIBABA_CLOUD_CLI_PLUGIN_NO_CACHE=true環境変数を設定します。
インストールの実行
次のコマンドを実行してプラグインをインストールします:
aliyun plugin install --names ecsインストールが完了したら、aliyun plugin list を実行して結果を確認できます。
Name Version Description
---- ------- -----------
aliyun-cli-ecs 0.1.0 Aliyun CLI plugin for Elastic Compute Service operations.
aliyun-cli-fc 0.1.0 Aliyun CLI plugin for Function Compute 3.0 operations.必要に応じて、次のオプションパラメーターを使用できます:
シナリオ | コマンド例 | 説明 |
一度に複数のプラグインをインストールする |
| 名前をスペースで区切る |
特定のバージョンをインストールする |
| 指定しない場合、最新の安定版をインストールする |
CLI は、darwin-arm64 や linux-amd64 など、ご利用のオペレーティングシステムとアーキテクチャを自動的に検出し、一致するプラグインパッケージをダウンロードします。バッチインストール中にプラグインのインストールに失敗した場合でも、他のプラグインはインストールできます。一部のプラグインには最小 CLI バージョンが必要です。ご利用の CLI バージョンが要件を満たしていない場合、CLI はアップグレードを促します。
プラグインの使用
プロダクトプラグインはケバブケースの命名規則を使用します。CLI は、AccessKey や STS トークンなどの認証情報、および現在のプロファイルからのリージョンとタイムアウト設定をプラグインに渡します。--profile や --region などのオプションもプラグインコマンドで利用できます。個別の設定を行う必要はありません。
コマンドのフォーマットは次のとおりです:
aliyun <product-code> <command> [--parameter-name value ...]使用例
プラグインヘルプの表示
aliyun <product-code> --help または aliyun <product-code> <command> --help を実行してヘルプ情報を表示できます。たとえば、ecs でサポートされているすべてのコマンドを一覧表示するには、次のコマンドを実行します:
aliyun ecs --helpecs プラグインの特定のコマンドのパラメーターを表示できます:
aliyun ecs describe-regions --helpサンプル出力:
......
--accept-language string, Filter results by Chinese, English, or Japanese. For more information, see [RFC
7231](https://tools.ietf.org/html/rfc7231). Valid values:
- zh-CN: Simplified Chinese.
- zh-TW: Traditional Chinese.
- en-US: English.
- ja: Japanese.
- fr: French.
- de: German.
- ko: Korean.
Default value: zh-CN
--instance-charge-type string, The billing method for the instance. For more information, see https://help.aliyun.
com/document_detail/25398.html. Valid values:
- PrePaid: Subscription. Confirm your account supports balance payment or credit payment. Otherwise, the error InvalidPayMethod occurs.
- PostPaid: Pay-as-you-go.
- SpotWithPriceLimit: Set a maximum price.
- SpotAsPriceGo: Let the system set the bid. The highest price is the pay-as-you-go price.
Default value: PostPaid
......ヘルプテキストには、各パラメーターの型、説明、および必須かどうかが表示されます。
リージョンの一覧表示
次のコマンドを実行してリージョンを一覧表示します:
aliyun ecs describe-regions --accept-language zh-CN次のサンプル出力が返されます:
{
"Regions": {
"Region": [
{
"LocalName": "中国 (青島)",
"RegionEndpoint": "ecs.cn-qingdao.aliyuncs.com",
"RegionId": "cn-qingdao"
},
{
"LocalName": "中国 (北京)",
"RegionEndpoint": "ecs.cn-beijing.aliyuncs.com",
"RegionId": "cn-beijing"
},
......高度な使用方法
構造化されたパラメーター入力
プラグインはパラメーターのシリアル化を自動的に処理します。repeatList、flat、JSON など、API のパラメーター形式に関係なく、同じ入力方法を使用できます:
配列パラメーター:パラメーターが配列を受け入れる場合、パラメーターを繰り返すことができます。例:
attribute-name。aliyun ecs describe-account-attributes\ --biz-region-id cn-hangzhou\ --attribute-name max-security-groups\ --attribute-name instance-network-typeオブジェクトパラメーター:オブジェクトには
key=value形式を使用します。例:tag。aliyun ecs describe-instances --biz-region-id cn-hangzhou\ --tag key=env value=prod
複数の API バージョン
一部のクラウドプロダクトは、複数の API バージョンをサポートしています。aliyun plugin list を実行して、インストールされているプラグインを一覧表示できます。説明に multi-version が含まれるプラグインは、複数の API バージョンをサポートしています。例:
Name Version Description
---- ------- -----------
aliyun-cli-ecs 0.1.0 Aliyun CLI plugin for Elastic Compute Service operations.
aliyun-cli-ess 0.1.0 Aliyun CLI plugin for Auto Scaling operations with multi-version API support.
aliyun-cli-fc 0.1.0 Aliyun CLI plugin for Function Compute 3.0 operations.複数の API バージョンをサポートするプラグインでは、--api-version パラメーターを使用して、使用したいバージョンを指定できます:
デフォルトの API バージョンを使用する:
aliyun ess describe-scaling-groups --biz-region-id cn-hangzhou--api-versionパラメーターを使用して API バージョンを指定する:aliyun ess describe-scaling-groups --api-version 2022-02-22 --biz-region-id cn-hangzhouサポートされている API バージョンを一覧表示する:
aliyun ess list-api-versions
特定の API バージョンを頻繁に使用する場合は、環境変数を使用してデフォルトバージョンとして設定できます。これにより、コマンドを実行するたびに --api-version パラメーターを指定する必要がなくなります。環境変数の形式は ALIBABA_CLOUD_<PRODUCT_CODE>_API_VERSION です。<PRODUCT_CODE> をプロダクトコードの大文字に置き換えます。例:
# 環境変数を追加して適用する
echo 'export ALIBABA_CLOUD_ESS_API_VERSION=2022-02-22' >> ~/.bashrc
source ~/.bashrc環境変数を設定すると、コマンドはデフォルトで指定された API バージョンを使用します。コマンドで --api-version パラメーターを指定した場合、そのパラメーターが環境変数よりも優先されます。
プラグインの更新とアンインストール
プラグインの更新
指定したプラグインを更新できます:
aliyun plugin update --name ecsインストール済みのプラグインをすべて更新できます。
aliyun plugin updateプラグインがすでに最新の場合、CLI は更新が不要であることを示します。プラグインをプレリリースバージョンに更新するには、--enable-pre パラメーターを追加します。
プラグインのアンインストール
aliyun plugin uninstall --name ecs操作が完了したら、aliyun plugin list を実行して結果を確認できます。
プラグイン自動インストールの設定
クラウドプロダクトのコマンドを実行する際に、必要なプラグインがインストールされていない場合、CLI はそれを自動的にインストールできます。この機能は、CI/CD パイプラインやスクリプトなどの非インタラクティブ環境で有効にできます。また、さまざまなクラウドプロダクトを多数使用する場合にもこの機能を有効にできます。これにより、中断や手動での繰り返しのインストールを防ぐことができます。
有効化の方法
この機能は、次のコマンドを実行して有効にできます:
aliyun configure set --auto-plugin-install trueまたは、環境変数を設定して有効にします (Linux の例):
# 環境変数を追加して適用する
echo 'export ALIBABA_CLOUD_CLI_PLUGIN_AUTO_INSTALL=true' >> ~/.bashrc
source ~/.bashrc設定後、aliyun configure get を実行して設定を確認できます。
プレリリースバージョンの自動インストールを有効にするには:
aliyun configure set --auto-plugin-install-enable-pre trueまたは、環境変数を使用して設定します。たとえば、Linux の場合:
# 環境変数を追加して適用する
echo 'export ALIBABA_CLOUD_CLI_PLUGIN_AUTO_INSTALL_ENABLE_PRE=true' >> ~/.bashrc
source ~/.bashrcインストール戦略
コマンドラインインターフェイス (CLI) は、実行環境に基づいてポリシーを選択します。
シナリオ | 動作 |
自動インストールが有効 | プラグインを自動的にインストールし、コマンドの実行を続行する |
インタラクティブターミナルで自動インストールが無効 | インストールを確認するプロンプトを表示する |
非インタラクティブ環境 (スクリプト、パイプライン) | インストールプロンプトを表示するが、自動的にはインストールしない |
以下は自動インストールのサンプル出力です:
# ecs プラグインがインストールされていない状態で実行
aliyun ecs describe-regions --accept-language zh-CN
# 自動インストールの出力
Plugin 'aliyun-cli-ecs' is required for command 'ecs describe-regions' but not installed.
Auto-installing plugin 'aliyun-cli-ecs' (including pre-release versions)...
Downloading aliyun-cli-ecs 0.1.0...
Plugin aliyun-cli-ecs 0.1.0 installed successfully!
......インタラクティブインストールのサンプル出力 (自動インストールが無効の場合):
# ecs プラグインがインストールされていない状態で実行
aliyun ecs describe-regions --accept-language zh-CN
# インタラクティブインストールの出力
Plugin 'aliyun-cli-ecs' is required for command 'ecs describe-regions' but not installed.
Tip: Run 'aliyun configure set --auto-plugin-install true' to skip this prompt.
Do you want to install it? [Y/n]: y
Installing plugin 'aliyun-cli-ecs' (including pre-release versions)...
Downloading aliyun-cli-ecs 0.1.0...
Plugin aliyun-cli-ecs 0.1.0 installed successfully!
......付録
プラグインコマンドリファレンス
コマンド | 説明 |
| インストール済みのプラグインを一覧表示する |
| 利用可能なリモートプラグインを一覧表示する |
| コマンドを含むプラグインを検索する |
| プラグインをインストールする |
| プラグインを更新する |
| プラグインをアンインストールする |
プラグイン環境変数
次の環境変数を使用して、プラグインの動作を制御できます:
環境変数 | 説明 |
| カスタムプラグインディレクトリ。デフォルト: |
|
|
|
|
|
|
| プロダクトプラグインのデフォルト API バージョンを設定する。例: |
| パラメーターのヘルプテキストの行の長さを調整する。 |
よくある質問
プラグインのインストール時に「利用可能な安定版がありません」と表示される
このメッセージは、プラグインにプレリリースバージョンしか利用できないことを示します。プレリリースバージョンをインストールするには、インストールコマンドに --enable-pre パラメーターを追加します:
aliyun plugin install --names <plugin-name> --enable-pre