酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

空きドメインの有効利用? Amazon S3を使って、空きドメインからメインのドメインへリダイレクトさせる

昔サービスを思いつく度にドメインを取得していた時期があって、その殆どは放置されてしまって更新せずに権利を失っていったのですが、中でも捨てられないけれど使い道に困るドメインがいくつかあって、その代表格が僕のウェブサイトの名前の由来でもある「softbuild.jp」です。

今までは、下図のようにさくらVPS上にWordpressを立てて、会社用のテーマを使ったブログを運用していました。

f:id:ch3cooh393:20150121123500p:plain

技術的なネタであればはてなブログ、古くなった技術ネタなどはch3cooh.jpを更新するようにしていたので、特に書くことがなく検索避けもしていたので、代表的な検索サイトではインデックスもされていない過疎地でした。

登場人物を整理します。

  • ch3cooh.jp(メインドメインのサイト)
    • さくらVPS上のWordpressにて運用
  • softbuild.jp(空きドメイン)
    • ほぼ利用されていないマン

転機

ch3cooh.jpはTipsをまとめたサイトです。Tips1つにつき1投稿で、600を超える数の投稿がありました*1

まともにメンテナンスしていないさくらVPS上のWordpressでは、ある一定以上のリクエストが発生するとPHPの処理がさばききれなくなり、サイトが閲覧できない状態になってしまっていました。

HTTPデーモンを再起動してからしばらくするとどんどんレスポンスが低下していき、数日に1回は完全に死んでしまい、@Pandora_Ovis氏が「サイト見れなくなってますよ」と教えてくれる日々が続いていました。

英語を習い始めたのもあり、技術ネタを追いかけるのと両立することに疲れてしまい、ますますサーバーのメンテナンスが億劫になっていたのですが、「Windows Azure Websites」を使えば、数秒でWordpressを立ち上げることができるという話を聞きました。実際、数秒とはいきませんがぽちぽちウィザードを選択しているだけでWordpressの構築が完了しました。

f:id:ch3cooh393:20150121123634p:plain

以下のサイトは、Wordpressのサイト構築時に参考にしたエントリです。

Wordpressの構築からビルドの合間や昼休憩中などわずかな時間を使って、サイトデザインの修正やデータの移行等で2カ月くらいかけてリニューアルを完了させました。

softbuild.jpをch3cooh.jpにリダイレクトさせる

キャッシュ、CDNやAmazon S3を活用した成果も出ていて、Windows Azure Websitesで運用を始めてからというものCPUが100%を振り切ってサイトが見れなくなるようなトラブルがなくなりました。

メインのサイトであるch3cooh.jpをWindows Azure Websitesに移動したので、さくらVPSが不要になってきました。解約するにあたって問題になったのが、本題のsoftbuild.jpです。更新していないsoftbuild.jpを維持するよりかは、softbuild.jpにアクセスされたらch3cooh.jpにリダイレクトさせる方が楽だと考えました。

目標は、下図の通りにsoftbuild.jpにアクセスされるとch3cooh.jpへリダイレクトさせることです。

f:id:ch3cooh393:20150121123702p:plain

ただ、softbuild.jp用のサーバーが用意できないので、リダイレクトの定番である.htaccessによるリダイレクトは使えません。そこで思い出したのが、Amazon S3のリダイレクト機能です。

softbuild.jpは、Amazon S3上で運用させることにして、アクセスがあったらch3cooh.jpにリダイレクトさせるのが楽そうなのがわかりました。

f:id:ch3cooh393:20150121123731p:plain

softbuild.jp用のバケットを作成します。バケットにダミーのindex.htmlをアップロードしておきます。

f:id:ch3cooh393:20150121123755p:plain

Permissionsでindex.htmlにアクセス制限を解除します。誰でも(Everyone)該当のファイルを「Opne/Download」できるように設定します。

f:id:ch3cooh393:20150121123817p:plain

「Enable webiste hosting」を選択して、Index Documentに「index.html」、Error Documentに「index.html」を設定します。入力が終わったらSaveボタンを押しましょう。

指定のURLへリダイレクトされるようにindex.htmlのプロパティを変更します。index.htmlのプロパティからMetadataのKey/Valueを追加します。

f:id:ch3cooh393:20150121123843p:plain

さらに MetaDataを編集します。下図の通り、Keyには「Web Redirect Location」、Valueには「http://ch3cooh.jp」を指定して、Saveボタンをクリックします。

f:id:ch3cooh393:20150121123911p:plain

テスト的に「http://softbuild.jp.s3-website-ap-northeast-1.amazonaws.com/」にアクセスすると、正しく「http://ch3cooh.jp」へリダイレクトすることが確認できます。

あとは、DNSサーバーで softbuild.jp.s3-website-ap-northeast-1.amazonaws.comのエイリアスとしてsoftbuild.jpを指定することで作業は完了です。

Route 53でドメイン「softbuild.jp」の設定をおこなう

Route 53でドメイン「softbuild.jp」の振り先を設定します。Route 53でドメインを登録します。「Create Hosted Zone」ボタンをクリックして、右側のDomain Name欄に「softbuild.jp」を入力します。

f:id:ch3cooh393:20150121123946p:plain

次に「softbuild.jp」を選択して、「Go to Record Sets」ボタンをクリックします。

f:id:ch3cooh393:20150121124012p:plain

最初はNSしか登録されていないと思いますので、「Create Record Set」ボタンをクリックします。

f:id:ch3cooh393:20150121124057p:plain

ネイキッドドメインの「softbuild.jp」とwww付きの「www.softbuild.jp」のどちらにアクセスされてもよいように「www.softbuild.jp」の設定もおこないます。

f:id:ch3cooh393:20150121124108p:plain

以上でドメインの設定は完了です。

まとめ

今までAmazon S3を利用して空きドメインをどのようにしてメインのドメインへリダイレクトさせるのかを説明させて頂きました。簡単にまとめると下記の通りです。

  • Amazon S3のバケットを作成して、softbuild.jpの静的サイトとして利用する
  • index.htmlにアクセスされると、ch3cooh.jpにリダイレクトさせるように設定する

以上です。

*1:2015年現在、大半をはてなブログへ移行しているので200記事超しか残っていません。