すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:Alibaba Cloud CLIを使用したECSインスタンスの作成と管理

最終更新日:Sep 29, 2024

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のインストールと設定

オンプレミス端末の使用

  1. Alibaba Cloud CLI のインストール。

    Alibaba Cloud CLIは、Windows、Linux、およびmacOSにインストールできます。 コンピューターで実行されるオペレーティングシステムに適したインストールパッケージをダウンロードします。 さまざまなオペレーティングシステムにAlibaba Cloud CLIをインストールする方法については、以下のトピックを参照してください。

  2. 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コンソールに移動します。

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コマンドを生成

  1. 最初に OpenAPIポータル

  2. CLIコマンドを生成するAPI操作を選択し、パラメーターを指定します。

  3. 右側のウィンドウの [CLIの例] タブをクリックして、指定したパラメーターで生成されたCLIコマンドを表示します。

    2024-08-12_10-30-57.png

使用例

次の例では、Alibaba Cloud CLIを使用してECS API操作を呼び出す方法について説明します。

重要

次のサンプルリクエストは参考用です。 ビジネス要件に基づいてCLIコマンドを変更します。

ECS インスタンスの作成

次の例では、Alibaba Cloud CLIを使用して、中国 (杭州) リージョンのAlibaba Cloud LinuxイメージからサブスクリプションECSインスタンスを作成する方法を説明します。

  1. 準備をします。

    ECSインスタンスを作成する前に、仮想プライベートクラウド (VPC) 、vSwitch、およびセキュリティグループを作成し、上記のリソースのIDを取得します。

    説明

    上記のリソースを既に作成していて、そのリソースがビジネス要件を満たしている場合は、この手順をスキップしてください。

    1. 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****"
        }
    2. 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****"
        }
    3. CreateSecurityGroup操作を呼び出して、VPCにセキュリティグループを作成します。

      • サンプルコマンド

        aliyun ecs CreateSecurityGroup \
        --RegionId cn-hangzhou \
        --VpcId vpc-bp1d9v4763ym2hlzt****
      • サンプルコマンド出力

        {
                "RequestId": "B1C25C34-9B84-49E3-9E50-FB7D7970****",
                "SecurityGroupId": "sg-bp18z2q1jg4gq95t****"
        }
    4. 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****"
        }
  2. ECSインスタンスを作成します。

    RunInstances操作を呼び出して、サブスクリプションECSインスタンスを作成します。

    1. シナリオの例

      パラメーター

      説明と例

      RegionId

      ECSインスタンスを作成するリージョンのID。 例: cn-hangzhou

      ImageId

      イメージの ID です。 IDがaliyun_3_x64_20G_alibase_20240528.vhdのAlibaba Cloud Linuxイメージを選択することを推奨します。

      InstanceType

      インスタンスタイプです。 例:

      • パーソナルアプリケーションの場合、2 vCPUと2 GiBのメモリを持つecs.e-c1m1.largeインスタンスタイプを選択することを推奨します。

      • 中小企業のアプリケーションでは、2 vCPUと4 GiBのメモリを持つecs.c7.largeインスタンスタイプを選択することを推奨します。

      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。

    2. サンプルコマンド

      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
    3. サンプルコマンド出力

      { 
              "InstanceIdSets": {
                      "InstanceIdSet": [
                              "i-bp1de173dp87k5uv****"
                      ]
              },
              "OrderId": 23577729747****,
              "RequestId": "B0855F1A-279F-5153-BAA9-C245E073****",
              "TradePrice": ****
      }

ECSインスタンスへの接続

  1. ECSインスタンスのパブリックIPアドレスを取得します。

    ECSインスタンスのIDを使用してDescribeInstances操作を呼び出し、インスタンスのパブリックIPアドレスを照会します。 この例では、ECSインスタンスのIDはi-bp1ducce5hs1jm98 **** です。

    • サンプルコマンド

      aliyun ecs DescribeInstances \
      --RegionId cn-hangzhou \
      --InstanceIds '["i-bp1ducce5hs1jm98****"]'
    • サンプルコマンド出力

      PublicIpAddressesパラメーターは、ECSインスタンスのパブリックIPアドレスを示します。

      公网IP

  2. ECS インスタンスに接続します。

    ssh <Username>@<Public IP address>

    ssh登录

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呼び出しのコマンドラインオプション」をご参照ください。