意識他界大熊猫の世界

意識他界大熊猫による意識他界ブログ

Mastodon のメディアストレージに Backblaze を使う

私が運営しているMastodonインスタンス mstdn.love ですが、元々AWSを利用していたこともあってメディアストレージに AWS S3 を利用しています。

が、最近通信量課金が馬鹿にならない状況になってきて、少しでもコストダウン図りたく移転先を検討しているのですが、テストインスタンスにて Backblaze というオブジェクトストレージサービスを利用することに成功しました。

Backblaze のオブジェクトストレージはS3と比較してストレージ/通信量のコストが約1/3程度で済む非常に魅力的なサービスです。最近S3互換のAPIを提供するようになりMastodonのメディアストレージとして利用できるようになりました(ただしまだβ版扱いだそうですが)。

Backblaze のアカウント開設は済んでいるという前提条件で、Mastodonのメディアストレージとして使えるようにする手順をご紹介します。

Backblaze の My Account ページSign inする

② メニューの「Bucket」をクリックし、「Create a Bucket」をクリックする

f:id:kemonox:20200617201839j:plain

バケット名を入力し、「Files in Bucket are」を「public」に変更してから「Create a Bucket」をクリックする

f:id:kemonox:20200617202041p:plain

④ メニューの「App Keys」をクリックする

f:id:kemonox:20200617202140p:plain

⑤ 「Add a New Application Key」をクリックする

f:id:kemonox:20200617202238p:plain

⑥ 「Name of Key」に任意の名前、「Allow access to Bucket(s)」に③で作成したバケットを選択、「Type of Access」は「Read and Write」を選択して「Create New Key」をクリックする

f:id:kemonox:20200617202518p:plain​_

⑦ 作成が完了すると「applicationKey」が表示されるので必ず控えておく(その他の項目は後からでも確認できるが、applicationKeyだけは以降確認手段がないので注意!)

f:id:kemonox:20200617202727p:plain

Mastodonの設定ファイル .env.production にて下記の通り設定します

S3_ENABLED=true
S3_BUCKET=③で作成したバケット
AWS_ACCESS_KEY_ID=applicationkeyID(⑦の1行目)
AWS_SECRET_ACCESS_KEY=applicationkey(⑦の4行目)
S3_REGION=Backblazeのリージョン名(us-west-000など)
S3_PROTOCOL=https
S3_HOSTNAME=S3 Endpoint(⑦の3行目)
S3_ENDPOINT=https://S3 Endpoint(⑦の3行目)

 

以上となります。

もうしばらくテストインスタンスで使ってみますので、今後何か分かりましたら更新していきます!