9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

IDCFクラウドでAPIを使う(cloudstack-apiコマンドのメモ)

Last updated at Posted at 2014-10-23

基本的にはドキュメントを読めば、管理画面からできることは殆どできます。

なので、簡易使い方メモ的に。
(気になるコマンドがあれば継続して更新します)

事前に、cloudstack-apiコマンドのインストールと、環境設定を済ませておきましょう。

全てのコマンドで[-t]オプションを指定して、テーブル表示させるようにしています。
指定しないと、JSON形式で出力されます。
CSV形式[-c]やXML形式[-x]で出力することもできるので、スクリプトから呼び出す必要があれば、適宜オプションを指定すると便利です。
また、CSV形式で出力する場合は、[--noheaders]というオプションを一緒に指定するとヘッダ行を出力しないため、スクリプトでの利用時は便利です。


ZoneIDの確認


$ cloudstack-api listZones -t name,id
+-------+--------------------------------------+
|  name |                  id                  |
+-------+--------------------------------------+
| tesla | a117e75f-d02e-4074-806d-889c61261394 |
+-------+--------------------------------------+
----------

ServiceOfferingIDの確認

仮想マシンタイプを一覧表示します。料金は別途Webで確認する必要があります。

$ cloudstack-api listServiceOfferings -t displaytext,cpuspeed,memory,id,name
+------------------------------------+----------+--------+--------------------------------------+---------------+
|            displaytext             | cpuspeed | memory |                  id                  |      name     |
+------------------------------------+----------+--------+--------------------------------------+---------------+
| highcpu.2XL32( 16 CPU / 32GB RAM ) | 2600     | 32768  | 7c548831-427b-437c-9c8b-80dde8031303 | highcpu.2XL32 |
| highcpu.L8( 4CPU / 8GB RAM )       | 2600     | 8192   | 435c1aab-e796-42c7-9320-22ebdc8f50aa | highcpu.L8    |
| highcpu.M4( 2CPU / 4GB RAM )       | 2600     | 4096   | 8cf15770-c3c8-4efc-8ae5-b8327790db76 | highcpu.M4    |
| highcpu.XL16 ( 8CPU / 16GB RAM )   | 2600     | 16384  | 6fda5e0c-e64d-46ea-893d-7e2ac9e128e7 | highcpu.XL16  |
| highmem.L32( 4CPU / 32GB RAM )     | 2200     | 32768  | d59817bc-ed79-4083-8b71-51b26c76d311 | highmem.L32   |
| highmem.M16( 2CPU / 16GB RAM )     | 2200     | 16384  | 12e39b73-3ce6-4e57-9036-3dac0c2b2b06 | highmem.M16   |
| highmem.XL64( 8CPU / 64GB RAM )    | 2200     | 65536  | ee5ee568-76b2-46ad-9221-c695e6f2149d | highmem.XL64  |
| light.S1( 1CPU / 1GB RAM )         | 800      | 1024   | e01a9f32-55c4-4c0d-9b7c-d49a3ccfd3f6 | light.S1      |
| light.S2( 1CPU / 2GB RAM )         | 800      | 2048   | d1aac6d2-bb47-4106-90d0-6a73ac3ae78e | light.S2      |
| standard.L16( 4CPU / 16GB RAM )    | 2400     | 16384  | 6a99ff4c-1a24-4aa6-b4cc-600220987ed0 | standard.L16  |
| standard.M8( 2CPU / 8GB RAM )      | 2400     | 8192   | 7ae143a6-5662-4f1d-bc4c-10defa775bcb | standard.M8   |
| standard.S4( 1CPU / 4GB RAM )      | 2400     | 4096   | 55621f17-4d38-457c-ba34-e6199701b67b | standard.S4   |
| standard.XL32( 8CPU / 32 GB RAM )  | 2400     | 32768  | 354c62e6-b99b-42f2-b5c7-e741f1085422 | standard.XL32 |
+------------------------------------+----------+--------+--------------------------------------+---------------+

TemplateIDの確認

仮想マシンを作成する際のイメージテンプレートを一覧表示します。

$ cloudstack-api listTemplates --templatefilter all -t name,id
+-----------------------------------------------------+--------------------------------------+
|                         name                        |                  id                  |
+-----------------------------------------------------+--------------------------------------+
| AppTemplate CentOS 6.5 64-bit                       | 8f641617-0d03-459c-9736-b903654f6d35 |
| CentOS 5.10 32-bit                                  | 9d6249ff-e84c-4ed9-82df-c8d54c770201 |
| CentOS 5.10 64-bit                                  | 7d373b69-c27a-42dd-a2ac-c015b53e67d4 |
| CentOS 5.3(64-bit) no GUI (vSphere)                 | c1ad59b8-4ada-11e4-bd06-005056812ba5 |
| CentOS 6.5 64-bit                                   | a6896a7d-42a7-4bd7-8534-1b809d22abb8 |
| CentOS 6.5 64-bit for Vagrant                       | 2e5ced0d-13cd-4848-93e6-6e6a0571ffc3 |
| CentOS 7.0 64-bit                                   | 8c54dbd6-4fab-4500-b02f-0e3fa0bb1086 |
| Gen3-SQL                                            | 796fa698-9800-4e0e-915b-77bac7c6b6e5
※以下省略※

SSHキーペア名の確認

SSHキーペア名を一覧表示します。 FingerPrintしか表示されないので、秘密鍵は確認できません。

$ cloudstack-api listSSHKeyPairs -t 
+-------------------------------------------------+-------+
|                   fingerprint                   |  name |
+-------------------------------------------------+-------+
※以下省略※

仮想マシンの作成

下記の例は、 仮想マシンタイプ : light.S1( 1CPU / 1GB RAM ) Template : CentOS 6.5 64-bit を作成する場合です。 また、表示名として「vmtest01」、グループ名は「Work」、ホスト名「vmtest01」、SSHキーペア名の指定は「key01」を指定しています。

$ cloudstack-api deployVirtualMachine \
                 --serviceofferingid e01a9f32-55c4-4c0d-9b7c-d49a3ccfd3f6 \
                 --templateid a6896a7d-42a7-4bd7-8534-1b809d22abb8 \
                 --zoneid a117e75f-d02e-4074-806d-889c61261394 \
                 --displayname vmtest01 \
                 --group Work \
                 --name vmtest01 \
                 --keypair key01 \
                 -t

仮想マシン一覧の表示


$ cloudstack-api listVirtualMachines -t
やたらと項目が多いので、よく使う項目だけを指定すると多少見やすくなります。

$ cloudstack-api listVirtualMachines -t id,displayname,group,state,zonename

仮想マシンの起動

[ID]に仮想マシンIDを指定します。

$ cloudstack-api startVirtualMachine --id [ID] -t

仮想マシンの停止

[ID]に仮想マシンIDを指定します。 Linuxテンプレートからサーバを作成した場合は、自動的にshutdownコマンドが発行されます。 確認はありませんので、運用中サーバを指定する際は要注意。

$ cloudstack-api stopVirtualMachine --id [ID] -t

仮想マシンの削除

[ID]に仮想マシンIDを指定します。 ボリュームごと削除するように「--expunge true」を指定します。 こちらも削除確認はありませんので、実行の際は注意が必要です。 また、--expunge trueを指定しているため、誤って削除した場合の復旧はできません。要注意!!

$ cloudstack-api destroyVirtualMachine --id [ID] --expunge true -t
9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?