Amazon S3とは

Amazon S3」はAmazonのインフラ上で提供されているストレージサービスです。ホスティング機能も有し、どのようなデータでも保存・取得ができるオブジェクトストレージです。

Amazon S3の特徴

S3には以下のような特徴があります。

⚡ 落ちない・重くならない

一般的なホスティングサービスは、サーバー性能や帯域の限度を越えた膨大なアクセスがあると負荷で表示が重くなり最悪サーバーダウンしますが、S3は一定したパフォーマンスでリクエストを返し、サーバーダウンもありません。

厳密にはAmazon側のネットワークがダウンしたり障害が起きれば影響を受けますが、特定サイトの負荷程度ではまず落ちません。過去あった障害はAmazon側の人的ミスや自然災害によるものだけです。

💰 低コスト

S3は初期費用無料で初められ、「保存されたデータ容量+データへのリクエスト数+データ転送量」の従量課金です。料金計算は複雑ですが、必要最低限の費用で安価に利用できます。

料金について詳しく後述します。

🖥️ プログラムは動かない

デメリットと言える特徴ですが、S3はファイルの保存・配信に特化しており、アプリケーションのファイルを置いても実行できません。プログラムの実行はEC2で、ファイルの保存はS3で、といった使い分けが一般的です。

Amazon S3の利用シーン

S3の特徴を活かした利用シーンの例を紹介します。

バックアップサーバー

バックアップデータは大容量かつ非公開にしておきたいデータです。EC2で構築した公開アプリケーションサーバーから、S3で構築した非公開ファイルサーバーへバックアップデータを保存することで外部から参照されないセキュアなバックアップ環境を作れます。

コンテンツファイルサーバー

画像や動画、音声といったサイズの大きいファイルを、保存・公開するためのコンテンツファイルサーバーとして利用されることも多くあります。サイズの大きいコンテンツは参照されるだけでもアクセス負荷が高まりやすいですが、S3はそうした負荷の影響を受けず安定して配信できます。

落ちないウェブサイトの構築

S3はWordPressなどの動的システムは置けませんが、静的HTMLだけで構成されたウェブサイトなら問題なく公開できます。EC2と異なりどのようなアクセス負荷でも落ちることなく安定してサイトを公開できます。

検索広告からアクセスさせるランディングページなど、静的ファイルだけで構成されているサイトに向いています。

Amazon S3の料金

S3は「保存されたデータ容量 + データへのリクエスト数 + データ転送量」という料金体系です。

データ容量S3に保存されているファイル容量に応じ月額で料金が発生
リクエスト数S3へのファイル保存やファイル参照など、S3へのリクエストごとに料金が発生
データ転送量リクエストに対しS3が送信したデータ転送量に対して料金が発生

上記の公式料金を見ると分かりますが、サービスはシンプルなのに料金体系は難しいため、料金例も含めて紹介します。

料金例

静的ページをS3で公開するケースで以下の条件を例に計算してみます。(2018年8月現在の料金)

  • サイト全体で1GBの容量
  • 1PVあたり合計15回のリクエストが発生
  • 1PVあたり合計2MBの転送量が発生
  • 月30万PV
データ容量: 1GB = 0.025USD
リクエスト数: 15 x 300,000PV ÷ 1,000 x 0.00037USD = 1.665USD
データ転送量: 2MB x 300,000PV = 600GB
           (600GB - 無料分1GB) * 0.14USD = 83.86USD
合計: 0.025 + 1.665 + 83.86 = 85.55USD

概算ではありますが、30万PV規模のサイトも月86USD(約9,500円)で公開できると分かりました。

料金はほとんど転送量で占めているため、PVの少ないサイトをS3でホスティングすると格安レンタルサーバーより安くなることがあります。 上記の同条件でPVだけ月1万に落ちると以下のようになります。

データ容量: 1GB = 0.025USD
リクエスト数: 15 x 10,000PV ÷ 1,000 x 0.00037USD = 0.0555USD
データ転送量: 2MB x 10,000PV = 20GB
           (20GB - 無料分1GB) * 0.14USD = 2.66USD
合計: 0.025 + 0.0555 + 2.66 = 2.74USD

1万PV程度なら月2.74USD(約300円)になります。

さいごに

今回は Amazon S3 の特徴から料金についてご紹介しました。

S3はAWSのストレージサービスとしてEC2に次いで多用されるサービスです。EC2と連携して動的なアプリケーションのファイルストレージとして使われることが多いですが、今回紹介したように静的ページだけのホスティングにも応用できます。利用の参考になれば幸いです。