MastodonのストレージをS3からCloudflare R2に変えたら維持費が安くなった話
3カ月ぐらい前、MastodonのストレージをAmazon S3からCloudflare R2に乗り換えたという記事を書きました。
3カ月運用して、コストの全貌がおおまかに判明したので、改めて記事にしてみる次第です。
結論はタイトルの通りなんですが。
用途の前提条件
いかなる場合もS3よりR2のほうが安いよ!とは言えないので、私の用途をまとめると、
- おひとりさまMastodon/Misskeyのストレージ
- ひとりとはいえ、Mastodonはリレーサーバーに接続しているので、連合TLは濁流のように流れている
- サーバーそのものはAWSではないサービスで運用している
- CDNはS3にかかるもののみCloudFrontを使って、それ以外はCloudflareをはじめ他社CDNを使っている
というものです。
EC2で運用していたり、あるいは一般的なウェブサイトとか、ログ置き場といった使い方をする場合、
削減率は異なるものになると思われます。
金額
先の記事にある、2023年8月度のAWSからの請求額は
$7.51でした。
※この金額はほぼすべてS3で占めています。
そして、2023年12月度のCloudflareからの請求額は
$0.80!!
同月度のAWSは
$0.03!!!
そしてこの金額はAWSさんが目をつぶってくれたので、実質0円!!!
(※請求があまりにも少額すぎる場合はAWSが免除してくれるシステムがある)
ということで、日本円換算(クレカの利用明細より抜粋)すると、
2023年8月は¥1,099だったものが
2023年12月は¥118になりました。
驚きのコスト削減率9割。
やはり転送量がでかい
請求書を見ると、ストレージ料金だけしかかかっていない。
転送料金に関しては無料枠で収まった模様。
要するに、だいたいこういうこと。
(※ストレージに関するもののみ:AWSはこれに税が乗るとさっきの請求額になる)
(※表の通り、8月の反省を踏まえて、Mastodonのデータ量を削減する努力もしてます…。)
Amazon S3の無料枠は1年で終わるため、2年目以降は無料枠なしで戦うわけですが
Cloudflare R2は無料枠がずっとついてくる恩恵ですね。
・ストレージ10GBが毎月無料、超えたら1GBあたり0.015USD
弊ブログ:Cloudflare R2をMastodon等用に作ってみた
・書き込み操作が100万回が毎月無料、超えたら100万回あたり4.50USD
・読み取り操作が1000万回が毎月無料、超えたら100万回あたり0.36USD
データ引っ越しが発生した10月も転送量を超えなかったのは意外でした。
予め転送量を削減しておいたのが効いた気がします。
R2の注意点
これは手放しで喜べる結果ではあれども、文句はあります。ちょっとだけ。
「結局いくら使ったか」が分からない
まず、使用量の内訳や推移を知ることができないこと。
要するにCloudWatchに相当するものがないということ。
一応、各バケットの操作量目安は存在します。
しかし
- バケット単位で分かれて表示されていること
- 請求はR2利用開始日を起点に1カ月ごとだが、ここの数字は1日~末日の集計であること
から、数字への信頼性はちょっと微妙。
さっきの表の操作回数も、12月はスクショを撮っていた数値をもとに推測した回数です。
請求書に載れば具体的にいくら使ったのかは分かりますが…
請求が発生しないと何も分からないというのは、ちょっと不親切だなあという気はしました。
総合クラウドプラットフォームであるAWSと比較するのは、かわいそうなのかもしれないですが。
請求が少額だと次の月に合算される
1カ月あたりの請求が$0.50を下回ると、請求額がプールされます。
そしてプールした合計金額が$0.50を超えた月で、請求書が発行されます。
決済システムの都合なんだそうです。
私の場合、10月度(10/9~11/8)が$0.29だったようで。
11月中旬ごろに、Cloudflareからの初めての請求書が来るかなーとワクワクして待っていましたが
ぜんぜん来ず。
12月になっても来ず。
踏み倒してしまったか?請求プロセスを間違えてたか?とヒヤヒヤ。
12月10日になって、10月度・11月度の2か月分をまとめて請求されました。
…ちょっとびっくり。
請求ダッシュボードの操作に慣れが必要
AWSも特殊といえば特殊なのですが、あちらは一般人でも理解できるようなものになってきました。
一方、Cloudflareはまだまだ企業向けサービス、あるいは月額サブスクサービスがメインのためか、
R2だけ有料プランを使う個人のユーザーには少々とっつきにくいです。
たとえば、最初はサブスクリプションページに請求額が出るのかなーとワクワクしていましたが
ここは一生この表記から変わらず。「更新日」の日付だけが毎月変わっていきます。
たぶんサブスクが有効の間、ずっとこうなんでしょうね。
具体的な金額は、請求書およびドキュメント というところに、請求書が発行され次第追加されていくようでした。
たまに未払い扱いになる
原理がよく分かっていない(放置してたら自動入金されるのかな?)のですが、
請求日に請求ダッシュボードへアクセスすると、直近の請求が未払い扱いになっていることがあります。
この記事を投稿したあと、日本時間2024/2/9の夜に見た図↓
カードから勝手に落としてくれたらいいものを、なぜか未払いということにされています。
心臓に悪い。
ちなみに「今すぐ支払う」ボタンを押すと、どの未払い請求書について、いくら支払うかを選択する画面に遷移します。
法人で契約しているなら、管理できてありがたいのかもしれないですが…。
ドメインのネームサーバーをCloudflareにしないといけない
これは以前の記事にも書いている注意点ではありますが。
R2のファイルへ到達するためのドメインはCloudflareからは原則用意されず、自分で調達する必要があります。
(※テスト用途で使えるドメインは発行されますが、テスト用である旨注意書きされています)
そしてそのドメインは、Cloudflareに登録しているドメインしか使えません。
Cloudflareへの登録はサブドメイン単位ではダメで(Enterpriseプランなら可らしい)、
メインのドメインから丸ごと預ける必要があります。
まあCloudflareは元来超大手DNSサービスを擁するので、あんまり問題ではないかもしれませんが…
普段使いのネームサーバーと別れないといけないというのは、AWSにはない悩みです。
リージョンを明示的に指定できない
個人用途ではほとんど問題になりませんが、企業用途の場合は問題になりえます。
S3の場合はどこのリージョンにバケットを作るかを選択可能ですが、
R2の場合は原則「おまかせ」です。
「おまかせ」では、バケットを作成した場所に一番近いところにあるリージョンが選ばれやすいとのこと。
日本で作成すると概ね「アジア太平洋」データセンターに配備されそうです。
ただ、それがどこの国かは明示されていません。
なお、欧州でよければ、欧州に固定することは可能です。
それ以外の地域は固定できません。
(Cloudflare本体は日本に固定することも可能らしいんですが…)
データを国外に保管してはいけない企業は、現時点ではR2を選択するのは厳しいでしょう。
自分の場合はR2に引っ越してよかった
いくつかAWSでは起きない悩み事も起きることがありますが、
個人用途の場合は、だいたい現状で満足しています。
なによりデータ量が多くても、月100円ちょっとでMastodonのストレージが全部賄えますんで。
.comのドメイン維持費ぐらい安いのは大変心強いです。
ということで、おひとりさまサーバーでストレージにあんまりお金をかけたくないなあ…という方、
R2という選択はいかがでしょう?
ディスカッション
コメント一覧
まだ、コメントがありません