1. ホーム
  2. 記事一覧
  3. 【AWS】Amazon S3で静的ホスティングする理由

2023.01.08

【AWS】Amazon S3で静的ホスティングする理由

Amazon S3(以降、S3)にはS3バケット内にputされたHTMLなどのオブジェクトを用いて、サーバレスでWebページをホスティングして公開する機能が備わっています。

今回はS3の注目機能である静的ホスティングについて、導入する理由や主な使用用途について解説を行います。

なぜS3で静的Webサイトをホスティング?

理由は、極めて低コストだからです。

企業HPや広告ランディングページは動的な要素は必ずしも必要はなく、静的なファイルを表示できればよいのであまり高機能なWebサーバーを必要としません。ReactでビルドしたSPAなども静的なものでS3での静的ホスティングが適しています。これらは静的ホスティング機能を有効化するだけで簡単に実現できます。

本当に安い

一番の理由として料金の安さがあります。料金は従量課金制のため容量・リクエスト数・データ転送量によって異なりますが、デフォルトで選択されるS3 Standardの場合は以下になります。

説明料金
ストレージ利用料 (最初の 50 TB/月)0.025USD/GB
1000リクエスト(GETの場合)0.00037USD
インターネットへのデータ転送(最初の 10 TB/月)0.114USD/GB

月間PV数が1万程度のサイトを例にすると

  • データ容量:1GB = 0.025USD
  • リクエスト数:15 × 10,000PV ÷ 1,000 × 0.00037USD =0.0555USD
  • データ転送量:2MB × 10,000PV = 20GB(20GB × 0.114USD)= 2.28USD

合計:0.025USD + 0.0555USD + 2.28USD = 2.3605USD

月間1万PV数だとひと月あたり2.3605USDで日本円で約317円でWebサイトを公開することができます。 ※解説時のレートのため変動する場合があります。

高い可用性

S3は3つ以上のアベイラビリティーゾーン(以降、AZ)で保護されています。

このAZとは1つのリージョン内での物理的に分離されたロケーションを表しており、クライアントがアップロードしたデータは3つのAZに分けて保存がされます。そのため火災や洪水などの災害発生時に1つのAZがダウンしても残りのAZでデータが保護され、高可用性を実現します。

これにより静的Webサイトをホスティングした場合もサーバダウンなどによりサイトが停止してしまう可能性が極めて低く、安定した配信を行えます。

サーバレスによる手軽さ

通常自社サーバを用いてWebサイトを作成する場合はサーバの構築や運用に莫大なコストや人的労力が必要になります。

一時的にアクセス数が増加した場合はサーバダウンしてしまう恐れや、アクセス数が継続的に増える場合はサーバ増設などコストも発生します。ですが、Amazon S3を用いることでこれらのサーバ管理を全てAWSへ任せることができ、利用者は手軽にWebサイトを運用することが可能になります。

静的Webサイトと動的Webサイトの違い

そもそもAmazon S3でホスティングが行える静的Webサイトとは何か、動的Webサイトとどう違うのかについて解説を行います。

静的Webサイトとは

静的WebサイトとはHTMLファイルなどで作成された、誰がいつどこでアクセスしても毎回同じものが表示されるWebページのことです。ユーザーの要求に対してWebサーバが要求されたデータをそのままブラウザに送信を行って表示します。そのためサーバ側での処理の必要がなく、ページ表示までのスピードが速いため、ユーザーの離脱などが抑えられます。

動的Webサイトとは

動的Webサイトとはアクセスしたときの状況に応じて異なる内容が表示されるWebページのことです。会員制のサイトやショッピングサイトなど、使う人によって違うページが表示されるサイトは動的Webサイトと言えます。

例えば、検索エンジンではユーザーの検索ワードを基にWebサーバが検索処理を実行し、HTMLファイルを作成します。その後Webブラウザに送信することでユーザーの入力した検索ワードに対して最新の検索結果情報を提供することができます。

主なユースケース

Amazon S3を用いた静的Webサイトとして以下のような使い方ができます。

企業HP

自社を紹介するHPなど、アクセスするユーザーに対して同じ内容のページを表示したい場合に適しています。企業HPなど長期的に利用をする場合にAmazon S3を使用することでコストを抑えて運用が行えます。

社内向けサイト

こちらは一般公開するのではなく、社内Wikiや通達など社内の従業員向けにサイトを公開したい場合に使えます。一般公開する場合と違い、急激なアクセス数の増加なども少ないため低価格で運用が行えます。

ランディングページ(LP)

商品やサービスなどを紹介するランディングページでは高い可用性が求められます。ユーザーがアクセスをしてきた際にページが表示されなかったり、急激なアクセス数の増加によりサーバがダウンしてしまうとお客様を獲得するチャンスを失います。ですがAmazon S3では99.99%のオブジェクトの可用性が提供されているため、高可用性を求められるランディングページなどに向いています。

SPAの配信

SPA(Single Page Application)は単一のページで構成されるWebアプリケーションです。動的なデータはAPIサーバーから取得するため、Reactなどで開発したSPAは静的ファイルを配信するだけで済みます。代表的な例だとGoogleMapやSlackのWebページなどはSPAが採用されています。

まとめ

静的Webサイトをホスティングする際に、自社サーバを使用するとサーバの構築から管理まで多くの費用と時間がかかり、レンタルサーバを利用する場合にはコストを抑えた運用が難しくなります。

しかし、Amazon S3を用いる事で可用性の高い静的Webサイトを手軽に尚且つコストを抑えて作成することができます。長期的に運用を行う企業のHPや高可用性が求められるランディングページなどを作成する場合には是非Amazon S3を用いてホスティングしてみましょう。

エンベーダー編集部

エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。

RareTECH 無料体験授業開催中! オンラインにて実施中! Top10%のエンジニアになる秘訣を伝授します! RareTECH講師への質疑応答可

関連記事