S3バケットを静的Webサイトのホスティングサーバーにする

HTMLやJavaScript、画像、動画といったファイルのみで構成される静的なWebサイトであれば、Webサーバーを用意する必要はありません。S3 バケットをWebサイトのホスティングサーバーにしてしまえば、簡単に公開出来ます。

ここでは、 S3バケットを、静的Webサイトのホスティングサーバーにする方法について解説します。

S3バケットを作成

バケットの作成方法はこちらを参考にして下さい。

もし、後述のように、独自ドメインを用いてバケットを静的Webサイトホステイングサーバーとして公開する予定がある場合、バケット名は必ずFQDN形式で作成して下さい。

例として「static.ktykwsk.com」という名前のバケットを作成しました。以下、「static.ktykwsk.com」を自身のバケットと置き換えて下さい。

バケットのプロパティ設定

ホスティングサーバーとしたいバケットのプロパティ -> Static Website Hostingをクリックします。

ダイアログが表示されますので、下記の画像に従って設定を行って下さい。

アクセス権限の設定

ホスティングサーバーとしたいバケットのアクセス権 -> バケットポリシーをクリックします。

こちらのページから、「匿名ユーザーへの読み取り専用アクセス許可の付与」というバケットポリシーをコピーします。直接リンクはこちらです。

以下の画像を参考に、コピーしたバケットポリシーを元に、バケットポリシーを入力して下さい。「static.ktykwsk.com」は、自分のバケットの名前に置き換えて下さい。

ファイルをアップロード

アップロード方法はこちらを参考にして下さい。

試しに下記の内容で「index.html」というHTMLファイルを作成し、バケットの直下にアップロードしました。バケットポリシーが適用されるので、アクセス権限は設定しません。

ブラウザでアクセス

アップロードしたファイルにブラウザからアクセスしてみましょう。バケットのプロパティ -> Static Website Hosting を開き、エンドポイントをクリックして下さい。アップロードしたファイルが表示されるはずです。

以上です。

次回はAWS Route 53でホストしている独自ドメインを用いて、作成した静的Webサイトホスティングサーバーへアクセスする方法について解説します。