はじめに
前回、【IDCFクラウド】cloudstack-apiで仮想マシンを作成する。ではcloudstack-apiコマンドで仮想マシンを作成しました。
今回はその続編として、作成した仮想マシンにパブリックIPを付与したいと思います。
事前確認
まずは現在のパブリックIPを確認します。
$ cloudstack-api listPublicIpAddresses -t ipaddress
+-----------------+
| ipaddress |
+-----------------+
| ***.***.***.*** |
+-----------------+
パブリックIPの取得
パブリックIPの取得はassociateIpAddress
コマンドで行います。
$ cloudstack-api associateIpAddress \
--zoneid a53ff3d3-042b-4cbd-ad16-494bb8d33e06
{
"associateipaddressresponse": {
"id": "061c31aa-aa41-4e03-a274-83b17b58c1a3",
"jobid": "b32b867c-07d4-412e-b514-94a1eee62ed1"
}
}
オプション | 内容 |
---|---|
--zoneid | ゾーンID |
簡単に説明すると、
- radianゾーンにパブリックIPを割り当てる(取得する)
という内容になります。
確認
先ほどのlistPublicIpAddresses
コマンドで確認してみましょう。
$ cloudstack-api listPublicIpAddresses -t ipaddress,id,virtualmachinename
+----------------+--------------------------------------+--------------------+
| ipaddress | id | virtualmachinename |
+----------------+--------------------------------------+--------------------+
| 210.129.19.191 | 061c31aa-aa41-4e03-a274-83b17b58c1a3 | None |
| ***.***.***.***| ********-****-****-****-************ | None |
+----------------+--------------------------------------+--------------------+
210.129.19.191
のIPが割り当てられているのが確認できました。
NAT設定
取得が確認できたら次はNATの設定です。
パブリックIPを仮想マシンへ割り当てます。
$ cloudstack-api enableStaticNat \
--ipaddressid 061c31aa-aa41-4e03-a274-83b17b58c1a3 \
--virtualmachineid b1230e50-f75b-4343-8d6e-ca7a4efcf2b0
{
"enablestaticnatresponse": {
"success": "true"
}
}
オプション | 内容 |
---|---|
--ipaddressid | パブリックIPアドレスID |
--virtualmachineid | 仮想マシンID |
戻り値で"success": "true"
となっていれば完了です。
確認
先ほど実行した戻り値でも確認はできていますが、一応listPublicIpAddresses
コマンドでも確認しましょう。
$ cloudstack-api listPublicIpAddresses -t ipaddress,id,virtualmachinename,virtualmachinedisplayname
+----------------+--------------------------------------+--------------------+----------+---------------------------+
| ipaddress | id | virtualmachinename | hostname | virtualmachinedisplayname |
+----------------+--------------------------------------+--------------------+----------+---------------------------+
| 210.129.19.191 | 061c31aa-aa41-4e03-a274-83b17b58c1a3 | test-host | None | create-test |
| ***.***.***.***| ********-****-****-****-************ | None | None | None |
+----------------+--------------------------------------+--------------------+----------+---------------------------+
ということで、先ほど取得したパブリックIPアドレスが割り当てられているのを確認できました。
ここで出力している項目ですがvirtualmachinenameはサーバ自身のhostnameとなります。コンソールで表示される「仮想マシン名」はvirtualmachinedisplaynameです。
おわりに
仮想マシンにパブリックIPが付与されたのでこれで外部との通信経路が用意されました。
ですが実はまだ通信はできません。。。FWで許可されていないからです。
ということで、次回はFWの設定をcloudstack-apiで行いたいと思います。