Mastodon のメディアサーバーを Wasabi に移行した
mstdn.nan1.casa (通称:なーさーばー) のメディアサーバーを Vultr から Wasabi に移行しました。現在はトライアル期間で試験的に動かしていますが、今のところ大きな問題は無いのでそのまま移行する予定です。
移行した理由
東京リージョンがあるから
Wasabi は東京と大阪にサーバーがあります!NTT コミュニケーションズのデータセンターに保存されるそうです。まさかこんなところで NTT の名前を見るとは思っていなかった。
以前は Vultr のシリコンバレーリージョンを使っていたのですが、法令だったり表示速度だったりを考慮すると国内サーバーのほうがいいです。AWS S3 も国内リージョンありますが高いし機能多すぎるしでやめました。
安いから・値段がわかりやすいから
Wasabi は安い上に容量のみで料金が発生するのでいくら払えばいいのか分かりやすいのがメリットです。1TB なら5.99ドルさえ払えば使えます。安い!
一応、公平を期すためにデメリットも書いてあると一度保存したデータを90日以内に削除すると残り日数も存在している扱いで計算されます。そのため、NextCloud のストレージのような頻繁に更新されるデータの保存には向いていません。
ただ、Mastodon のメディアを保存したり Mastodon のバックアップを保存するなどの人力でオブジェクトサーバーを触らない用途なら割と問題は無さそうです。強いて言えばキャッシュの保存期間を90日以上に設定しておくくらい?
採用例が多かったから
fedibird.com や misskey.dev、おたどん!など大手サーバーの採用例があったので選びました。というか、NTT がデータセンターの保守と日本国内における代理店(?)をしているなら安心だよね!みたいなところはある
サーバー移行作業
Vultr から Wasabi へのデータ移行は rclone で行いました。作業自体は設定ファイル(rclone 自体にウィザート自体は存在しますが、面倒だったので自分で書きました)を書いてコマンドを実行するだけです。簡単ですね。
ただ、キャッシュを削除しないとデータの引越しに異様な時間がかかるのでこのブログを読んだ人は必ずキャッシュを削除してから移行作業をしてください。なーはこれをしなかったせいで 100GB 超えのデータを数日かけて移行しました。
方法は以下のサイトを参考にしました。
パブリックアクセス周り
Wasabi はトライアル期間中はパブリックアクセス (要は、バケット名.s3.リージョン名.wasabisys.com
で構成される URL でブラウザからアクセスできない) できません。
それだと Mastodon のメディアサーバーとして使うには厳しいのですが、トライアル期間が終了するまで待つのも微妙だったので Nginx (に Lua 関連のパッケージなどを導入した OpenResty と呼ばれる Web プラットフォーム) から署名付きリクエストをしてアクセスできるようにしました。
方法は割愛する (理由:説明できるほど理解していないため) ので参考にしたサイトだけ紹介します。聞かれたら答えられる範囲で答えます。
- Wasabiのパブリックアクセスが使えなくなった件(対応の仕方) - noellabo’s tech blog
- さくらのオブジェクトストレージを独自のドメイン経由且つプライベートなオブジェクトを取得する方法 - Qiita
まとめ
気のせいかもしれませんが、移行してから画像の表示速度が上がりました。おしまい。