S3を使ってルートドメインでWebサイトをホスティング!がリリースされたので確認してみた
Amazon S3で作ったWebサイトを独自ドメインのルートドメインで公開できるようになったようですね!
つい先日ルートドメインで設定できずに断念していたサイトがあったので、早速どんなもんかやってみました。
アジェンダ
- S3バケット作成
- S3設定
- Route53設定
- 公開
- 注意点
- まとめ
- 参考記事
S3バケット作成
今回は「m-nakajima18.com」のルートドメインでS3のWebサイトを公開します。
まずはS3のバケットを作成します。
バケット名はドメインと同じ名前の「m-nakajima18.com」です。
通常S3でWebサイトを作成するのと同じようにバケット内にコンテンツをアップロードしておきます。
今回は「S3test.htm」という適当なhtmlファイルをアップロードしました。
S3で自動的に発行されるアドレスでアクセスするとこんな感じ↓
S3設定
Route53でルートドメインで設定するためにはS3バケットのプロパティにある「Static Website Hosting」の項目を設定します。
「Static Website Hosting」内の「Enable website hosting」の「Index Document」を入力します。
今回は「S3test.htm」
最後に「Save」で設定を保存。
Route53設定
以前はAliasにYesのチェックをつけてもAlias TargetにはS3のEnd Pointは出て来なかったのですが。
ちゃんと出てますね。
m-nakajima18.comのEnd Pointを選択します。
公開
m-nakajima18.comでアクセスしてみます。
先ほどのS3で自動発行されたアドレスと同じ画面が表示されました。
ルートドメインでの公開成功です!
注意点
この過程で何度か手戻りがあったので注意点を記載しておきます。
- ドメイン形式でないバケット名はRoute53のAlias Targetに表示されない
バケット名が「rootdomain-test」「s3test-mnakajima18」「www.rootdomain-test」はプロパティで「Static Website Hosting」の設定まではできますが、Route53のAlias Targetには表示されませんでした。
.comとか.co.jpなどトップレベルドメインがないと利用できないようですね。
- 該当ドメイン名と同じバケット名でないとAlias TargetのS3 Website End Pointに表示されない
バケット名が「mnakajima18.com」はRoute53の「m-nakajima18.com」のホストゾーンのAlias Targetには表示されませんでした。
Route53で「mnakajima18.com」のホストゾーンを作成して試したところ、表示されたのでドメイン名とバケット名は同じでないといけないようです。
まとめ
実際悩んでいたS3のWebサイトのバケット名はドメイン名ではないので、作成し直してコンテンツの移行とかしないとなんだなーと。
実行まではめんどくさいかも。。。
参考記事
http://aws.typepad.com/aws_japan/2012/12/root-domain-website-hosting-for-amazon-s3.html