こんにちは!
Support で検索しましたが、既存の回答は見つからなかったため、お手数をおかけしますが簡単なサポート質問をさせてください。
2016 年頃から Discourse のファイル保存に S3 を利用しています。S3 バケットのルートを確認したところ、予想していたディレクトリ構造(optimized/ や original/ など)よりも上位にディレクトリがあることに驚きました。
例えば、99/ のような番号付きディレクトリを、昔の誤コピーなどが原因で削除しても安全でしょうか?もしかすると、昔に間違った場所にコピーされてしまった可能性があります。もし削除した場合、投稿にその場所への古いパスがハードコードされていて、それを壊してしまうことはないでしょうか?
現在の状況は以下の通りです。もし必要であれば、これを整理したいと考えています。
言い換えれば、すでに S3 を利用している方にお伺いしたいのですが、ストレージのルートにあるオブジェクトの名前は何でしょうか?
ご助力いただければ幸いです。よろしくお願いいたします 
良い質問ですね。この件については、@sam さんに詳しい方がいらっしゃるかもしれません。
おそらく私たちも少し変かもしれませんね
2015 年頃から Discourse を運用しており、年々ストレージの場所を変更してきました。
当初はファイルの保存にローカルストレージを使用していました。その後、規模が拡大したため、S3 に保存されたアップロードファイルに移行しました。その際、既存の投稿を再構築(リベイク)して移行したとは考えていません。そのため、最も古い投稿では、依然としてローカルストレージではない URL が使用されています。
一点付け加えるべきことは、現在何も削除しないつもりだということです。組織構成は年々変化してきていますが、対象となる数が少ないため、現状のままにしておくのが最も安全だと考えています。
sam
(Sam Saffron)
4
正直なところ、96→99というフォルダがどうしてできたのか分かりません。アップロードを保存する場所ではありません。
@sam さん、確認ありがとうございます。良い情報ですね。もしかすると、手動で S3 にアップロードする際に何かがうまくいかなかったのかもしれません。幸い、害は出ていません。
S3 バケットのルートには以下があります:
_emoji/
_optimized/
optimized/
original/
tombstone/
さらに、1/ から 225/ までの番号付きディレクトリが多数あります。各番号付きディレクトリには、‘874c0706216382af.jpg’ のような名前の単一の画像ファイルが入っています。
tombstone/ には、30 日後に削除済みとしてマークする S3 ライフサイクルが設定されています。
推測ですが、使われているのは optimized/、original/、tombstone/ のみでしょうか?
michaeld
(Michael - Communiteq)
7
それらのファイルは、非常に古いフォーラム(2014年頃)には常に存在していました。それらは optimized や original よりも以前から存在している我认为し、おそらく今でも参照されていると思われます。
michaeld
(Michael - Communiteq)
8
これを確認せずにはいられませんでした。これは確かに古いアップロード方式です。私が推測していたよりも遅く、2015 年 5 月のこのコミットで廃止されました。
これらのアップロードは現在も実際に使用されているため、削除しないでください!
マイケル、ありがとう。これらは2014年に始めたばかりの頃のデータなので、ファイル番号は小さく、そのまま残すことにします。
面白いことに、最近サーバーを移行した際、ベースのUnixバージョンをその場でアップグレードするのではなく、Discourseのバックアップ/リストア方式を採用しました。リストア処理がこれらのローカルファイルを正しく配置しなかったのではないかと思っています(100%確信はありません)。バックアップアーカイブには含まれていたのですが、リストアプロセスは「optimized」や「originals」以下のディレクトリに対してのみ正常に動作したようです。
大きな問題にはなりませんでしたが、バックアップアーカイブから自分で tar -x して復元できました(新旧サーバーの uploads/ コンテンツが異なることに気づいたため)。ただ、他の人がつまずく可能性もあるかもしれないので、ここに言及しておきました。
現在、アップロードの99.9%はS3から提供されています(ローカルからS3への移行は比較的早期に行いました)。S3バケットを最初に手動で作成した際に、これらのローカルファイルをコピーしたのでしょう。振り返ってみれば、投稿を再構築(rebake)すべきだったかもしれませんが、非常に小さく古い投稿でさえローカルファイルのアップロードURLが機能していたため、これまで問題なく動いていました。