提醒大家在選擇對象儲存服務商時要慎重考慮,不要因為追求免費而放鬆對資源安全性和可靠性的要求。
為了追求免費,我的 Mastodon 實例一直在使用 Scaleway S3 作為靜態資源倉庫。然而,之前遭遇了一次嚴重的可用性問題,導致寫入的圖片無法訪問。為了避免類似情況再次發生,我不得不連夜將資源從 Scaleway S3 遷移到 Cloudflare R2。
R2 價格算是比較低廉的,無固定月費:
項目 | 免費額度 | 費用 |
---|---|---|
儲存 | 10 GB / 月 | 0.015 美元 / GB |
A 類操作:改變狀態 | 100 萬次 / 月 | 4.50 美元 / 百萬次 |
B 類操作:讀取現有狀態 | 1000 萬次 / 月 | 0.36 美元 / 百萬次 |
Mastodon 配置 Cloudflare R2 有個小坑,必須要設置權限才能上傳成功,需要在 .env.production
設置:
S3_PERMISSION=private
完整的配置如下:
S3_ENABLED=true
S3_PROTOCOL=https
S3_REGION=auto
S3_ENDPOINT=https://[HIDDEN].r2.cloudflarestorage.com
S3_HOSTNAME=pub-[HIDDEN].r2.dev
S3_BUCKET=[HIDDEN]
S3_PERMISSION=private
AWS_ACCESS_KEY_ID=[HIDDEN]
AWS_SECRET_ACCESS_KEY=[HIDDEN]
S3_ALIAS_HOST=s3assets.mastodon.instance