ニックネーム:NS さま
■質問内容
ある特定のユーザ1万人に対して1か月間募集するウェブサイトで、ファイルアップロードの機能があるので集中アクセスを考慮して負荷を分散化させたいと考えています。要件としては、サイトにログイン(セッション)、DBはMySQLを使用、アクセス対象は世界、アップロードできるファイルサイズは1ファイル2MBくらいです。
GMOクラウドを利用してサーバを構築する場合、どのような構成にすればよいと思いますでしょうか?
お答えします!
WebサーバーはIaaSクラウドで冗長構成!ロードバランサーでアクセス分散!
データベースはバックで冗長化!速度を求める場合は専用物理サーバーを導入!
データの保存はオブジェクトストレージで想定以上の容量にも対応する構成を!
ファイルアップロードシステムについてはアクセス集中を避けるために、ロードバランサー配下にWebサーバーを複数台、配置していただき負荷分散する運用をお勧めいたします。
データベースについては今後の拡張を想定して冗長化構成をお勧めいたします。アクセスが多くデータベースの処理がDISK性能を上回る場合はSSDの搭載できる専用サーバー(SSDはこちら)を併用いただくことでアクセス集中による高負荷に備えることができます。
Webサーバーは拡張性を重要視したIaaSクラウド(弊社IaaSはこちら)、データベースについてはSSDの性能を生かした高負荷に耐える構成はいかがでしょうか。
回線については一ヶ月間の実アクセス数にもよります。弊社提供のIaaSクラウドや専用サーバーの共用回線で問題なく運用いただけると考えております。
ファイルの格納先についてはサーバー内に直接配置していただく方法と、アップロード先に想定以上のファイルアップルロードアクセスがあった場合のストレージ容量拡張を考えた弊社のオブジェクトストレージへ格納する方法いずれもご利用いただけます。短期間の運用とはいえ1万人以上のファイルアップロードが予想を超えた場合を考え、オブジェクトストレージへファイルを格納することをお勧めいたします。
構成図として、オブジェクトストレージを利用する場合と、利用しない場合の2パターン検討いたしました。
図1.オブジェクトストレージ利用の場合
ぜひご参考ください!