質問: ### 前提・実現したいこと Node.js(express)でオンラインアルバムサービスを作ろうとしています。(Herokuで公開するつもりです) これはユーザー個人がブラウザ上でアルバムを作って画像をアップしていくサービスで、RDB(PostgreSQL)でデータベースを作っています。ですが、RDBの中に直接画像のデータを入れるのは速度的にも問題ありという指摘を受けました。 そのため、S3などのストレージにユーザーからの画像コンテンツを入れ自前のRDBにそのS3に入っている画像へのリンクを記録させようとしています。今回の制作では、アルバム毎にユーザーが公開範囲を設定できる仕組みにしていてアルバム単位では閲覧制限を既に実装できていますが、現在の構造だとS3上で画像一つひとつがパブリックだと別のユーザーがURLを踏むだけでアクセスできてしまう状態になってしまうのではないかと懸念しています。 ### 教えてもらいたいこと 個人が上記のようなサービスを作る場合、 * 「どのようにして画像を配信するのがスタンダードなのか」 * 「S3での画像配信には他にどのようなことを学ぶ必要があるか」 * 「他に簡単な方法はあるか」 などを教えていただきたいです。 ※当方、Herokuなどでの簡単なwebアプリを公開したことはありますが、AWSを使用したことがなく頓珍漢なことを言っていたらすみません。
回答: 署名付きURLを使って、コンテンツにアクセスできる期限を設けるのが良いかと思います。