こんばんは、「深夜の1時間チャレンジ」のお時間です。この記事は ConoHa Advent Calendar 2020 16日目の記事です。そしてこれを書いている今は公開前日の23時です。お風呂で「夜に駆ける」を練習していたらこんな時間に……あと1時間です。やばい。
かわいいこのはちゃんさんとスポンサー各社様のおかげで今年もここに寄稿させてもらえてとてもうれしく思います。ときに僕この夏10数年ぶりにマカーからシンクパッダーになったんすよ。特にスポンサーのLenovo様におかれましてはなんかください。草の生やし過ぎでWキーがさっそく壊れたのでそれがいいです。ポッチもパンタも折れましたwww
ところで
ConoHa WING、使ってますか?皆さんご存知の国内最速を誇るNo.1レンタルサーバーですが、WINGパックの長期契約を使うと国内最速をかなりお安く体感することができます。
一番下のベーシックプランだと月額720円でSSDが250GB、GB単価でいったら3円以下ですね。
……アレ?VPSで追加ディスク付けるといくらでしたっけ?
アレアレ?
というわけで本題
ConoHa WINGを追加ストレージとしてConoHa VPSにマウントして優勝していくことにするわ。
な~んにも考えていなくて思いつきでドライヴしているので、 sshfs でなんとかなるんじゃね?くらいしかプランがありません。最終的に使えなかったらゴメン。実用性なかったらゴメン。グローバル経由なので転送量とか気をつけてね。酔っ払いの戯言なのでなーんにも保証しません、てへっ。とりあえずWINGとVPSを立てましょう。
立ちました。ギンギンです。危うくナントカきっぷとかナントカパックに引きずり込まれるところでしたが。
(今回は検証目的なので必要な期間だけ利用したら解約できる従量課金にしましたが、長期間利用が見込まれる場合はきっぷやパックを使うことをオススメします)
何ができるの?
試してないので妄想ですが、
- VPSからファイル置き場やバックアップ領域として利用する
- VPSで使うコンテンツファイルをWINGのファイルマネージャーで操作する
- 逆にWINGで公開するコンテンツをVPSからプログラムで動的に書き換えたりする
- 通常vscodeのremote sshが使えないWINGに、VPS経由でアクセスする
スペック
VPS
テストなので一番小さいやつで CentOS 8
WING
過当競……いやなんでもないです。一番小さいやつでも 250GB も使える
WING側の準備
sshが受けられればそれでOK。ConoHa WINGは鍵認証のsshもちゃーんと使えます。共有ディレクトリだけ掘っておきましょう(webに公開しないファイル置き場にするときはpublic_html以下に置かないように注意)。
$ mkdir ~/share
おわり
VPS側の準備
鍵ペアの用意
まずWINGにSSHアクセスするための鍵ペアを作っておきましょう。OS起動時にマウントしたいのでパスフレーズなしの鍵を作っておきます。
# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa_nopass
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:9w/yWPNgBbD4jjxMIXCi2sfDM6ZwUNdzgssdtsUNpNM root@150-95-217-170
The key's randomart image is:
+---[RSA 3072]----+
|.................|
|.................|
|.................|
|.................|
|.................|
|.................|
|.................|
|.................|
|.................|
|.................|
+----[SHA256]-----+
パスフレーズを空欄にしておくのがポイントですね。
sshfsの導入
ぱわーつーるずからサクサクっと入れていきます。
# dnf --enablerepo=PowerTools -y install fuse-sshfs
マウントポイントも掘りましょうね。
# mkdir /mnt/wing
公開鍵の受け渡し
先程作った鍵ペアのうちの公開鍵(id_rsa_nopass.pub)をWING側にセットします。コントロールパネルからインポートしても良いですし、CLIから直接書いても構いません。WING側の~/.ssh/authorized_keys
に公開鍵がセットされていればOKです。鍵がセットできたら、VPS側からWING側へパスフレーズ無しでssh接続できるか確認しておきましょう。
マウントしてみる
してみます。ちなみに今23:55です。王子様、お引き止めにならないで!
# sshfs -p 8022 -o IdentityFile=/root/.ssh/id_rsa_nopass,allow_other c0000000@avc2020-1216.conohawing.com:/home/c0000000/share /mnt/wing
# echo "hello world" > /mnt/wing/test
WING側で確認してみる
$ cat ~/share/test
hello world
やったね!
dfもしときましょう。
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 223M 0 223M 0% /dev
tmpfs 238M 0 238M 0% /dev/shm
tmpfs 238M 6.4M 232M 3% /run
tmpfs 238M 0 238M 0% /sys/fs/cgroup
/dev/vda2 30G 4.0G 25G 15% /
tmpfs 48M 0 48M 0% /run/user/0
c0000000@avc2020-1216.conohawing.com:/home/c0000000/share 8.0T 117G 7.8T 2% /mnt/wing
30GBのVMに8.0TBアタッチされると流石に壮観!quotaかかってるので使えるのは250GBですけど(十分多い)。
OS起動時マウント設定
VPS起動時に自動でマウントしてほしいじゃないですか。以下の内容を/etc/fstabに追記します。
/bin/sshfs#c0000000@avc2020-1216.conohawing.com:/home/c0000000/share /mnt/wing fuse port=8022,IdentityFile=/root/.ssh/id_rsa_nopass,allow_other,compression=yes,transform_symlinks,idmap=user,reconnect,_netdev,ServerAliveInterval=60 0 0
一旦おわり!
以上、中の人が一生懸命チューニングしているWeb機能をガン無視してsshで使うお話でした。排他制御がないから共有ストレージには向かないかな。
セーフ!おわり!メリークリスマス!ハピバースデートゥーミー!