###################################################################### # All Rights Reserved, Copyright FUJITSU LIMITED 2015-2018 # # API実行サンプル名: # 03-001_スナップショット作成 # # 内容: # 仮想サーバで利用しているストレージのスナップショットを作成する手順 # です。 # # 版数:v1.0 # 更新日:2017/09/01 ###################################################################### 手順: ─────────────────────────────────── 項番1.スナップショット作成 項番2.スナップショットの確認 項番2-1.スナップショット一覧確認 項番2-2.スナップショット詳細確認 ─────────────────────────────────── 事前準備: あらかじめ以下を準備する必要があります。 ─────────────────────────────────── ・仮想サーバ ─────────────────────────────────── 注意事項: ・仮想サーバが稼働中または停止中のどちらの状態でもスナップショットの 作成は可能ですが、仮想サーバが稼働中に作成したスナップショットを 再利用した場合の動作は保障できません。確実な動作を期待する場合は、 事前に仮想サーバを停止してください。仮想サーバ停止の手順については API実行サンプル【02-004_仮想サーバの起動と停止】を参照して下さい。 項番1.スナップショット作成 仮想サーバが利用しているストレージのスナップショットを作成します。 環境定義コマンド例: ====================================================================== # SNAPSHOT_NAME=<作成するスナップショット名> SNAPSHOT_NAME=TEST_SNAPSHOT_01 # DESCRIPTION=<作成するスナップショットの説明> DESCRIPTION=SERVER_01_SNAPSHOT # VMVOL_ID=<仮想サーバのストレージ(ボリューム)ID> VMVOL_ID=6d162b0b-9aba-4d45-982a-96a9bb37489e # FORCE=<(true:対象のストレージが仮想サーバに接続されている場合), # (false:対象のストレージが仮想サーバに接続されていない場合)> FORCE=true # AZ=<スナップショットを作成するアベイラビリティゾーン> AZ=jp-west-2a API実行コマンド例: ====================================================================== curl -Ss $BLOCKSTORAGE/v2/$PROJECT_ID/snapshots -X POST -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: $OS_AUTH_TOKEN" -d '{"snapshot":{"name":"'$SNAPSHOT_NAME'", "availability_zone": "'$AZ'","description":"'$DESCRIPTION'","volume_id":"'$VMVOL_ID'","force":"'$FORCE'"}}' | jq . レスポンス例: ====================================================================== { "snapshot": { "name": "TEST_SNAPSHOT_01", "id": "9180a287-1c54-4357-b3ff-cdea4793a8f5", "size": 30, "volume_id": "6d162b0b-9aba-4d45-982a-96a9bb37489e", "metadata": {}, "created_at": "2017-07-21T08:43:07.131624", "description": "SERVER_01_SNAPSHOT", "status": "creating" } } ====================================================================== 項番2.スナップショットの確認 スナップショットが作成されたことを確認します。 ・スナップショットのステータス ・available:スナップショット利用可能。 ・creating:スナップショット作成中。 ・deleting:スナップショットの削除中。 ・error:スナップショットの作成中にエラーが発生。 ・error_deleting:スナップショットの削除中にエラーが発生。 項番2-1.スナップショット一覧確認 スナップショットの一覧から対象スナップショットの状態を確認します。 (複数スナップショットがある場合はすべて表示されます。) API実行コマンド例: ====================================================================== curl -Ss $BLOCKSTORAGE/v2/$PROJECT_ID/snapshots -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq . レスポンス例: ====================================================================== { "snapshots": [ { "name": "TEST_SNAPSHOT_01", "id": "9180a287-1c54-4357-b3ff-cdea4793a8f5", "size": 30, "volume_id": "6d162b0b-9aba-4d45-982a-96a9bb37489e", "metadata": {}, "created_at": "2017-07-21T08:43:07.131624", "description": "SERVER_01_SNAPSHOT", "status": "available" }, { "name": "TEST_SNAPSHOT_02", "id": "ec442f7d-e8b7-4d0b-9672-f8e7bbbc4eeh", "size": 30, "volume_id": "c955443b-d666-4268-b44a-fbd61796e29b", "metadata": {}, "created_at": "2017-07-22T08:43:07.000000", "description": "SERVER_02_SNAPSHOT", "status": "available" } ] } ====================================================================== 項番2-2.スナップショット詳細確認 指定したスナップショットの詳細を確認します。 環境定義コマンド例: ====================================================================== # SNAPSHOT_ID=<詳細を確認するスナップショットID> SNAPSHOT_ID=9180a287-1c54-4357-b3ff-cdea4793a8f API実行コマンド例: ====================================================================== curl -Ss $BLOCKSTORAGE/v2/$PROJECT_ID/snapshots/$SNAPSHOT_ID -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq . レスポンス例: ====================================================================== { "snapshot": { "availability_zone": "jp-west-2a", "name": "TEST_SNAPSHOT_01", "id": "9180a287-1c54-4357-b3ff-cdea4793a8f", "status": "available", "os-extended-snapshot-attributes:progress": "100%", "description": "SERVER_01_SNAPSHOT", "created_at": "2017-07-21T08:43:07.131624", "metadata": {}, "volume_id": "6d162b0b-9aba-4d45-982a-96a9bb37489e", "os-extended-snapshot-attributes:project_id": "198d1998371c41e291dc65fdabd9eda3", "size": 30 } } ====================================================================== 以上