###################################################################### # All Rights Reserved, Copyright FUJITSU LIMITED 2015-2018 # # API実行サンプル名: # 02-004_仮想サーバの起動と停止 # # 内容: # 仮想サーバの起動、停止、再起動、削除、それぞれの手順です。 # # 版数:v1.0 # 更新日:2017/08/18 ###################################################################### 手順: ─────────────────────────────────── 項番1.仮想サーバ起動 項番2.仮想サーバ停止 項番3.仮想サーバ再起動 項番4.仮想サーバ確認 項番5.仮想サーバ削除 ─────────────────────────────────── 事前準備: あらかじめ以下を準備する必要があります。 ─────────────────────────────────── ・仮想サーバ ─────────────────────────────────── 注意事項: ・本API実行サンプル作業で使用する仮想サーバIDの環境変数は、 誤った操作で仮想サーバを削除しないように以下のように仮想サーバの 削除のみ統一させておりません。 ・「SERVER_ID」:仮想サーバの起動、停止、再起動、確認で指定。 ・「TMP_VM_ID」:仮想サーバの削除で指定。 ※どちらにも仮想サーバのIDを環境変数として指定しています。 項番1.仮想サーバ起動 仮想サーバを起動します。 API実行後に、「項番4.仮想サーバ確認」を参照し、仮想サーバの ステータスが「ACTIVE」になっていることを確認してください。 環境定義コマンド例: ====================================================================== # SERVER_ID=<起動する仮想サーバID> SERVER_ID=e135edd4-ca80-4d5a-8b49-5e3489a7d63l API実行コマンド例: ====================================================================== curl -Ssi $COMPUTE/v2/$PROJECT_ID/servers/$SERVER_ID/action -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{"os-start": null}' レスポンス例: ====================================================================== HTTP/1.1 202 Accepted X-Fcx-Endpoint-Request: EXECUTED_REQ001527402_202 Date: Thu, 03 Aug 2017 02:02:33 GMT Server: Apache x-compute-request-id: req-bfeb650a-8bf7-4fa3-b172-e0a0ae039375 Cache-Control: no-cache X-Request-Id: e8026bbc-f516-470c-92c5-9e584b74efc4 X-Runtime: 1.032000 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html;charset=UTF-8 Content-Length:0 ====================================================================== 項番2.仮想サーバ停止 仮想サーバを停止します。 API実行後に、「項番4.仮想サーバ確認」を参照し、仮想サーバの ステータスが「SHUTOFF」になっていることを確認してください。 環境定義コマンド例: ====================================================================== # SERVER_ID=<停止する仮想サーバID> SERVER_ID=e135edd4-ca80-4d5a-8b49-5e3489a7d63l API実行コマンド例: ====================================================================== curl -Ssi $COMPUTE/v2/$PROJECT_ID/servers/$SERVER_ID/action -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{"os-stop": null}' レスポンス例: ====================================================================== HTTP/1.1 202 Accepted X-Fcx-Endpoint-Request: EXECUTED_REQ001527402_202 Date: Thu, 03 Aug 2017 02:02:33 GMT Server: Apache x-compute-request-id: req-bfeb650a-8bf7-4fa3-b172-e0a0ae039375 Cache-Control: no-cache X-Request-Id: e8026bbc-f516-470c-92c5-9e584b74efc4 X-Runtime: 1.032000 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html;charset=UTF-8 Content-Length: 0 ====================================================================== 項番3.仮想サーバ再起動 仮想サーバを再起動します。 API実行後に、「項番4.仮想サーバ確認」を参照し、仮想サーバの ステータスが「ACTIVE」になっていることを確認してください。 ※ステータスが「REBOOT」の場合は、仮想サーバ再起動中になります。 環境定義コマンド例: ====================================================================== # SERVER_ID=<再起動する仮想サーバID> SERVER_ID=e135edd4-ca80-4d5a-8b49-5e3489a7d63l API実行コマンド例: ====================================================================== curl -Ssi $COMPUTE/v2/$PROJECT_ID/servers/$SERVER_ID/action -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{"reboot": {"type": "SOFT"}}'  レスポンス例: ====================================================================== HTTP/1.1 202 Accepted X-Fcx-Endpoint-Request: EXECUTED_REQ001512185_202 Date: Thu, 03 Aug 2017 02:19:59 GMT Server: Apache x-compute-request-id: req-29ed35d5-0453-48c9-bdd2-a13ddd5ce018 Cache-Control: no-cache X-Request-Id: 8df887cf-3688-4a56-ac97-aace1789fd5d X-Runtime: 1.104000 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html;charset=UTF-8 Content-Length: 0 ====================================================================== 項番4.仮想サーバ確認 仮想サーバの起動、停止、再起動の実施後に仮想サーバのステータスを確認 します。 仮想サーバ起動:ステータス「ACTIVE」 仮想サーバ停止:ステータス「SHUTOFF」 仮想サーバ再起動:ステータス「ACTIVE」 ※ステータスが「REBOOT」の場合は、仮想サーバ再起動中になります。 環境定義コマンド例: ====================================================================== # SERVER_ID=<仮想サーバID> SERVER_ID=e135edd4-ca80-4d5a-8b49-5e3489a7d63l 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": 1, "progress": 0, "accessIPv6": "", "accessIPv4": "", "os-extended-volumes:volumes_attached": [ { "id": "171647e8-99b2-40b3-bf19-03b91a3e6dgc" } ], "OS-DCF:diskConfig": "MANUAL", "tenant_id": "<プロジェクトID>", "created": "2017-07-21T11:09:46Z", "name": "TEST_SV_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/e135edd4-ca80-4d5a-8b49-5e3489a7d63l" }, { "rel": "bookmark", "href": "http://10.27.0.201/<プロジェクトID>/servers/e135edd4-ca80-4d5a-8b49-5e3489a7d63l" } ], "addresses": { "Test_NW_01_network": [ { "OS-EXT-IPS:type": "fixed", "addr": "192.168.10.5", "version": 4, "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:c5:c5:38" } ] }, "OS-EXT-SRV-ATTR:host": "jp3f51-pgy024-00", "hostId": "d8ada7b79b2c327ba4bf15257d6e3a74f05430e975d95a699d1a4388", "updated": "2017-07-21T11:10:14Z", "status": "ACTIVE", "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state": "active", "OS-EXT-SRV-ATTR:instance_name": "instance-000114f6", "OS-SRV-USG:launched_at": "2017-07-21T11:10:14.000000", "OS-EXT-SRV-ATTR:hypervisor_hostname": "jp3f51-pgy024-00", "flavor": { "links": [ { "rel": "bookmark", "href": "http://10.27.0.201/<プロジェクトID>/flavors/1101" } ], "id": "1101" }, "id": "e135edd4-ca80-4d5a-8b49-5e3489a7d63l", "security_groups": [ { "name": "Test_SG_01" } ] } } ====================================================================== 項番5.仮想サーバ削除 仮想サーバを削除します。 環境定義コマンド例: ====================================================================== # TMP_VM_ID=<削除する仮想サーバID> TMP_VM_ID=e135edd4-ca80-4d5a-8b49-5e3489a7d63l API実行コマンド例: ====================================================================== curl -Ssi $COMPUTE/v2/$PROJECT_ID/servers/$TMP_VM_ID -X DELETE -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" レスポンス例: ====================================================================== HTTP/1.1 204 No Content X-Fcx-Endpoint-Request: EXECUTED_REQ001527668_204 Date: Thu, 03 Aug 2017 02:22:58 GMT Server: Apache x-compute-request-id: req-09cd0088-817e-4a6e-9e26-b89caec507dc Cache-Control: no-cache X-Request-Id: a1ed15ed-1137-4fe1-85ea-ec509a2911b0 X-Runtime: 0.927000 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive ====================================================================== 以上