###################################################################### # All Rights Reserved, Copyright FUJITSU LIMITED 2015-2018 # # API実行サンプル名: # 05-005_グローバルIPアドレスのアタッチ/デタッチ # # 内容: # グローバルIPアドレスのアタッチ/デタッチを実施する手順です。 # # 版数:v1.0 # 更新日:2017/09/28 ###################################################################### 手順: ─────────────────────────────────── 項番1.グローバルIPアドレス確認 項番2.グローバルIPアドレスのアタッチ 項番3.グローバルIPアドレス確認 項番4.グローバルIPアドレスのデタッチ 項番5.グローバルIPアドレス確認 ─────────────────────────────────── 事前準備: あらかじめ以下を準備する必要があります。 ─────────────────────────────────── ・ネットワーク ・サブネット ・ポート(プライベートIP) ・グローバルIP ─────────────────────────────────── 項番1.グローバルIPアドレス確認 グローバルIPの状態を確認し、ポート(プライベートIP)がアタッチされて いないことを確認します。 「"port_id": null」であることを確認してください。 環境定義コマンド例: ====================================================================== # FLOATINGIP_ID=<グローバルIPのID> FLOATINGIP_ID=e8e48456-e66d-4b41-b241-a08c138ef39m API実行コマンド例: ====================================================================== curl -Ss $NETWORK/v2.0/floatingips/$FLOATINGIP_ID -X GET -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" | jq . レスポンス例: ====================================================================== { "floatingip": { "availability_zone": "jp-west-2a", "router_id": null, "status": "DOWN", "tenant_id": "<プロジェクトID>", "floating_network_id": "112c51e5-9d1b-490e-9a96-5a20dfbc2698", "fixed_ip_address": null, "floating_ip_address": "133.162.145.60", "port_id": null, "id": "e8e48456-e66d-4b41-b241-a08c138ef39m" } } ====================================================================== 項番2.グローバルIPアドレスのアタッチ グローバルIPをポート(プライベートIP)にアタッチします。 環境定義コマンド例: ====================================================================== # PORT_ID=<グローバルIPをアタッチするポートID> PORT_ID=2d62bdcd-4fa4-454f-9ba5-beacfaa6cw91 # FLOATINGIP_ID=<ポートにアタッチするグローバルIPのID> FLOATINGIP_ID=e8e48456-e66d-4b41-b241-a08c138ef39m API実行コマンド例: ====================================================================== curl -Ss $NETWORK/v2.0/floatingips/$FLOATINGIP_ID -X PUT -H "X-AUTH-TOKEN: $OS_AUTH_TOKEN" -H "Content-type: application/json" -d '{"floatingip":{"port_id":"'$PORT_ID'"}}' | jq . レスポンス例: ====================================================================== { "floatingip": { "availability_zone": "jp-west-2a", "router_id": "59e84618-a830-450d-8339-9d79b7f31769", "status": "DOWN", "tenant_id": "<プロジェクトID>", "floating_network_id": "112c51e5-9d1b-490e-9a96-5a20dfbc2698", "fixed_ip_address": "192.168.100.11", "floating_ip_address": "133.162.145.60", "port_id": "2d62bdcd-4fa4-454f-9ba5-beacfaa6cw91", "id": "e8e48456-e66d-4b41-b241-a08c138ef39m" } } ====================================================================== 項番3.グローバルIPアドレス確認 グローバルIPの状態を確認し、ポート(プライベートIP)にアタッチされた ことを確認します。 環境定義コマンド例: ====================================================================== # FLOATINGIP_ID=<グローバルIPのID> FLOATINGIP_ID=e8e48456-e66d-4b41-b241-a08c138ef39m API実行コマンド例: ====================================================================== curl -Ss $NETWORK/v2.0/floatingips/$FLOATINGIP_ID -X GET -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" | jq . レスポンス例: ====================================================================== { "floatingip": { "availability_zone": "jp-west-2a", "router_id": "59e84618-a830-450d-8339-9d79b7f31769", "status": "ACTIVE", "tenant_id": "<プロジェクトID>", "floating_network_id": "112c51e5-9d1b-490e-9a96-5a20dfbc2698", "fixed_ip_address": "192.168.100.11", "floating_ip_address": "133.162.145.60", "port_id": "2d62bdcd-4fa4-454f-9ba5-beacfaa6cw91", "id": "e8e48456-e66d-4b41-b241-a08c138ef39m" } } ====================================================================== 項番4.グローバルIPアドレスのデタッチ グローバルIPをポート(プライベートIP)からデタッチします。 環境定義コマンド例: ====================================================================== # FLOATINGIP_ID=<ポートからデタッチするグローバルIPのID> FLOATINGIP_ID=e8e48456-e66d-4b41-b241-a08c138ef39m API実行コマンド例: ====================================================================== curl -Ss $NETWORK/v2.0/floatingips/$FLOATINGIP_ID -X PUT -H "X-AUTH-TOKEN: $OS_AUTH_TOKEN" -H "Content-type: application/json" -d '{"floatingip":{"port_id":null}}' | jq . レスポンス例: ====================================================================== { "floatingip": { "availability_zone": "jp-west-2a", "router_id": null, "status": "ACTIVE", "tenant_id": "<プロジェクトID>", "floating_network_id": "112c51e5-9d1b-490e-9a96-5a20dfbc2698", "fixed_ip_address": null, "floating_ip_address": "133.162.145.60", "port_id": null, "id": "e8e48456-e66d-4b41-b241-a08c138ef39m" } } ====================================================================== 項番5.グローバルIPアドレス確認 グローバルIPの状態を確認し、ポート(プライベートIP)からデタッチ されたことを確認します。 環境定義コマンド例: ====================================================================== # FLOATINGIP_ID=<グローバルIPのID> FLOATINGIP_ID=e8e48456-e66d-4b41-b241-a08c138ef39m API実行コマンド例: ====================================================================== curl -Ss $NETWORK/v2.0/floatingips/$FLOATINGIP_ID -X GET -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" | jq . レスポンス例: ====================================================================== { "floatingip": { "availability_zone": "jp-west-2a", "router_id": null, "status": "DOWN", "tenant_id": "<プロジェクトID>", "floating_network_id": "112c51e5-9d1b-490e-9a96-5a20dfbc2698", "fixed_ip_address": null, "floating_ip_address": "133.162.145.60", "port_id": null, "id": "e8e48456-e66d-4b41-b241-a08c138ef39m" } } ====================================================================== 以上