2015年8月6日木曜日

S3でWebページを作る(Website Hosting)

今更(2015/08/06現在)ですがS3のWebsite Hostingです。

静的なページであればS3だけでWebサイトを公開可能(ウェブサイトホスティング)です。
そもそもS3って何?という方は以下を参照願います。
http://aws.amazon.com/jp/s3/

AWSは勝手にどんどん値下げしてくれるので、知らないうちにどんどん安くなっていきます。
リリース当時は10円でウェブホスティングとか謳っていた記憶がありますが、
もはや1GBで4.2円程度。(1$125円で計算)
たとえドル円レートが1$150円になっても5円を切ってます。
S3にはリクエスト課金があります。
たとえばHTMLと画像が4点で構成した合計1MB程度のペラ1のページを作った場合、
ファイルが全てS3に置いてあれば1回の表示にHTML+画像4点で5リクエスト必要となります。

月間アクセス数が100万程度であれば、500万リクエストです。
この記事を書いている段階で1万リクエストで$0.0037なので、$1.85で231.25円となります。

トラフィックがこのケースだと100万x1MBで約977GBになります。
無料分の1GBを抜いて976GBとした場合、$136.64で17080円となります。
このケースでは、単純計算で17080+231.25+4.2=17316円かかる形となります。

やはりAWSはトラフィック次第で高くなるんですよね。
Cloudfrontを使っても同じくらいの価格です。

月間1万リクエストくらいで300KB位のページであれば、60円程度です。
ここまで落ちると最適なサイトパターンは大体読めてくると思います。

イメージとしては以下。簡単ですが・・・。(Route53は使わなくてもok)






実施方法は下記に公式ドキュメントがあります。
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html


肝心の実施方法ですが、注意する点は3つです。
1.ドメイン名でS3バケットを作る
2.Website Hostingの設定をする
3.バケットポリシーを設定する

それではS3にバケットを作ります。
バケット名はHTTPアクセスさせたいドメイン名(FQDNの最後のドットを抜いたもの)です。



作成したらWebsite Hostingの設定をします。
ここで青線のエンドポイントをコピーしておきます。(後でDNSに登録します。)
indexのファイルを指定します。また、エラー時に特定ファイルを表示させたい場合は、
error documentの指定もします。設定しない場合はS3のエラーページが出ます。



次はVirtualHost出来るようにバケットポリシーを設定します。



バケットポリシーは公式に記載されている通りで問題ありません。
青線部分を今回作成したバケット名(要するにドメイン名)に変更します。





あとはこのバケットにindex.htmlをアップロードすればS3側の準備は完了。
さきほどコピーしたエンドポイントをCNAMEとしてレコード登録すればアクセス出来ます。


それでは、よいクラウド構築を。

0 件のコメント:

コメントを投稿