【IDCFクラウド】cloudstack-apiで仮想マシンを作成する。

はじめに

cloudstack-apiで仮想マシンの構築を行いたいと思います。


## 基本情報

ということで、今回は以下の情報をもとに仮想マシンのを作成を行います。

項目       名前
ゾーン         radian
インスタンスlight.S1
テンプレートUbuntu Server 14.04 LTS 64-bit
IP10.13.0.50
所属グループtest
ホスト名test-name
ディスプレイ名create-test
キーペアhogehoge

# 事前確認 仮想マシンを作成する前にまず、現在IDCFクラウドでの稼働状況を確認しておきたいと思います。
$ cloudstack-api listVirtualMachines -t name
no data found

現在、環境内には1台も仮想マシンが作成されていないため_no data found_となっています。


# 仮想マシンの作成 それでは仮想マシンを作成しましょう。

作成にはcreateInstanceGroupを利用します。

$ cloudstack-api deployVirtualMachine \
--zoneid a53ff3d3-042b-4cbd-ad16-494bb8d33e06 \
--serviceofferingid e01a9f32-55c4-4c0d-9b7c-d49a3ccfd3f6 \
--templateid 6eee3f7d-2193-4df7-81d5-bc2169ac3380 \
--ipaddress 10.13.0.50 \
--name test-host \
--keypair hogehoge \
--displayname create-test \
--group test
{
  "deployvirtualmachineresponse": {
    "id": "b1230e50-f75b-4343-8d6e-ca7a4efcf2b0",
    "jobid": "dee8c58d-069a-408a-98c3-03ea1e4e3c50"
  }
}

今回指定したオプションについての説明は以下のとおりです。

オプション内容
—zoneidゾーン環境ID
—serviceofferingidインスタンスID
—templateidテンプレートのID
—ipaddressIPアドレス
—nameホスト名
—keypairデフォルト(root)で利用するキーペア
—displaynameコンソール画面で表示される名前
—group仮想マシンが所属するグループ

簡単に説明すると、

・_ipaddress_オプションで仮想マシンに10.13.0.50のIPアドレスを付与 ・SSHログインするために必要なデフォルトキーはhogehogeを配置 ・_name_オプションでSSHログインした際に表示されるホスト名をtest-hostに設定

といった内容になります。

また、仮想マシンに直接影響はありませんが、

・_group_オプションで仮想マシンをtestにグルーピング ・_diplayname_オプションでコンソール画面での表示をcreate-testに設定

を行っています。


# 確認 確認はコンソールおよびコマンドでも可能です。

コンソール画面で確認

cloudstack-api_createvm01.png


コマンドで確認

$ cloudstack-api listVirtualMachines -t name,keypair,displayname,group
+-----------+----------+-------------+-------+
|    name   | keypair  | displayname | group |
+-----------+----------+-------------+-------+
| test-host | hogehoge | create-test | test  |
+-----------+----------+-------------+-------+

# おわりに 今回、仮想マシンを作成しましたが、このままではグローバルIPが無いため外部との通信ができません。 次回は仮想マシンをグローバルIPに付与するところをcloudstack-apiコマンドで行いたいと思います。 [>>【IDCFクラウド】cloudstack-apiで仮想マシンにパブリックIPを付与する。](http://blog.proudit.jp/2016/06/20/associate-a-publicip-to-the-virtualmachine-by-cloudstack-api.html)