Webサービスの開発に永く携わっていると、転送するだけのドメイン持つケース、よくありますよね。
転送するだけにもかかわらず、レンタルサーバーを借りるのももったいないので、AWSに移行してみましょう。
Webサーバーだけの移行であれば話はとても簡単です。
前提条件
レンタルサーバー上で
- DNSサーバー(ドメイン管理はムームードメインやお名前.comなどのケース)
- Webサーバー
- DBサーバー
が動いている(メールサーバーがない、やった!)
Webサーバーでは .htaccess で以下が指定されている
Redirect permanent / http://new.example.com/
この場合、
http://old.example.com/sitemap.xml → http://new.example.com/sitemap.xml
にリダイレクトされています。
AWSに移行する手順
S3でバケットを作成する
S3でバケットを作る際の注意点としては、バケット名をドメインと合わせることです。
たとえば
http://example.com/
http://www.example.com/
の両方をリダイレクトしたいのであれば、両方のバケットを作成します。
http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html#root-domain-walkthrough-create-buckets
S3のバケットにリダイレクト設定を行う
リダイレクトしたらすべてトップのURLに飛ばすとかではなくパラメータをそのままにリダイレクトする場合は以下のように設定します。
- 対象となる[Properties] を選択します。
- [Static website hosting] を選択します。
- [Redirect requests] を選択します。[Target bucket or domain] ボックスに、移行先のドメイン、[Protorol]にhttpsかhttpを入力します。
この段階でリダイレクトの確認が行なえます。
http://www.example.com.s3-website-us-east-1.amazonaws.com
みたいなエンドポイントにアクセスしてリダイレクトされているか確認をしてみましょう。
単純に転送用のドメインとしてバケットを用意する場合、index.htmlを配置するとかは不要です。
http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html#root-domain-walkthrough-configure-redirect
Route53の設定を行う
Route53ではCNAMEではなく
[A – IPv4 address] を選択し、エイリアスに[Yes] を選ぶことで簡単にS3のエイリアスを選択することができます。
http://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/resource-record-sets-values-alias.html#rrsets-values-alias-alias-target
DNSサーバーの切替
ムームードメインやお名前.comに登録してあるDNSサーバーを変更します。
Route53の場合は
http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html#root-domain-walkthrough-update-ns-record
にあるようなNSを控えておきます。
ムームードメインの場合の設定方法は
http://blog.serverworks.co.jp/tech/2013/03/08/route53_basic/
http://qiita.com/itayan/items/fa95cf048933312a2838
がわかりやすいです。
S3には実質ファイルを置かないで管理できるので楽ですね。(Route53だけでリダイレクトできる方法とかもあるのかな・・・。もうそれリダイレクトじゃなくなっちゃうけど・・・)
参考
http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html