Alibaba Cloud CLIは、端末またはコマンドラインインターフェイスでAlibaba Cloud API操作を呼び出して、Alibaba Cloudリソースを作成、設定、および管理できるコマンドラインツールです。 このトピックでは、Alibaba Cloud CLIを使用してElastic Compute Service (ECS) APIを呼び出してECSインスタンスを作成および管理する方法と例について説明します。
Alibaba Cloud CLIの使用
Alibaba Cloud CLIのインストールと設定
オンプレミス端末の使用
Alibaba Cloud CLI のインストール。
Alibaba Cloud CLIは、Windows、Linux、およびmacOSにインストールできます。 コンピューターで実行されるオペレーティングシステムに適したインストールパッケージをダウンロードします。 さまざまなオペレーティングシステムにAlibaba Cloud CLIをインストールする方法については、以下のトピックを参照してください。
Alibaba Cloud CLI の設定
Alibaba Cloudリソースを呼び出すために必要な資格情報、リージョン、言語を設定します。 詳細については、「資格情報の設定」トピックの「ID資格情報の設定方法」セクションをご参照ください。
重要 Alibaba Cloudアカウントのセキュリティを確保するために、API操作の呼び出しに使用するRAM (Resource Access Management) ユーザーを作成し、そのRAMユーザーのAccessKeyペアを作成することを推奨します。 AccessKeyペアを安全に使用する方法については、「Credentialセキュリティソリューション」をご参照ください。
Cloud Shellの使用 (デバッグシナリオ用)
インストールや設定を必要とせずに、Cloud ShellでAlibaba Cloud CLIを直接使用できます。 Cloud Shellの仮想マシン (VM) 破壊機能によりデータが失われる可能性があるため、Cloud ShellのAlibaba Cloud CLIでコマンドを実行して、デバッグなどの簡単で迅速な操作を実行することを推奨します。
重要 期限切れの破壊: Cloud Shellによって作成された各VMは1時間のみ有効です。 VMの有効期限が切れると、Cloud ShellはすぐにVMを破棄します。Cloud Shellを再起動すると、新しいVMが作成されます。
操作なしによる破壊: VMで30分間対話操作が実行されない場合、またはすべてのセッションが閉じられている場合、VMは15分で破壊されます。 Cloud Shellを再起動すると、新しいVMが作成されます。 詳細については、「制限事項」をご参照ください。
ECSコンソールにログインし、右上隅にあるCloud ShellアイコンをクリックしてCloud Shellコンソールに移動します。
Alibaba Cloud CLIを使用したECS APIの呼び出し
重要 さまざまなデータ型のフィールドでサポートされている形式については、「パラメーター形式」をご参照ください。
コマンドの構文については、「CLIコマンドの生成と実行」トピックの構文を参照してください。
API操作を呼び出す前に、API操作の使用法のメモを読むことをお勧めします。
Alibaba Cloud CLIをインストールおよび設定した後、次の形式でコマンドを実行してECS API操作を呼び出すことができます。
aliyun ecs <API operation name> --<Parameter 1 Value 1> --<Parameter 2 Value 2> ...
OpenAPI Explorer (OpenAPIポータルとも呼ばれます) を使用してAPI操作のCLIコマンドを生成
最初に OpenAPIポータル。
CLIコマンドを生成するAPI操作を選択し、パラメーターを指定します。
右側のウィンドウの [CLIの例] タブをクリックして、指定したパラメーターで生成されたCLIコマンドを表示します。
使用例
次の例では、Alibaba Cloud CLIを使用してECS API操作を呼び出す方法について説明します。
重要 次のサンプルリクエストは参考用です。 ビジネス要件に基づいてCLIコマンドを変更します。
ECS インスタンスの作成
次の例では、Alibaba Cloud CLIを使用して、中国 (杭州) リージョンのAlibaba Cloud LinuxイメージからサブスクリプションECSインスタンスを作成する方法を説明します。
準備をします。
ECSインスタンスを作成する前に、仮想プライベートクラウド (VPC) 、vSwitch、およびセキュリティグループを作成し、上記のリソースのIDを取得します。
説明 上記のリソースを既に作成していて、そのリソースがビジネス要件を満たしている場合は、この手順をスキップしてください。
CreateVpc操作を呼び出してVPCを作成します。
この例では、VPCは中国 (杭州) リージョンに作成され、CIDRブロック192.168.0.0/16に関連付けられています。
サンプルコマンド
aliyun vpc CreateVpc \
--RegionId cn-hangzhou \
--CidrBlock 192.168.0.0/16
サンプルコマンド出力
{
"RequestId": "EC94C73B-8103-4B86-B353-E65C7C9E****",
"ResourceGroupId": "rg-acfmzw2jz2z****",
"RouteTableId": "vtb-bp1jxpr9ji5wcn4yv****",
"VRouterId": "vrt-bp1dyxemup2q4ouga****",
"VpcId": "vpc-bp1d9v4763ym2hlzt****"
}
CreateVSwitch操作を呼び出して、VPCにvSwitchを作成します。
この例では、vSwitchがVPCに作成され、そのIDはvpc-bp1d9v4763ym2hlzt **** で、CIDRブロック192.168.0.0/24に関連付けられています。
サンプルコマンド
aliyun vpc CreateVSwitch \
--CidrBlock 192.168.0.0/24 \
--VpcId vpc-bp1d9v4763ym2hlzt**** \
--ZoneId=cn-hangzhou-i
サンプルコマンド出力
{
"RequestId": "AF1787C4-0D81-44F0-A324-D5C54EA0****",
"VSwitchId": "vsw-bp11hf5r945gewysp****"
}
CreateSecurityGroup操作を呼び出して、VPCにセキュリティグループを作成します。
サンプルコマンド
aliyun ecs CreateSecurityGroup \
--RegionId cn-hangzhou \
--VpcId vpc-bp1d9v4763ym2hlzt****
サンプルコマンド出力
{
"RequestId": "B1C25C34-9B84-49E3-9E50-FB7D7970****",
"SecurityGroupId": "sg-bp18z2q1jg4gq95t****"
}
AuthorizeSecurityGroup操作を呼び出して、セキュリティグループにセキュリティグループルールを作成します。
この例では、ポート22のTCPトラフィックを許可するインバウンドセキュリティグループルールが、IDがsg-bp18z2q1jg4gq95t **** のセキュリティグループに追加されます。
サンプルコマンド
aliyun ecs AuthorizeSecurityGroup \
--RegionId cn-hangzhou \
--SecurityGroupId sg-bp18z2q1jg4gq95t**** \
--IpProtocol tcp \
--SourceCidrIp 0.0.0.0/0 \
--PortRange 22/22
サンプルコマンド出力
{
"RequestId": "FA8B1E61-C9C9-4D91-9628-64B8E2F4****"
}
ECSインスタンスを作成します。
RunInstances操作を呼び出して、サブスクリプションECSインスタンスを作成します。
シナリオの例
パラメーター | 説明と例 |
RegionId | ECSインスタンスを作成するリージョンのID。 例: cn-hangzhou |
ImageId | イメージの ID です。 IDがaliyun_3_x64_20G_alibase_20240528.vhdのAlibaba Cloud Linuxイメージを選択することを推奨します。 |
InstanceType | インスタンスタイプです。 例: |
SecurityGroupId | セキュリティグループの ID です。 CreateSecurityGroup操作の応答から値を取得します。 例: sg-bp18z2q1jg4gq95t **** |
VSwitchId | VSwitch の ID です。 CreateVSwitch操作の応答から値を取得します。 例: vsw-bp11hf5r945gewysp **** |
InstanceName | ECSインスタンスの名前。 例: ecs_cli_demo |
InstanceChargeType | ECSインスタンスの課金方法。 サブスクリプションECSインスタンスを作成するには、値をPrePaidに設定します。
説明 アカウントの残高が十分であることをご確認ください。 |
PeriodUnit | サブスクリプション期間の単位。 例: 月 |
Period | サブスクリプション期間です。 例: 1。 |
InternetMaxBandwidthOut | 最大アウトバウンドパブリック帯域幅です。 例: 1。 |
Password | ECSインスタンスのログインパスワード。 例: <yourPassword>
説明 インスタンスのセキュリティを確保するには、複雑なパスワードを指定する必要があります。 |
SystemDisk.Category | システムディスクのカテゴリ。 例: cloud_essd。 |
SystemDisk.Size | システムディスクのサイズ。 例: 40。 |
サンプルコマンド
aliyun ecs RunInstances \
--RegionId cn-hangzhou \
--ImageId aliyun_3_x64_20G_alibase_20240528.vhd \
--InstanceType ecs.c7.large \
--SecurityGroupId sg-bp18z2q1jg4gq95t**** \
--VSwitchId vsw-bp11hf5r945gewys**** \
--InstanceName ecs_cli_demo \
--InstanceChargeType PrePaid \
--PeriodUnit Month \
--Period 1 \
--InternetMaxBandwidthOut 1 \
--Password <yourPassword> \
--SystemDisk.Category cloud_essd \
--SystemDisk.Size 40
サンプルコマンド出力
{
"InstanceIdSets": {
"InstanceIdSet": [
"i-bp1de173dp87k5uv****"
]
},
"OrderId": 23577729747****,
"RequestId": "B0855F1A-279F-5153-BAA9-C245E073****",
"TradePrice": ****
}
ECSインスタンスへの接続
ECSインスタンスのパブリックIPアドレスを取得します。
ECSインスタンスのIDを使用してDescribeInstances操作を呼び出し、インスタンスのパブリックIPアドレスを照会します。 この例では、ECSインスタンスのIDはi-bp1ducce5hs1jm98 ****
です。
ECS インスタンスに接続します。
ssh <Username>@<Public IP address>
ECS インスタンスの開始
StartInstance操作を呼び出して、ECSインスタンスを起動します。
シナリオ例: ドライラン後に中国 (杭州) リージョン (cn-Hangzhou) でIDがi-bp1aq39j2yul5y01 ****
であるECSインスタンスを起動し、インスタンスの起動中にトラブルシューティングを実行しないでください。
サンプルコマンド
aliyun ecs StartInstance \
--RegionId cn-hangzhou \
--InstanceId i-bp1aq39j2yul5y01**** \
--InitLocalDisk false \
--DryRun false
サンプルコマンド出力
{
"RequestId": "2DD09CBD-1F4D-4923-94C7-F3BD67137BBE"
}
ECSインスタンスの詳細の照会
DescribeInstancesを呼び出して、1つ以上のECSインスタンスの詳細を照会します。
例1: インスタンスIDによるECSインスタンスの照会
この例では、IDがi-bp14a7xie8erwsvo ****
であるECSインスタンスの詳細が照会されます。
サンプルコマンド
aliyun ecs DescribeInstances \
--RegionId cn-hangzhou \
--InstanceIds '["i-bp14a7xie8erwsvo****"]' \
--output cols=InstanceId,InstanceName,Description,ImageId,Status rows=Instances.Instance[]
サンプルコマンド出力
InstanceId | InstanceName | Description | ImageId | Status
---------- | ------------ | ----------- | ------- | ------
i-bp1de173dp87k5uv**** | ecs_cli_demo | | aliyun_3_x64_20G_alibase_20240528.vhd | Running
例2: タグによるECSインスタンスの照会
この例では、owner:zhangsan
タグが追加されたECSインスタンスの詳細が照会されます。
サンプルコマンド
aliyun ecs DescribeInstances \
--RegionId cn-hangzhou \
--Tag.1.Key owner \
--Tag.1.Value zhangsan \
--output cols=InstanceId,InstanceName,Description,ImageId,Status rows=Instances.Instance[]
サンプルコマンド出力
InstanceId | InstanceName | Description | ImageId | Status
---------- | ------------ | ----------- | ------- | ------
i-bp1de173dp87k5uv**** | ecs_cli_demo | | aliyun_3_x64_20G_alibase_20240528.vhd | Running
例3: イメージIDによるECSインスタンスの照会
この例では、イメージがm-bp12qhgxbmp5eh02 ****
タグを持つECSインスタンスの詳細が照会されます。
サンプルコマンド
aliyun ecs DescribeInstances \
--RegionId cn-hangzhou \
--ImageId m-bp12qhgxbmp5eh02**** \
--output cols=InstanceId,InstanceName,Description,ImageId,Status rows=Instances.Instance[]
サンプルコマンド出力
InstanceId | InstanceName | Description | ImageId | Status
---------- | ------------ | ----------- | ------- | ------
i-bp14a7xie8erwsvo**** | demo01 | desc01 | m-bp12qhgxbmp5eh02**** | Running
i-bp1aq39j2yul5y01**** | demo02 | desc02 | m-bp12qhgxbmp5eh02**** | Stopped
例4: 特定のVPC内のECSインスタンスの照会
この例では、IDがvpc-bp1vwnn14rqpyiczj ****
のVPCに存在し、IDがvsw-bp1ddbrxdlrcbim46 ****
のvSwitchに接続されているECSインスタンスの詳細が照会されます。
サンプルコマンド
aliyun ecs DescribeInstances \
--RegionId cn-hangzhou \
--VpcId vpc-bp1vwnn14rqpyiczj**** \
--VSwitchId vsw-bp1ddbrxdlrcbim46**** \
--output cols=InstanceId,InstanceName,ImageId,Status rows=Instances.Instance[]
サンプルコマンド出力
InstanceId | InstanceName | ImageId | Status
---------- | ------------ | ------- | ------
i-bp14a7xie8erwsvo**** | namedemo01 | m-bp12qhgxbmp5eh02**** | Running
i-bp1c271nqm264lwj**** | namedemo02 | P2VSImageLnx125 | Running
i-bp18a6ub0vt1tvn1**** | namedemo03 | aliyun_3_x64_20G_alibase_20240528.vhd | Running
i-bp1aq39j2yul5y01**** | namedemo04 | m-bp12qhgxbmp5eh02**** | Stopped
例5: ページによるECSインスタンスの照会
DescribeInstancesを呼び出して、中国 (杭州) リージョンのECSインスタンスをページごとに照会します。 各ページは5つのエントリを表示する。
サンプルコマンド
aliyun ecs DescribeInstances \
--RegionId cn-hangzhou \
--PageNumber 2 \
--PageSize 5 \
--output cols=InstanceId,InstanceName,ImageId,Status rows=Instances.Instance[]
サンプルコマンド出力
InstanceId | InstanceName | ImageId | Status
---------- | ------------ | ------- | ------
i-bp1akazu9o0rm7q0**** | demoname01 | centos_8_0_x64_20G_alibase_20191225.vhd | Running
i-bp134jm1g6kqyiqu**** | demoname02 | m-bp1bc3g3b032o0ja**** | Running
i-bp17qwke5y0v7hk2**** | demoname03 | centos_7_02_64_20G_alibase_20170818.vhd | Running
i-bp18a6ub0vt1tvn1**** | demoname04 | centos_7_02_64_20G_alibase_20170818.vhd | Running
i-bp1aq39j2yul5y01**** | demoname05 | m-bp12qhgxbmp5eh02**** | Stopped
スナップショットの作成
CreateSnapshot操作を呼び出して、ディスクのスナップショットを作成します。
シナリオ例: IDがd-bp14bjlwo3t3owin ****
であるエンタープライズSSD (ESSD) のスナップショットを作成します。 スナップショット名をdemonameに、説明をデモに、保持期間を3日に設定します。
サンプルコマンド
aliyun ecs CreateSnapshot \
--DiskId d-bp14bjlwo3t3owin**** \
--SnapshotName demoname \
--Description demo \
--RetentionDays 3
サンプルコマンド出力
{
"RequestId": "DFB0B01F-420D-4932-911E-7328920C2012",
"SnapshotId": "s-bp1eyr9nxxoo9icj****"
}
ECSインスタンスからカスタムイメージを作成する
CreateImage操作を呼び出して、ECSインスタンスからカスタムイメージを作成します。
シナリオの例
パラメーター | 説明と例 |
InstanceId | ECSインスタンスのID。 例: i-bp1aq39j2yul5y01 **** 。 |
プラットフォーム | カスタムイメージ内のシステムディスクのオペレーティングシステムの分布。 例: Alibaba Cloud Linuxを示すAliyun。 |
RegionId | カスタムイメージを作成するリージョンのID。 例:cn-hangzhou。 |
サンプルコマンド
aliyun ecs CreateImage \
--RegionId cn-hangzhou \
--InstanceId i-bp1aq39j2yul5y01**** \
--ImageName demoimage \
--Description demoimage \
--Platform Aliyun
サンプルコマンド出力
{
"ImageId": "m-bp1503ydxxrppctb****",
"RequestId": "011AE447-20CE-4043-81AC-7AF2BBC4****"
}
ECS インスタンスの停止
ForceStopパラメーターをfalseに設定し、StoppedModeをKeepChargingに設定してStopInstance操作を呼び出して、ドライラン後に実行中 (実行中
) 状態のECSインスタンスを停止します。 ECSインスタンスが標準モードで停止し、ECSインスタンスの課金が継続されます。
シナリオ例: 中国 (杭州) (cn-Hangzhou) リージョンでIDがi-bp1aq39j2yul5y01 **** であるECSインスタンスを停止します。
サンプルコマンド
aliyun ecs StopInstance \
--RegionId cn-hangzhou \
--InstanceId i-bp1aq39j2yul5y01**** \
--ForceStop false \
--StoppedMode KeepCharging \
--DryRun false
サンプルコマンド出力
{
"RequestId": "121B5745-4983-57B1-BC97-C3A3536E****"
}
関連ドキュメント
このトピックでは、特定のAPI操作について説明します。 その他のAPI操作については、「関数別の操作の一覧」をご参照ください。
Alibaba Cloud CLIでは、コマンドラインオプションを指定して、ビジネス要件に基づいてコマンドの動作を変更したり、コマンドの拡張機能を実装したりできます。 詳細については、「API呼び出しのコマンドラインオプション」をご参照ください。