前回の記事(Amazon S3とCloudFrontを利用したホスティングの正しい利用方法)で紹介した
ANDROID IRETをCDNホスティングからS3ホスティングへ乗り替えた際の手順について説明します。

尚、ANDROID IRETは、東京リージョンが開設される前にシンガポールで作成しているため、
東京リージョンでS3ホスティングをする形で進めたいと思います。

まず、CDNホスティングは、S3上に置いているデータをオリジンとして、
CDNにキャッシュとしてブラウザ上でデータを表示させるものです。
この状態からS3ホスティングをする場合、同じリージョンであれば、
設定しているCloudFrontを削除し、DNSの向け先をS3に変更すれば完了です。

しかし今回の場合は、下記の理由により非常に手間がかかります。
手間がかかる理由として、
(1)リージョンが変わる
(2)すべてのリージョンで、同じバケット名を作成できない
という点です。

まずはじめに、リージョンが変わるため、バケットを作成しないといけないのですが、
同じ名前でバケットの作成をすることが出来ないため、既存のバケットを削除する必要があります。
ですが、そのまま消してしまうとサイトが表示されなくなってしまうので、
代替サーバを用意し、一時的に移動する必要があります。
※省略していますが、今回はEC2に領域を作成して、移行しました。

そして、既存のバケットを削除した後、ホスト名でバケットを作成しようとすると
下記のように怒られてしまいました。

この場合、時間をおくと同じバケット名が作成出来るので、
少し時間をおいて、S3ホスティングの準備を行います。
※今回は、1時間程度空けた後、同じ名前のバケットの作成が出来ました。

バケットが作成されれば、あとは設定のみです。
まずは、バケットを右クリックして、プロパティを開き、
WebSite機能を利用できるように設定します。
※error.htmlが無い場合、403が表示されるので、アップロードする必要があります。

最後にパーミッション設定で、Everyoneを追加します。

これでS3ホスティングの設定は完了です。
設定が間違っていなければ、S3で発行されるURLでページが表示されます。
今回は、下記のURLです。
http://www.android-iret.com.s3-website-ap-northeast-1.amazonaws.com/

そして、バケットで設定したドメインで表示するには、
CNAMEで設定すれば完了です。

リージョンが変わるという点がなければ、バケットを削除する必要もないし、
簡単にS3ホスティングを始められますね。

こちらの記事はなかの人(MEMO 4 ME)監修のもと掲載しています。
元記事は、こちら