AWS / PHP / Python ちょいメモ

amazon web service , PHP, Python を使ったときのメモ。日本語でググってもわからなかった事を中心に。

さくらクラウドのサーバ を VirtualBoxで動かせた!

さくらインターネットさくらクラウド を、毎年 CTF 開催時に利用してます。

クラウドで作ったサーバの利用が終了したので、保管を兼ねてローカルPCに転送 & VirtualBoxで起動までをやってみました。


さくらクラウドアーカイブ では、こんなこともできる仕様です。

  1. ディスク → アーカイブ に変換して、クローンに使う (ディスクより安い)
  2. FTP機能 : アーカイブFTPで手元に落として、ゼロ円で休眠させる
  3. FTP機能 : FTPアーカイブで、休眠してたディスクを復帰

転送量無料のクラウドなので、FTP機能も気軽に使えるのが嬉しいところ。

アーカイブ から VirtualBoxまで

アーカイブFTP接続をON

さくらクラウド の 管理画面でアーカイブを作成して、「FTPを開始」を押します

f:id:hidehara:20220217231619p:plain

僕の場合は、動かしてた Ubuntu 20.04 を停止、マウントしてた ディスクからコピー機能を使って変換しました。



アーカイブ から FTPで取得

FTPを開始したら、各種転送情報(FTPS)が表示されます。

FTPクライアントなくても curl を使ったコマンド例があるのでコピペするだけでOK。

% curl --ssl --ftp-pasv --user archive113499999999:IwRoho48XXXXXXXX --url ftp://sac-is1a-ftp.cloud.sakura.ad.jp/archive.img -o archive.img
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 20.0G  100 20.0G    0     0  1226k      0  4:45:03  4:45:03 --:--:-- 5455k


20GBで定義して使っていたDISKアーカイブは、4時間かかって 20GBの archive.img を取得できました。

rawイメージからコンバート

VirtualBoxが導入済みだったので、同梱のコマンド VBoxManage を使って、 archive.img (rawイメージ) から、VirtualBoxのディスク形式の VDI に変換しました。

% VBoxManage convertfromraw archive.img --format vdi archive.vdi
Converting from raw image file="archive.img" to file="archive.vdi"...
Creating dynamic image with size 21474836480 bytes (20480MB)...

引数つけないと可変サイズのストレージになるようで変換後の archive.vdi は、6GBの実効容量のファイルサイズ。

コンバート時間は1 〜 2分?で終わったので、ほぼコピー時間程度のようです。

VirtualBoxでマウント

VirutalBox で 新しいVMを定義して archive.vdi をマウントすれば動きます。

f:id:hidehara:20220218090355p:plain

VBoxTool などは、別途インストールしていくことで、VirtualBox上で各種快適に動作するのではないかと期待。

f:id:hidehara:20220218091115p:plain

背景

さくらクラウドのバックエンドは、KVMが利用されていて、ディスクイメージは rawイメージ となるようです。

次のツールで、VDIイメージなどに変換すると、VirtualBoxで利用可能になります。


VBoxManage は、VirtualBoxを導入すれば一緒に入ってるツール。

QEMU のツール qemu-img は、Macの場合、brew qemuを導入すれば使えるようになります。

その他

以前 FTPで落とした archive.img を、再度FTPアーカイブにアップロードして利用しようと思ったらOSが起動しなかったという悲しい出来事が。

さくらクラウドにアップしたアーカイブの検証方法は思いつかず、またゼロから構築しました。

これがきっかけで、手元にバックアップした archive.img を検証しておきたいというのが、今回のモチベーション。

手間はかかるけど、確認できてよかった。

アーカイブは、原則 static な状態だと思うので、MD5値とかも提供してくれるといいかもしれませんね。

アップロード前の問題か、アップロード後の問題かは、いまのGUIの仕様だとユーザーで切り分けすることが出来ないため。

今後のバージョンアップに、勝手に期待します!