レンタルサーバーからAWSへの移行の話(Webサーバー編)

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