この記事は、元のホームラボ記事の続きだ。そこでは、CGNAT地獄から抜け出し、私のポートフォリオ、彼女のサイト、母のサイト、そして彼女と今も一緒に遊んでいるMinecraftサーバーを動かすフルスペックのDell OptiPlexセットアップに至るまでを書いた。あのセルフホスト型サーバーは、今も以前と変わらずすべてを動かし続けている。この記事は、もっと狭い、別の問題についてのものだ。humfurie.orgのブログ記事に載せる画像をどこに置くか、という問題だ。
2025年10月:S3の代わりにR2を試す
2025年10月頃、ちょうどそのために、つまりこのサイトのブログ記事の画像をホストするためにCloudflare R2を試してみることにした。セルフホスト型サーバーの置き換えではなく、1つの特定の仕事のためだけのクラウドストレージだ。どこにいる読者にも、記事を読んでいる人に画像を素早く配信すること。
そこでS3が話に上ったが、すぐに脱落した。R2はほぼタダ同然でそれを解決した。標準ストレージは月額$0.015/GBで、egress(実際にファイルを閲覧者に配信する際の料金)は$0.00だ。S3のストレージはGBあたりより高価で、そのegress料金を加えると、このブログの画像1枚1枚の読み込みごとに、すでに遅いことに加えてお金がかかることになっていただろう。同じS3互換APIなので、試すために何かを書き直す必要もなかった。無料で、速くて、そのまま差し替えるだけで済んだ。勝負にすらならなかった。
では、実際にS3を使うのはいつなのか?
決してない、というわけではない。ただ、ある特定の条件の組み合わせが揃ったときだけだ。もし最終的にセルフホストのハードウェアからEC2インスタンスへとセットアップ全体を移行することになり、それが意味のある出費ではなく、はした金になったときだ。その時点で、フルマネージドなEC2とS3スタックの利便性のためにAWSに支払うことは、自分の予算に空いた穴ではなく、自分の時間との合理的なトレードオフに見え始めるだろう。それまでは、ブログ画像にはR2、それ以外すべてにはセルフホスト型サーバーというのが、客観的に見てお金の使い方として優れている。
これが計算のすべてだ。EC2とS3は悪いサービスではない。ただ、必要に迫られてではなく、余暇的な出費として扱えるようになって初めて意味を持つ買い物なのだ。ちょうど、あの職なし1月にEC2を正当化できなかったのと同じように、コストが決定要因でなくなれば本当に欲しくなるかもしれない。今回R2が価格だけで勝ったわけではない。AWSに関するあの決断全体を、無期限に先延ばしにできたことで勝ったのだ。
参考までに言うと、GCPはそもそもこの話には一切登場しなかった。2024年から2025年にかけて直接触れて遭遇したことと、それ以来読んできた無数の請求書恐怖談(忘れられたキーやデフォルト設定が一夜にして5桁の請求書に化けるような話)の両方を踏まえると、有料ティアであろうとなかろうと、大事な何かを任せられる相手ではない。
本当の教訓
私のセルフホスト型サーバーは、今も以前と変わらずすべてを処理し続けている。R2は1つの特定の仕事、つまりこのブログの画像を速く安く保つという仕事だけを引き継いだ。EC2やS3が使う必要がないと決めつけたわけではなく、それらへの支払いが本当のトレードオフでなくなる時点を、ただ待っているだけだ。