質問: 現在、インスタグラムのような写真共有アプリを作っています。 サーバーはConoHaを利用しています。 ConoHaのVPSではディスク容量が最大でも500GBまでしか増やせないのですが、仮に500GB近くまで容量がいった時、その場合はどのように対応するのが適切なのでしょうか? もう一つVPSを増やすみたいなやり方なのか、それとも最初からVPSのディスクは利用せず、写真などの保存はConoHaでしたら「オブジェクトストレージ」やAWSの「S3」などを利用したほうが良いのでしょうか? 調べたところ「オブジェクトストレージ」などは速度が遅いというので、このようなケースをご存知の方がいましたら、ぜひ色々なアドバイスをいただきたいです。 現在は「APPサーバー」→「DBサーバー」という構成になっています。 サーバー構築は未経験でして周りにも詳しい人がいないため、ぜひご教授お願いいたします。
回答: クラウド上に構築する方法で手軽なものは、記載されている通りS3などを利用する方法です。 速度には確かに制限がありますが、S3の東京リージョン・標準ストレージでこれまで数年日本市場向けに動画のストリーム配信を行ってきた限りでは、特に遅いと感じることはありませんでした。経験上、クライアント側が太い回線であれば10Mbps程度はでます。(東京であればレイテンシも非常に小さいです) ConoHaのオブジェクトストレージは利用したことがないのですが、S3はnekoさんのような用途で利用できる便利な機能がたくさんあります。オブジェクトへのアクセス権限設定はもちろん、例えば、Pre-Signed URLといって、期限付きのワンタイムのURLを発行することなどもできます。なにより「ストレージのスケールについて悩む必要がなくなる」「写真の読込に関するトラフィック負荷をすべてS3が負ってくれる」という点が非常にありがたいです。 さらにパフォーマンスについて要求の高い環境では、S3と組み合わせてCloudFrontなどのCDNにキャッシュさせる方法もあります。追加費用がかかりますが、読込のパフォーマンスが向上します。 もう1つの手軽は方法としては、Elastic File Systemを利用する方法もあります。 こちらはVPSではなくEC2のインスタンスと組み合わせる前提のサービスですが、S3などの外部ストレージとしてではなくインスタンスに直接接続されたものとして、自動拡張されるストレージが利用できるため、シーンによってはS3よりももっと手軽かもしれません。(ただし、こちらは東京リージョンがまだないのと、料金もS3より割高です)