YusufH
(Yusuf)
1
DiscourseをAWSの無料ティアのEC2インスタンス上で実行しており、DNSにはRoute 53、SMTPにはAWS SESを使用しています。無料ティアで提供される最大30GBのストレージを最大限に活用するため、可能な限り少ないストレージ使用量に抑えたいと考えています。どのようなデータが保存されるのか、またストレージ容量を低く保つ方法についてご教示いただけないでしょうか。現在はまだ新規作成したばかりでユーザーはいませんが、すぐに急成長することを期待しています。SMTPメールの送信がDiscourseからうまくいっていませんが、これは無料ティアの権限制限により、AWS SESが未検証ドメインへの送信を制限していることが原因ではないかと考えています。ユーザーがアカウントを作成し、テーマを選択して投稿を行うと、これらすべてのデータがEC2のストレージに保存されるのでしょうか?30GBでどの程度のユーザー数をサポートできるでしょうか?あるいは、それは無意味な質問であれば、投稿数で考えていただけますか?
また、以前に同様の設定を行った方がいれば、SSL証明書の設定方法についても教えてください。EC2インスタンスでインストール手順に従ってLet’s Encryptを試みたところ、何かがおかしくなってしまいました(Googleドメインを使用していることが原因かもしれません)。そのため、Let’s Encryptなしで再設定しました。さらに、CloudFrontの正しい設定方法についても知りたいです。AWSのドキュメントに従ってロードバランサーとターゲットグループを作成し、その後CloudFrontの設定を行いましたが、Discourseの設定時にHTTPおよびHTTPSでドメインに接続できませんでした。そのため、CloudFrontに必要なすべての設定を削除してしまいました。
主にストレージの節約方法と、安全に削除できるものについて知りたいです。長い投稿になってしまい申し訳ありません。
ありがとうございます。このオープンソースソフトウェアは素晴らしいです。
実際には、正確な数値で答えることはできません。
小規模なコミュニティであれば、十分なユーザー数とメディア容量を確保できますが、その点だけを理由に購入するのはお勧めしません。
考慮すべき要因は以下の通りです:
- ユーザーがアップロードするメディアの量
- システムに保存するバックアップの数
- 生成されるコンテンツ(投稿など)の量
オプションとして、同じサーバーで他のアプリケーションもホストしている場合、そのアプリケーションがどの程度の容量を消費するかも考慮してください。
一般的には、Discourse 用に約 10 GB の容量を確保し、そこに上記のすべての数値を足し合わせて計算することをお勧めします。
1,000 人のユーザーがいても、実際にコンテンツが全くない場合は、システムは問題なく動作します。
一方で、50 人のユーザーがそれぞれ 1,000 枚の高解像度画像(約 4 MB)をアップロードする場合、気づかないうちにサーバーの容量がいっぱいになってしまうこともあります。
また、n 人のユーザーが責任を持ってサービスを利用している場合でも、成長に備えて十分な余裕を持たせることが望ましいでしょう。
システムディスクの容量を節約するには、ファイルを Amazon S3 にアップロードし、バックアップも S3 に保存するようにシステムを設定できます。手動で何かを削除するのはお勧めしません。Discourse は不要なデータを自動的にきれいに片付ける機能が非常に優れています。
pfaffman
(Jay Pfaffman)
3
CloudFront は避けたほうがよいでしょう。Discourse のセットアップで Let’s Encrypt の登録アドレスを指定すれば、自動的に設定してくれます。
多くのアップロードを想定していない限り、「爆発する」という表現が何を指すかにもよりますが、しばらくは問題ないはずです。EC2 のストレージ節約を図りたい場合は、アップロードに S3 を利用することもできますが、実際に問題が発生してから対処を検討するのでも遅くはないでしょう。
YusufH
(Yusuf)
4
ご提案とアドバイスありがとうございます。フォーラムへの画像投稿は避ける予定ですので、うまくいくことを願っています。アップロードにはおそらくS3を使うつもりですが、フォーラムが空になる予定なので、実際には必要ないでしょう。「大成功」と言ったのは、私が過度に楽観的だったからです。Jayさん、ありがとうございます。Let’s Encryptのアドレスを設定しますし、他のアドバイスも感謝しています。