====== IDCFクラウドでセカンダリIP(VIP)取得 ======
セカンダリIPの払い出しの予約を行い、VMのnicに割り当てたり、LVSのVIPに割り当てたりできる。
===== そのアカウントが所有している仮想マシンリストを表示する =====
# cloudstack-api listVirtualMachines -t id,displayname,nic
+--------------------------------------+-------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | displayname | nic |
+--------------------------------------+-------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 508bc470-baa9-49be-1234-53bdbfd48e40 | lvs1 | [{'networkid': 'f33ad0e3-d934-1234-b002-4fc2d2c648fd', 'macaddress': '11:00:6e:4e:00:0f', 'isolationuri': 'vlan://2942', 'type': 'Isolated', 'broadcasturi': 'vlan://2942', 'traffictype': 'Guest', 'netmask': '255.255.252.0', 'ipaddress': '10.6.1.111', 'id': '6b3b825f-dca1-437c-1234-d5ac2852e757', 'networkname': 'pascal-network1', 'gateway': '10.6.0.1', 'isdefault': True}] |
| 8189f435-772c-4621-1234-868d140f4029 | adm1 | [{'networkid': 'f33ad0e3-d934-1234-b002-4fc2d2c648fd', 'macaddress': '11:00:23:08:00:06', 'type': 'Isolated', 'id': 'bd59ed71-165b-1234-a12a-2cc84c219c04', 'traffictype': 'Guest', 'netmask': '255.255.252.0', 'ipaddress': '10.6.1.102', 'networkname': 'pascal-network1', 'gateway': '10.6.0.1', 'isdefault': True}] |
| 862d8e91-6c98-455e-1234-1dcf4b6145f8 | web1 | [{'networkid': 'f33ad0e3-d934-1234-b002-4fc2d2c648fd', 'macaddress': '11:00:6b:24:00:03', 'isolationuri': 'vlan://2942', 'type': 'Isolated', 'broadcasturi': 'vlan://2942', 'traffictype': 'Guest', 'netmask': '255.255.252.0', 'ipaddress': '10.6.1.101', 'id': '55212871-acff-4693-1234-83edb338ef89', 'networkname': 'pascal-network1', 'gateway': '10.6.0.1', 'isdefault': True}] |
+--------------------------------------+-------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
===== セカンダリIPをNICに割り当てる =====
割り当てるVMのnicのidを指定して、addIpToNicを実行
※VMを削除するとセカンダリIPも一緒に削除されるので、削除される可能性の低いVMで割り当て処理を行う
e.g. ikt-adm1
# cloudstack-api addIpToNic --nicid bd59ed71-165b-1234-a12a-2cc84c219c04
{
"addiptovmnicresponse": {
"jobid": "b401a50f-d8ca-4003-1234-5367c3e56461"
}
}
===== 現在の非同期処理の状態を取得する =====
addIpToNicのレスポンスから確認したjobidを指定して、queryAsyncJobResultを実行する。
レスポンスのipaddressから払いだされたIPアドレスが確認できる。
# cloudstack-api queryAsyncJobResult --jobid b401a50f-d8ca-4003-1234-5367c3e56461
{
"queryasyncjobresultresponse": {
"accountid": "1c227d7a-9913-413d-1234-b0f603b22d28",
"cmd": "org.apache.cloudstack.api.command.user.vm.AddIpToVmNicCmd",
"created": "2015-08-03T11:04:02+0900",
"jobid": "b401a50f-d8ca-4003-1234-5367c3e56461",
"jobprocstatus": 0,
"jobresult": {
"nicsecondaryip": {
"id": "f866208e-069f-4bea-1234-811dc2827a14",
"ipaddress": "10.6.0.240",
"networkid": "f33ad0e3-d934-4e9e-1234-4fc2d2c648fd",
"nicid": "bd59ed71-165b-1234-a12a-2cc84c219c04"
}
},
"jobresultcode": 0,
"jobresulttype": "object",
"jobstatus": 1,
"userid": "0cf872f3-cb52-45e4-1234-7b208b3e8c77"
}
}
===== パブリックIPアドレスリストを表示する =====
# cloudstack-api listPublicIpAddresses -t ipaddress,id
+----------------+--------------------------------------+
| ipaddress | id |
+----------------+--------------------------------------+
| 210.140.56.139 | fdf10bcf-31cd-4a37-1234-9f837b73827a |
+----------------+--------------------------------------+
===== スタティックNATを有効化する =====
# cloudstack-api enableStaticNat --ipaddressid fdf10bcf-31cd-4a37-1234-9f837b73827a --virtualmachineid 8189f435-772c-4621-1234-868d140f4029 --vmguestip 10.6.0.240
{
"enablestaticnatresponse": {
"success": "true"
}
}
===== 仮想マシンのNIC IPリストを表示する =====
# cloudstack-api listNics --virtualmachineid 508bc470-baa9-49be-1234-53bdbfd48e40