さくらのVPSから、さくらのクラウドサーバへのマイグレーション、起動まで | さくらのクラウドラボ by NETASSIST
さくらのVPSを利用中の方へ:クラウドサーバへスムーズにマイグレーションする方法と設定のコツをわかりやすく説明。
こんにちは、UOZUです!
以前、さくらのVPSからさくらのクラウドへマイグレーションする方法をご紹介しました。
こちらの記事では、コントロールパネルからVPSのディスクをアーカイブ化し、さくらのクラウドへ移行する方法をご紹介しています。
また、さくらのクラウドではAPIを利用してアーカイブを作成することもできます。
そこで今回は、さくらのVPSのディスクも、さくらのクラウドのAPIからアーカイブ化できるのか? 実際に検証してみました。
さくらのクラウドには、アーカイブを作成するためのAPIが用意されています。
POST /archive
公式ドキュメントでは、以下の3種類の作成方法が紹介されています。
| 指定項目 | 内容 |
|---|---|
SourceDisk | 既存ディスクから作成 |
SourceArchive | 既存アーカイブから作成 |
SizeMB | 空のアーカイブを作成 |
今回は、この SourceDisk を使って検証してみます。
最初に、比較用として、さくらのクラウドのディスクからアーカイブを作成してみます。
今回は石狩第3ゾーン(is1c)にある20GBのディスクを利用します。
以下が実行したコマンドです。
※APIキーやディスクIDは環境に合わせて変更してください。APIキーは安全のため実行例から除外しています。
curl -sS \
--user "${SAKURA_TOKEN}:${SAKURA_SECRET}" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"Archive": {
"Name": "uozu-al10-backup",
"SourceDisk": {
"ID": "DISK_ID"
}
}
}' \
"https://secure.sakura.ad.jp/cloud/zone/is1c/api/cloud/1.1/archive" \
| jq .
実行すると、以下の結果が返ってきました。
※レスポンスは必要な項目のみ抜粋しています。
{
"Archive": {
"Name": "uozu-al10-backup",
"Availability": "migrating",
"SizeMB": 20480
},
"Success": true,
"is_ok": true
}
無事にアーカイブ作成リクエストが成功しました!
Availability が migrating となっているため、まだコピー処理中ですが、APIからのアーカイブ作成自体は正常に受け付けられています。

続いて、今回の本題です。
さくらのクラウドのコントロールパネルでは、アーカイブ作成画面で「VPSディスク」を選択できます。
実際に確認すると、契約中のVPSが選択肢として表示されました。

選択したVPSには vps_ から始まる識別子が表示されています。
そこで、先ほど成功したAPIの SourceDisk.ID に、このVPSの識別子を指定してみます。
curl -sS \
--user "${SAKURA_TOKEN}:${SAKURA_SECRET}" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"Archive": {
"Name": "uozu-vps-backup",
"SourceDisk": {
"ID": "vps_XXXXXX"
}
}
}' \
"https://secure.sakura.ad.jp/cloud/zone/is1c/api/cloud/1.1/archive" \
| jq .
実行結果はこちらです。
{
"is_fatal": true,
"status": "400 Bad Request",
"error_code": "bad_request",
"error_msg": "不適切な要求です。パラメータの指定誤り、入力規則違反です。入力内容をご確認ください。"
}
残念ながら、こちらは 400 Bad Request となってしまいました。
クラウドのディスクでは問題なく動作したため、APIの基本的な実行方法や認証ではなく、VPSディスクの指定方法が異なる可能性が考えられます。
さくらのクラウドの公式APIドキュメントを確認したところ、SourceDisk を使ったアーカイブ作成方法は記載されていますが、VPSディスクを指定する方法は見当たりませんでした。
一方、公式マニュアルには、コントロールパネルから「VPSディスク」を選択してアーカイブを作成する手順が掲載されています。
この操作には、さくらの会員IDでのログインが必要と案内されています。
そのため、VPSディスクからのアーカイブ作成については、通常のクラウドディスクとは異なる処理や認証が必要なのかもしれません。
ただし、今回の400エラーだけでAPIによる作成自体が不可能と断定することはできません。
今回の結果をまとめると、以下のとおりです。
| 検証内容 | 結果 |
|---|---|
| クラウドディスクの情報取得 | 成功 |
| クラウドディスクからアーカイブ作成 | 成功(作成受付) |
| VPSディスクのコントロールパネルでの選択 | 成功 |
VPSの識別子を SourceDisk.ID に指定 | 400エラー |
| APIでVPSディスクから直接アーカイブ作成 | 方法を確認できず |
現時点では、さくらのVPSのアーカイブをAPIから直接作成する方法は確認できませんでした。
VPSからさくらのクラウドへ移行する場合は、従来どおりコントロールパネルからアーカイブを作成する方法が確実です。
具体的なマイグレーション方法は、以下の記事をご確認ください。
さくらのVPSから、さくらのクラウドサーバへのマイグレーション、起動まで
また、さくらのクラウドのディスクをAPIで定期的にバックアップしたい場合は、usacloudを使用する方法もあります。
usacloud を使って任意の時間にアーカイブバックアップを取得する
今回は、さくらのVPSのディスクを、さくらのクラウドのAPIからアーカイブ化できるか検証してみました。
クラウドのディスクでは問題なく作成できたものの、VPSの識別子を直接指定した場合は400エラーとなりました。
コントロールパネルではVPSディスクを選択できるため、APIでも同様に操作できるのでは?と思いましたが、残念ながら今回は成功しませんでした。
APIからの作成方法が分かれば、VPSからクラウドへのマイグレーションをさらに自動化できそうですね。
今後も新しい情報が分かれば検証してみたいと思います!
それでは、また!