好きなドメイン名でS3のオブジェクトにアクセスさせる
S3で静的なWebホストが出来ることは周知の事実ですが、そのURLが
xxxxxx.s3-website-ap-northeast-1.amazonaws.com
といった形で、S3にホストしていることがユーザーさんにもわかってしまっていました。
S3を使っているのがわからないようにしたい!という場合には、WebサーバーのbackendでS3からファイルを適宜ダウンロード・アップロードするなどの対応が必要でした。
そこで、2012年12月に発表されたS3ルートドメイン機能を使えば、S3にホストしていることがわからないようにすることができます!
早速試してみました。
今回はxxxxx.infoサイトをS3ルートドメインとして使用します。
まずは、S3で二つのバケットを作ります。
- xxxxx.info
- www.xxxxx.info
作成後、これらの二つのバケットのアクセスを全員アクセス許可に設定します。
xxxxx.infoのバケット側の設定で、www.xxxxx.infoにリダイレクトする設定を入れます。
www.xxxxx.infoのバケット側でStatic Web Hostingの設定で、Indexドキュメントを指定します。
次にRoute 53で以下のようにxxxxx.infoとwww.xxxxx.infoの二つのレコードを作成します。
そして、www.xxxxx.info側はCNAMEでxxxxx.infoを指定、
xxxxx.info側はAレコードのエイリアスでS3のxxxxx.infoのバケット(=Static Web Host)を指定します。
これで準備完了です。
http://www.xxxxx.infoへアクセスすると、www.xxxxx.infoバケットにあるindex.htmlが表示されます。
設定イメージとしては以下のような感じですかね。
ご参考
http://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html