静的ウェブサイトを Amazon S3 上でホスティングする - Amazon Simple Storage Service

静的ウェブサイトを Amazon S3 上でホスティングする

Amazon S3 を使用して、静的ウェブサイトをホストできます。静的ウェブサイトでは、個々のウェブページの内容は静的コンテンツです。ほかに、クライアント側スクリプトが含まれていることもあります。

対照的に、動的ウェブサイトはサーバー側処理に依存しており、たとえばサーバー側スクリプト (PHP、JSP、ASP.NET など) が使用されます。Amazon S3 はサーバーサイドスクリプトをサポートしていませんが、AWS には動的ウェブサイトをホストするための他のリソースがあります。AWS でのウェブサイトホスティングの詳細については、「ウェブホスティング」を参照してください。

注記

AWS Amplify コンソールを使用して、単一ページのウェブアプリケーションをホストできます。AWS Amplify コンソールは、単一ページのアプリケーションフレームワーク (React JS、Vue JS、Angular JS、Nuxt など) と静的サイトジェネレータ (Gatsby JS、React-static、Jekyll、Hugo など) で構築された単一ページアプリケーションをサポートします。詳細については、AWS Amplify コンソールユーザーガイドの「開始方法」を参照してください。

静的ウェブサイトホスティング用にバケットを設定するには、コードを記述せずに AWS マネジメントコンソールを使用できます。AWS SDK を使用して、ウェブサイト設定をプログラムによって作成、更新、削除することもできます。SDK は、Amazon S3 REST API のラッパークラスを提供します。アプリケーションの必要性に応じて、アプリケーションから直接 REST API リクエストを送信することができます。

Amazon S3 で静的ウェブサイトをホスティングするには、Amazon S3 バケットをウェブサイトホスティング用に設定してから、ウェブサイトのコンテンツをそのバケットにアップロードします。バケットを静的ウェブサイトとして設定する場合は、静的ウェブサイトホスティングの有効化アクセス許可の設定、およびインデックスドキュメントの作成と追加を行う必要があります。ウェブサイトの要件に応じて、リダイレクトウェブトラフィックのログ記録、およびカスタムエラードキュメントを設定することもできます。

バケットを静的ウェブサイトとして設定した後、そのバケットには、バケットの AWS リージョン固有の Amazon S3 ウェブサイトエンドポイントを介してアクセスできます。ウェブサイトエンドポイントは、REST API リクエストを送信するエンドポイントとは別のものです。詳細については、「ウェブサイトエンドポイント」を参照してください。Amazon S3 は、ウェブサイトエンドポイントの HTTPS アクセスをサポートしていません。HTTPS を使用する場合は CloudFront を使用して Amazon S3 でホストされている静的ウェブサイトを提供できます詳細については、「Amazon CloudFront によるウェブサイトの高速化」を参照してください。

Amazon S3 での静的ウェブサイトのホストに関する詳細 (手順やステップバイステップのチュートリアルなど) については、以下のトピックを参照してください。