基本的にはドキュメントを読めば、管理画面からできることは殆どできます。
なので、簡易使い方メモ的に。
(気になるコマンドがあれば継続して更新します)
事前に、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