s3で月10円程度webサイトを公開する
レンタルサーバって高くない?最安でも300円くらいからで、だいたい1000円くらいとか無いわー。。。
ほとんどPVないのに、そんなに取られてたら一年で3600円から12000円の赤字やわー。。。
まじつらいわー。。。
っとお思いのみなさま。中の人たくみがご提案します!
s3を使って月々10円程度でwebサイトを公開してみましょう!!
(10円で運用するには諸諸条件があります。)
バケットを作って公開したいhtmlをいれる
それでは、s3を開いて、 Create Bucket ボタンをポチッと押しましょう!
Bucket Name と Region を入力します。
Bucket Name には、公開したい所有しているドメイン名を入力してください。
(サンプルではs3-hosting.cre8cre8.comにしています。)
Region はデータが保存される場所です。場所によって、s3の値段が異なります。
今回は Tokyo を選択しています。
入力が完了したら Create ボタンを押してください。
それでは、公開するhtmlを作りましょう。
index.html | |
---|---|
1 | <!doctype html> |
2 | <html> |
3 | <head> |
4 | <meta charset="utf-8"> |
5 | <title>s3でホームページを10円で作る</title> |
6 | </head> |
7 | <body> |
8 | <h1>Hello. My home page!!</h1> |
9 | </body> |
10 | </html> |
上記のhtmlをindex.htmlという名前で保存してください。
この index.html を作成したバケットにアップロードします。
s3-hosting.cre8cre8.comをクリックするとバケットの中身一覧が表示されます。
(作ったばかりなので中身一覧には何も表示されませんが…)
その後、上部にあるActionボタン -> Uploadと押します。
index.htmlのアップロードが完了すると下記のような画面になります。
バケットポリシーとStatic Website Hostingの設定
上記でアップロードしたファイルはこのままだと非公開なので、公開するよう設定してきます。
バケットの設定をするため、プロパティーを表示します。
画面上部左にある、Propertiesボタンを押してください。
Permissionsを開き、Edit bucket policyボタンを押します。
すると、バケットポリシーを編集できる画面になりますので、下記内容を追加します。
bucket policy | |
---|---|
1 | { |
2 | "Version":"2012-10-17", |
3 | "Statement":[ |
4 | { |
5 | "Sid":"AddPerm", |
6 | "Effect":"Allow", |
7 | "Principal": "", |
8 | "Action":["s3:GetObject"], |
9 | "Resource":["arn:aws:s3:::YOUR_BUCKET_NAME/"] |
10 | } |
11 | ] |
12 | } |

YOUR_BUCKET_NAME の箇所にはバケット名を記入します。
上記の設定で、誰でもこのバケットに読み取り(GET)アクセスすることができるようになります。
噛み砕いていうと、Webページが公開されますよ〜っという意味になります。
そして、次に実際に公開するため Static Website Hosting 設定をします。
Permissionsの下にStatic Website Hostingという項目があるので押します。
真ん中の Enable website hosting をチェックして、
Index Documentに index.html と入力してください。
この Index Document に index.html と入力するのを忘れると、
http://your_domain/index.html みたいな感じで index.html と入力しないと404エラーになるので注意してください。
設定が完了したら Save ボタンを押します。
それでは、 Endpoint に記載されているURLを押してみましょう!
作ったhtmlが表示されていたら成功です!
独自ドメインで公開する
http://YOUR_BUCKET_NAME.s3-website-ap-northeast-1.amazonaws.com
で毎回アクセスするのはちょっとかっこ悪いのと、URLが長いので、独自ドメインでアクセスできるようにしてみましょう!
Route53 でドメイン管理をしていた場合はサクサク♪っとできます。
では、AWSのコンソールのトップページに戻ってから、
Route53を開いて、紐付けるドメインのレコードをいじれる画面まで遷移後、
Create Record Set ボタンを押して、新たなレコードを作成します。
Nameには、作ったバケット名のサブドメイン部分を、
AliasのラジオボタンはYesを選択。
AliasにYesを選択した状態でAlias Targetにフォーカスを合わせると、プルダウンメニューが現れるので、
-- S3 website endpoints -- から、先程作ったs3バケットを選択してください。
そして、Create ボタンを押します!
では、設定したドメインでアクセスできるか確認しましょう!
キタ━━━━(゚∀゚)━━━━!!
まとめ
WebのAWSコンソールからの操作でほとんど完結するので、簡単にできますね。
では、今回の s3でwebサイトをホスティングする操作 のおさらいです。
- s3で公開用のバケットを作成する(公開するドメイン名と一緒になるように設定)
- バケットポリシーとStatic Website Hostingを設定する
- Route53からDNSの設定をする。その際 Alias を yes にして設定する。
あ、免責になりますが、必ず10円で運用できるとは限りません。
PVがめちゃくちゃ多いサイトや、動画などのデータ容量が大きいコンテンツを配信している場合は、
桁がいくつも多くなるのでご注意ください。
画像を使っている量にもよりますが、だいたい月間1000pvくらいでしたら、10円程度になると思います。
個人的な経験則ですが。。。
詳細な金額が必要な場合は計算シミュレーターをAWSが提供していますので、
必ず事前にチェックしてくださいね。
それでは、格安でWebサイトを運営してCoolでイケてるナイスなGuyになりましょう!
お疲れ様でした!!