裏取りが済んでない記事未満の何かを垂れ流すスペース。
内容は現状のまま無保証で掲載されるし、見解は所属を代表した公式なものではないし、何かを推奨するものではない。
記載の内容を真似したことで起こるいかなる損害についても責任を負わない。
メディアキャッシュの保持期間
を90日以上にしてみるとかがいいと思います上記Deleted Object Storageの料金は 1024GBの最低利用料金には含まれず、別途料金が発生します。
とあるので、最終的に保存容量が 1TB を下回ってても Wasabi 側の定める 1TB 分の最低利用料金にプラスして削除済みオブジェクトの容量分が最低課金期間に発生するぽい?[1]
とすれば、たとえば合計 500GB の画像を保存していて、月間で1回だけ全部のファイルを90度だけ回転して上書き保存した(ファイルサイズは変わらないと仮定する)ならば、課金額は1.5TB分発生する。
なんなら合計 100GB の画像を保存していて、そのすべてを90度回転して上書き保存するのを月間で4回行った(元の向きに戻った)としても、課金額は1.3TB分(上書きによって破棄されて最低課金期間の対象となったファイルが3世代=300GB分、最低利用料金が1TB分)になる。
たまに比較対象に上がる Backblaze B2(リージョンが遠いので選外)同様、そこそこでかめの容量を一方的に放り込んで安心を買う人向けですね。
一時期 staging.mstdn.maud.io
(と、本当に一瞬だけ mstdn.maud.io
)で使ってたのでちょっとだけ書く。このへんはちゃんと現役で使ってる人から話を聞いたほうがいいので、以下は適当に読み流してください。
まず、自前の独自ドメインでサブドメイン切ってキャッシュしたほうがいいのは主に https://docs.joinmastodon.org/admin/optional/object-storage-proxy/ で説明されてる通りで、少し補うなら
という二点があります。前者は長いこと Mastodon の運用やってると痛いほど実感することなので本当にこれです。ドキュメントにすらあるレベルで。代わりに、移行期間の浸透待ちでメディアの見えたり見えなかったりが人によって異なるという別の問題はありますが、まあ引っ越すときだけなので…。
2つ目に関しては「あれ、WasabiのEgress feeって普通に無料だから好きに使っていいんじゃないの?」と思われるかもしれないんですけど、原則無料とするポリシーであって最終的な判断は Wasabi 側にあります。
https://wasabi.com/paygo-pricing-faq/#free-egress-policy
保存量と同等までの転送量は合理的な利用と認められるけど、保存量以上の転送量はポリシーに適合していない利用だよ、とはっきり書かれています。分散SNSでは世界中の様々なサーバーがユーザーの投稿したメディアをキャッシュすべく取得しにやってくるので、連合先次第では容易にこのバランスが崩れます。現に mstdn.maud.io
では全体で 300-400GB の保存量に対して毎月 1TB 近い外向きの転送量が発生していたので、バケット直公開は完全にアウトですね。
ちょうどいいところにnginxの例あったね
https://gist.github.com/mamemomonga/dadb1f72e5a2b6cbf61839604b65555a
これをやった上で、media.example.com
をCloudflare噛ませてキャッシュしてもらえばまあホスト側の負荷も抑えられるし他のサーバーからも快適に取れるはず。
あとは Mastodon v4.0 以上なら メディアキャッシュの保持期間
という名前で、リモートサーバーのメディアをキャッシュしてる分に関して自動削除の下限がWebから設定できるようになったんですが、最低課金期間を考えると90日以上にするのがいいと思います。どうせ1TBまで料金一緒だから規模次第ではあんまり消さなくてもいいと思う。
mstdn.maud.io は Amazon S3(東京リージョン)+ CloudFront で優勝しました。 札束最高! 今でこそ毎月最初の1TBまで転送料無料なんでだいぶ楽ですけど、ほんまに最初1年は転送料課金で毎月100ドル以上飛んでてまあまあしんどかったですね。[2]
ガクンと落ちたとこが CFの無料枠が1TB/月になって実質S3の保存コストのみになった とこ。
転送料の無料枠拡大で一周回って小規模鯖にもおすすめしやすくなりました。保存がどうしても割高というのが一番ネックだけど、レスポンスと安定度は随一なのでみんなも安心を金で買おう!保存減らしたいならさっきの逆でメディアキャッシュの保持期間下げたらええ。
一方で staging はケチケチ構成で、大して連合してないのもあって保存10GBの無料枠に収めるつもりで Cloudflare R2 を使っています。前述の通りメディアキャッシュの保持期間を短めに取っています。
なお R2 では Cloudflare にDNSレコードを管理させているなら、上のようにnginxでキャッシュする必要なく独自ドメインを設定することができます。便利ね。