###################################################################### # All Rights Reserved, Copyright FUJITSU LIMITED 2015-2018 # # API実行サンプル名: # 02-020_仮想サーバのリサイズ # # 内容: # 作成済みの仮想サーバタイプ(フレーバー)を変更する手順です。 # # 版数:v1.1 # 更新日:2018/1/26 ###################################################################### 手順: ─────────────────────────────────── 項番1.仮想サーバ確認 項番2.仮想サーバリサイズ 項番3.仮想サーバ確認 項番4.リサイズ確定 項番5.仮想サーバ確認 ─────────────────────────────────── 事前準備: あらかじめ以下を準備する必要があります。 ─────────────────────────────────── ・ネットワーク ・サブネット ・セキュリティグループ ・仮想サーバ ・スナップショット(リサイズ実施する仮想サーバのスナップショット) ─────────────────────────────────── 注意事項: ・リカバリできるように事前にリサイズを行う仮想サーバのシステム ストレージのスナップショットを必ず取得してください。 ・スナップショットの作成については、API実行サンプル「スナップ ショット作成」を参照してください。 ・仮想サーバが起動状態でリサイズを行う場合、仮想サーバが強制的に 再起動されるため、仮想サーバを停止した上で、リサイズを実施して ください。 ・仮想サーバの停止方法については、API実行サンプル「仮想サーバの 起動と停止」を参照してください。 項番1.仮想サーバ確認 リサイズを行う仮想サーバが停止していること、現在の仮想サーバタイプ (フレーバー)を以下のパラメータで確認します。 ・"status": "SHUTOFF" ・"flavor": {"links": "id": "<フレーバーID>"} 環境定義コマンド例: ====================================================================== # SERVER_ID=<リサイズを行う仮想サーバID> SERVER_ID=5eed3a04-095c-420c-a753-f8aefc669m43 API実行コマンド例: ====================================================================== curl -Ss $COMPUTE/v2/$PROJECT_ID/servers/$SERVER_ID -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq . レスポンス例: ====================================================================== { "server": { "metadata": {}, "config_drive": "", "OS-EXT-STS:power_state": 4, "accessIPv6": "", "accessIPv4": "", "os-extended-volumes:volumes_attached": [ { "id": "ba8b9ee5-8619-49c1-bd11-a586a9e20se2" } ], "OS-DCF:diskConfig": "MANUAL", "tenant_id": "<プロジェクトID>", "created": "2018-01-11T12:30:55Z", "name": "TEST_SERVER_01", "user_id": "<ユーザID>", "OS-EXT-AZ:availability_zone": "jp-west-2a", "OS-SRV-USG:terminated_at": null, "image": "", "key_name": "TEST_KEY_01", "links": [ { "rel": "self", "href": "http://10.27.0.201/v2/<プロジェクトID>/servers/5eed3a04-095c-420c-a753-f8aefc669m43" }, { "rel": "bookmark", "href": "http://10.27.0.201/<プロジェクトID>/servers/5eed3a04-095c-420c-a753-f8aefc669m43" } ], "addresses": { "TEST_NETWORK_01": [ { "OS-EXT-IPS:type": "fixed", "addr": "192.168.50.15", "version": 4, "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:e5:cf:c2" } ] }, "OS-EXT-SRV-ATTR:host": "jp3a01-pgy115-00", "hostId": "4fd36ba00084a134fc627693bb3c8c0667903fa7c0bb63d7054109e8", "updated": "2018-01-12T06:22:07Z", "status": "SHUTOFF", "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state": "stopped", "OS-EXT-SRV-ATTR:instance_name": "instance-0001f2ed", "OS-SRV-USG:launched_at": "2018-01-11T12:45:28.000000", "OS-EXT-SRV-ATTR:hypervisor_hostname": "jp3a01-pgy115-00", "flavor": { "links": [ { "rel": "bookmark", "href": "http://10.27.0.201/<プロジェクトID>/flavors/1101" } ], "id": "1101" }, "id": "5eed3a04-095c-420c-a753-f8aefc669m43", "security_groups": [ { "name": "TEST_SG_01" } ] } } ====================================================================== 項番2.仮想サーバリサイズ 仮想サーバタイプ(フレーバー)を変更します。 環境定義コマンド例: ====================================================================== # SERVER_ID=<リサイズする仮想サーバID> SERVER_ID=5eed3a04-095c-420c-a753-f8aefc669m43 #FLAVOR_ID=<リサイズ後のフレーバーID> FLAVOR_ID=1103 API実行コマンド例: ====================================================================== curl -i -Ss $COMPUTE/v2/$PROJECT_ID/servers/$SERVER_ID/action -X POST -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" -d '{"resize":{"flavorRef": "'$FLAVOR_ID'"} }' レスポンス例: ====================================================================== HTTP/1.1 202 Accepted X-Fcx-Endpoint-Request: EXECUTED_REQ019235456_202 Date: Fri, 12 Jan 2018 07:00:47 GMT Server: Apache x-compute-request-id: req-9aba6372-d0d0-4759-ac33-a1a11d9c3eb8 Cache-Control: no-cache X-Request-Id: 76263f4a-2827-47f2-923f-2912eacd88f1 X-Runtime: 2.174000 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html;charset=UTF-8 Content-Length: 0 ====================================================================== 項番3.仮想サーバ確認 仮想サーバのリサイズが受付られたことを以下のパラメータで確認します。 ・"status": "VERIFY_RESIZE" ・"flavor": {"links": "id": "<フレーバーID>"} 環境定義コマンド例: ====================================================================== # SERVER_ID=<リサイズする仮想サーバID> SERVER_ID=5eed3a04-095c-420c-a753-f8aefc669m43 API実行コマンド例: ====================================================================== curl -Ss $COMPUTE/v2/$PROJECT_ID/servers/$SERVER_ID -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq . レスポンス例: ====================================================================== { "server": { "metadata": {}, "config_drive": "", "OS-EXT-STS:power_state": 4, "progress": 0, "accessIPv6": "", "accessIPv4": "", "os-extended-volumes:volumes_attached": [ { "id": "ba8b9ee5-8619-49c1-bd11-a586a9e20se2" } ], "OS-DCF:diskConfig": "MANUAL", "tenant_id": "<プロジェクトID>", "created": "2018-01-11T12:30:55Z", "name": "TEST_SERVER_01", "user_id": "<ユーザID>", "OS-EXT-AZ:availability_zone": "jp-west-2a", "OS-SRV-USG:terminated_at": null, "image": "", "key_name": "TEST_KEY_01", "links": [ { "rel": "self", "href": "http://10.27.0.201/v2/<プロジェクトID>/servers/5eed3a04-095c-420c-a753-f8aefc669m43" }, { "rel": "bookmark", "href": "http://10.27.0.201/<プロジェクトID>/servers/5eed3a04-095c-420c-a753-f8aefc669m43" } ], "addresses": { "TEST_NETWORK_01": [ { "OS-EXT-IPS:type": "fixed", "addr": "192.168.50.15", "version": 4, "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:e5:cf:c2" } ] }, "OS-EXT-SRV-ATTR:host": "jp3a01-pgy055-00", "hostId": "fca2cbbab5f3567917be5cf857bd7409855edcb3c8d4bccabac6d9f7", "updated": "2018-01-12T07:00:55Z", "status": "VERIFY_RESIZE", "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state": "resized", "OS-EXT-SRV-ATTR:instance_name": "instance-0001f2ed", "OS-SRV-USG:launched_at": "2018-01-12T07:00:55.000000", "OS-EXT-SRV-ATTR:hypervisor_hostname": "jp3a01-pgy055-00", "flavor": { "links": [ { "rel": "bookmark", "href": "http://10.27.0.201/<プロジェクトID>/flavors/1103" } ], "id": "1103" }, "id": "5eed3a04-095c-420c-a753-f8aefc669m43", "security_groups": [ { "name": "TEST_SG_01" } ] } } ====================================================================== 項番4.リサイズ確定 仮想サーバのリサイズを確定をします。 環境定義コマンド例: ====================================================================== # SERVER_ID=<リサイズする仮想サーバID> SERVER_ID=5eed3a04-095c-420c-a753-f8aefc669m43 API実行コマンド例: ====================================================================== curl -i -Ss $COMPUTE/v2/$PROJECT_ID/servers/$SERVER_ID/action -X POST -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" -d '{"confirmResize": null }' レスポンス例: ====================================================================== HTTP/1.1 204 No Content X-Fcx-Endpoint-Request: EXECUTED_REQ019237284_204 Date: Fri, 12 Jan 2018 07:07:59 GMT Server: Apache x-compute-request-id: req-682dca9a-e70b-4066-9380-241c7d87982e Cache-Control: no-cache X-Request-Id: 309bed75-8c85-4c22-bf62-64ed1200334e X-Runtime: 0.798000 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive ====================================================================== 項番5.仮想サーバ確認 仮想サーバタイプ(フレーバー)が変更されたことを以下のパラメータで 確認します。 ・"status": "SHUTOFF" ・"flavor": {"links": "id": "<フレーバーID>"} 注意事項: ・仮想サーバのリサイズ完了後は仮想サーバは停止状態となります。 必要に応じて仮想サーバを起動させてください。仮想サーバの起動 方法については、API実行サンプル「仮想サーバの起動と停止」を 参照してください。 環境定義コマンド例: ====================================================================== # SERVER_ID=<リサイズを実施した仮想サーバID> SERVER_ID=5eed3a04-095c-420c-a753-f8aefc669m43 API実行コマンド例: ====================================================================== curl -Ss $COMPUTE/v2/$PROJECT_ID/servers/$SERVER_ID -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq . レスポンス例: ====================================================================== { "server": { "metadata": {}, "config_drive": "", "OS-EXT-STS:power_state": 4, "accessIPv6": "", "accessIPv4": "", "os-extended-volumes:volumes_attached": [ { "id": "ba8b9ee5-8619-49c1-bd11-a586a9e20se2" } ], "OS-DCF:diskConfig": "MANUAL", "tenant_id": "<プロジェクトID>", "created": "2018-01-11T12:30:55Z", "name": "TEST_SERVER_01", "user_id": "<ユーザID>", "OS-EXT-AZ:availability_zone": "jp-west-2a", "OS-SRV-USG:terminated_at": null, "image": "", "key_name": "TEST_KEY_01", "links": [ { "rel": "self", "href": "http://10.27.0.201/v2/<プロジェクトID>/servers/5eed3a04-095c-420c-a753-f8aefc669m43" }, { "rel": "bookmark", "href": "http://10.27.0.201/<プロジェクトID>/servers/5eed3a04-095c-420c-a753-f8aefc669m43" } ], "addresses": { "TEST_NETWORK_01": [ { "OS-EXT-IPS:type": "fixed", "addr": "192.168.50.15", "version": 4, "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:e5:cf:c2" } ] }, "OS-EXT-SRV-ATTR:host": "jp3a01-pgy055-00", "hostId": "fca2cbbab5f3567917be5cf857bd7409855edcb3c8d4bccabac6d9f7", "updated": "2018-01-12T07:08:01Z", "status": "SHUTOFF", "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state": "stopped", "OS-EXT-SRV-ATTR:instance_name": "instance-0001f2ed", "OS-SRV-USG:launched_at": "2018-01-12T07:00:55.000000", "OS-EXT-SRV-ATTR:hypervisor_hostname": "jp3a01-pgy055-00", "flavor": { "links": [ { "rel": "bookmark", "href": "http://10.27.0.201/<プロジェクトID>/flavors/1103" } ], "id": "1103" }, "id": "5eed3a04-095c-420c-a753-f8aefc669m43", "security_groups": [ { "name": "TEST_SG_01" } ] } } ====================================================================== 変更履歴: ─────────────────────────────────── v1.1版: ・項番全体:項番構成の見直し、説明修正 ─────────────────────────────────── 以上