2011-02-21

Amazon S3 でウェブサイトがホストできるようになったので移転してみた

こんにちは。なかじまんです。

ずっととある VPS を利用していて、料金がもったいないなぁと思いつつも、過去に作ったコンテンツを破棄するのもなんだしなーと放置していたウェブサイトがあったのですが、なんと Amazon S3 でウェブサイトがホストできるようになったので、さっそく移転してみました。

移転元のサイト

Postal Search APIs & Solutions
http://developmentor.lrlab.to/postal/

移転で捨てたこと

Perl5 による CGI がいくつかあったのですが、この機会に削除しました。また、Apache 固有の .ht ファイルも削除しました(もちろん不可視であるべきファイルも削除しました)。ので、正しく表示されないページやデッドリンクがありますが、そこはご愛敬で。

バケットの作成と設定

developmentor.lrlab.to という新バケットを作りました。バケット名は CNAME と同じにしないとダメです。ここは今までと同じ。

バケットの設定

AWS Management Console からバケットのプロパティを開くと、Website タブが追加されています。ここで Enable のチェックを ON する。そんで Index Document: index.html、Error Document: 404.html とした。

Index Document には / や /foo/ や /foo/bar/ のときに表示するファイルを指定する。今までは XML が表示されてしまったが、これでウェブサイトっぽくなる。ちなみに /foo/bar など末尾の / を省略したとき bar がフォルダのときは、302 でリダイレクトするあたりもウェブサイトと同じ。

Error Document には、HTTP ステータスコードが 4xx のときに表示するファイルを指定する。指定したファイルはルートに置いておけばよい。Amazon S3 の仕様上は、400, 403, 404 が起こりうるが、ファイルは1つしか指定できない。ちょっと Amazon の手抜きっぽい気はするが、実質は 404 Not Found を表すファイルを追いておけば不自由ない。

ファイルのアップロード

移転元のサイトのファイルをアップロードしました。ここも今までと同じ。

移転先のサイト

Amazon S3 のエンドポイントは、今までと同じ↓と思いきや、これが違うのです。このエンドポイントは、いわゆる S3 として振る舞うもので、Website とは関係ないようです。

http://developmentor.lrlab.to.s3.amazonaws.com/postal/

構成上、そりゃそうかとも思えるし、いっしょにしてよとも思えるし。それで WebSite のエンドポイントは、特別に用意されたものがあり↓、今までと異なりました。しかも、選択した地域によって URL が違います。ありゃりゃ。

http://developmentor.lrlab.to.s3-website-us-east-1.amazonaws.com/postal/

DNS の設定
CNAME developmentor.lrlab.to
    developmentor.lrlab.to.s3-website-us-east-1.amazonaws.com
とすれば、おけ。

さようなら VPS

というわけで、次の更新のときには VPS を解約します。元々のアクセスはそれなりにありますが Amazon S3 の単価のほうが安いでしょう。また、気持ち的に管理主体が、自分から Amazon に移った気持ちになれるので、そこが気楽でいいかな。どうがんばったって第三者が悪さできることもないしね。

ちょう適当メモですが、参考になれば幸いです。

0 件のコメント: