AWS S3を使ってStaticなWeb Hostingを実現します。S3を使ったServer lessでのWeb Hostingは、EC2でWeb Serverを立ち上げてWeb Serviceを実現するよりも、AWSの使用料を抑え、簡単に可用性、耐久性を得ることができます。長期間変更することのないContentsだけでもS3に置くように運用すると効率的です。
初心者向けとして、簡単なindex.htmlをS3に置いてWeb Hostingする手順を説明します。手順は2019年6月に実際に行った画面で説明します。
まずはS3の設定です。Management ConsoleからS3のServiceを呼び出します。
「今すぐ始める」ボタンをクリックしてBucketを作成します。その後のStepは、
1. 「名前とリージョン」タブでバケット名を入力します。バケット名は、FQDN形式で入力します。AWS全体で重複のない名前を指定する必要があります。今回は、”export.hacya.com”としました。リージョンは”アジアパシフィック(東京)”を選んでおきましょう。
2. 「オプションの設定」タブでは、タグを付けておきましょう。他はデフォルトのままで良いです。
3. 「アクセス許可の設定」タブでは、「パブリックアクセスをすべてブロック」のチェックを外します。その他はデフォルトのままで良いです。
4. 「確認」タブで、内容を確認して「バケットを作成」ボタンをクリックしてBucketを作成します。
次に作成したBucketのPropertyを変更してStatic Web Hostingをできるようにします。
1. 「プロパティ」タブをクリックします。
2. 「Static Website Hosting」をクリックします。
3. 「 このバケットを使用してウェブサイトをホストする」をチェックして、 インデックスドキュメント 、エラードキュメントを指定します。ここでは、提案の通りのFile名で、index.html、error.htmlを入力して、「保存」をクリックして設定を保存します。
ここで、S3 BucketにUploadするindex.htmlとerror.htmlを準備します。
<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<big><b>Hello World!</b></big>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Error - File Not Found</title>
</head>
<body>
<big><b>Error 404 - File Not Found</b></big>
</body>
</html>
S3にfileをuploadします。
「概要」タブに戻って、「アップロード」をClickします。index.htmlよerror.htmlをDrag & Drop。
1. 「ファイルの選択」タブでは、「次へ」をClick。
2. 「アクセス許可を設定する」タブでは、「パブリックアクセス許可を管理する」を「このオブジェクトにパブリック読み取りアクセス権限を付与する」に変更、他はデフォルトのまま「次へ」をClick。
3. 「プロパティを設定する」タブは、デフォルトのまま「次へ」をClick。
4. 「確認」タブで、設定を確認して、「アップロード」をClick。
これで、Static Web Hostingが出来ました。
実際にWeb Hostingが出来ているか確かめてみましょう。
index.htmlをclickすると「概要」タブが表示されます。ここの「オブジェクトURL」がindex.htmlへのURLとなります。
Web BrowserでURLを入力して、index.htmlが表示されるか確かめます。
以上で終了です。