読者です 読者をやめる 読者になる 読者になる

どんまいこのネタ帳

花嫁修業だけでなくテックな修行のためアウトプットしていこうかと。ネットワーク/アプリ/サービスとりあえずなんでも

S3を使ってルートドメインでWebサイトをホスティング!がリリースされたので確認してみた

AWS

Amazon S3で作ったWebサイトを独自ドメインのルートドメインで公開できるようになったようですね!
つい先日ルートドメインで設定できずに断念していたサイトがあったので、早速どんなもんかやってみました。

アジェンダ

  1. S3バケット作成
  2. S3設定
  3. Route53設定
  4. 公開
  5. 注意点
  6. まとめ
  7. 参考記事

S3バケット作成

今回は「m-nakajima18.com」のルートドメインでS3のWebサイトを公開します。

まずはS3のバケットを作成します。
バケット名はドメインと同じ名前の「m-nakajima18.com」です。

f:id:mnakajima18:20121231172637p:plain

通常S3でWebサイトを作成するのと同じようにバケット内にコンテンツをアップロードしておきます。
今回は「S3test.htm」という適当なhtmlファイルをアップロードしました。
S3で自動的に発行されるアドレスでアクセスするとこんな感じ↓

f:id:mnakajima18:20121231173026p:plain

S3設定

Route53でルートドメインで設定するためにはS3バケットのプロパティにある「Static Website Hosting」の項目を設定します。

f:id:mnakajima18:20121231172636p:plain

「Static Website Hosting」内の「Enable website hosting」の「Index Document」を入力します。
今回は「S3test.htm」

f:id:mnakajima18:20121231193331p:plain

最後に「Save」で設定を保存。

Route53設定

以前はAliasにYesのチェックをつけてもAlias TargetにはS3のEnd Pointは出て来なかったのですが。
ちゃんと出てますね。

f:id:mnakajima18:20121231193415p:plain

m-nakajima18.comのEnd Pointを選択します。

公開

m-nakajima18.comでアクセスしてみます。

f:id:mnakajima18:20121231173027p:plain

先ほどのS3で自動発行されたアドレスと同じ画面が表示されました。
ルートドメインでの公開成功です!

注意点

この過程で何度か手戻りがあったので注意点を記載しておきます。

  • ドメイン形式でないバケット名はRoute53のAlias Targetに表示されない

バケット名が「rootdomain-test」「s3test-mnakajima18」「www.rootdomain-test」はプロパティで「Static Website Hosting」の設定まではできますが、Route53のAlias Targetには表示されませんでした。
.comとか.co.jpなどトップレベルドメインがないと利用できないようですね。

f:id:mnakajima18:20121231173054p:plain

  • 該当ドメイン名と同じバケット名でないとAlias TargetのS3 Website End Pointに表示されない

バケット名が「mnakajima18.com」はRoute53の「m-nakajima18.com」のホストゾーンのAlias Targetには表示されませんでした。
Route53で「mnakajima18.com」のホストゾーンを作成して試したところ、表示されたのでドメイン名とバケット名は同じでないといけないようです。

f:id:mnakajima18:20121231173054p:plain

まとめ

実際悩んでいたS3のWebサイトのバケット名はドメイン名ではないので、作成し直してコンテンツの移行とかしないとなんだなーと。
実行まではめんどくさいかも。。。

参考記事

http://aws.typepad.com/aws_japan/2012/12/root-domain-website-hosting-for-amazon-s3.html