お問い合わせ

画像や静的ファイルはどこに保存してる?-S3で実現するファイル保存-【Luxucomを支える技術 #7】

こんにちは、かびらです。

本日はS3について解説します。

S3とは?

S3は、AWSが提供しているストレージサービスです。

画像や動画、静的ファイルを保存しておける場所として利用できます。

障害に強く、容量を気にせず使えるので、安定した運用に向いています。

S3を採用した理由

次にLuxucomで、S3を採用した理由についてです。

LuxucomでS3を使った一番の理由は、SNSの機能としてユーザーが画像をアップロードできる必要があったからです。

また、Webサーバはそれぞれ独立して動いているため、ファイルを共有できる場所が必要でした。

さらに、容量の制約を受けずに使える仕組みが欲しかったことも、大きな理由のひとつです。

S3と関連するアーキテクチャ

次に、LuxucomでS3と関連するアーキテクチャを見ていきましょう。

クライアントからアップロードされた画像ファイルは、まずWebサーバを通して処理されます。

そのファイルは、保存先としてS3に記録されます。

そして、ユーザーが画像や静的ファイルを利用するときには、S3に保存されたデータがCloudFront経由で配信される仕組みになっています。

このように、S3はファイルの保存基盤として大きな役割を担っています。

S3を使って良かった点

S3を使って良かった点は、大きく2つあります。

S3を使って良かった点のひとつは、Boto3ライブラリを使えば簡単にファイルアップロードを実装できたことです。

また、CloudFrontとの連携もスムーズで、保存したファイルをすぐに配信できる仕組みを整えることができました。

CloudFrontについては、また次回で詳しくご紹介します。

S3を使って難しかった点

S3を使っていて難しかった点のひとつは、権限管理です。

IAMやバケットポリシーの設定が複雑で、最初は正しく動かすのに苦労しました。

もうひとつは、AWSマネジメントコンソールでのファイル操作です。

エクスプローラーのようにシンプルに操作できるわけではないので、慣れるまでは使いづらさを感じました。

さいごに

今回は、LuxucomにおけるS3の仕組みを紹介しました。

画像や静的ファイルを保存する基盤として欠かせない存在だということが伝わったと思います。

次回は、保存したファイルを実際に配信する仕組み、CloudFrontについて取り上げます。