まぽろぐ

まぽらんのブログ、略してまぽろぐです!ひとりごとを中心に、クリックゲーレビューやネトゲ、サーバー関係等の内容を書いていきます。たまにまじめな記事も書いたりするかもしれません。

同一ドメインでさくらのレン鯖と自宅鯖とGoogleAppsを混在させる方法

      2015/02/08

自分ぐらい迷走するとこういうタイトルのようなことをしないといけない状況に追い込まれます。

要するにどういうことかということも書きつつ方法をご紹介していきたいと思います。

 

 

何がしたいのか

いちおうドメインはお名前.comで取っています、今回はどこでもいいです(さくらのドメインに移管はしません)。
まずさくらのレンタルサーバーですが、コチラはメインホスト(例えばhoge.com)でWebサーバーを公開したいとします。
ところで自宅サーバーでは負荷がかかる処理や、自宅鯖でしか出来ない処理をしているとします。例えば録画したアニメを見たりとかですね。コチラはサブドメイン(例えばjitaku.hoge.com)を使うとします。
はたまたGoogleAppsではドメインのメールを管理したいとします。

 

さてコレを実現するにはどうしたものか・・・と考えると色々問題点が

  • さくらのレンサバは静的IPではない(まず変わることはないと思うが)
  • 自宅サーバーは静的IPではない(ルーター再起動しなければ変わらないけど)
  • お名前.comのDDNSはWindowsのみの専用アプリじゃないと通知できない(っぽい)

サーバーが全部静的IPならいいんですがそう都合よくないので今回はこの条件下でも上記の内容が実現できるよう設定していきたいと思います。

 

 

全体の仕組み

nagare

今回は上のような流れを作ります。あくまで例の前提としてhoge.comを設定するさくらのレンタルサーバーはIPアドレスが(少なくとも現在は)111.111.111.111で、自宅サーバーはjitaku.hoge.comを使いこちらは(少なくとも現在は)222.222.222.222というIPアドレスであるとしています。もちろん静的ではないのでいつかは変わります。

DDNSを実現するために無料のMyDNS.JPを使います。

ムームードメイン時代は自分も愛用していました。お名前に移ってからはご無沙汰でしたがまたお世話になります。

 

MyDNSは1つのIDで1つのIPしか設定できません。なので複数のサブドメインをいろんなIPに振りたいときは子IDを使います。子IDは親IDで設定しているドメインのサブドメインを子IDのIPに振り分けることが出来ます。そのため今回は親IDにメインホスト(メインドメイン)を、子IDにサブドメイン(*.hoge.com)を振り分けました。
子IDをjitaku.hoge.comではなく*.hoge.comにしたのは列挙が面倒だったからです。別に使いたいサブドメインを1個ずつ追加しても構いません。

 

IPアドレスの通知方法ですが、自宅サーバーはWindowsを使っているのでDiCEで通知を行います。
MyDNSでは「http://www.mydns.jp/login.html」に登録したIDでログイン(基本認証)することでそのログインに成功したクライアントのIPを登録してくれるという機能があります。さくらのレンタルサーバーではcronでwgetすることで定期的にこのIP通知を行います。自宅サーバーがLinuxの場合はさくらのレンタルサーバーと同じ方法で通知することも出来ます。

 

GoogleAppsはただ単にレコードを登録するだけです。この記事に書く意味があったのかココらへんで気づきました。

ということで実際にやっていきたいと思います。

 

 

ネームサーバーの変更

お名前.comにてネームサーバーをMyDNSのものに移譲します。

dns1

お名前.comでいじるのはこれだけです。

 

 

MyDNSで設定

MyDNSでは登録時に子IDを1つ作成しておきます。後からでも追加できますので詳しくはMyDNSのサイトでチェックしてみてください。

以下のようにレコードを設定しました。

dns2

これでMyDNSの設定は終わりです。これでドメインごとの割り振りルールが設定出来ました。あとは割り振る先がどのIPアドレスなのかを定期的に通知してあげるだけです。

 

 

さくらのレンタルサーバーでの設定

まずはさくらのレンタルサーバーに「hoge.com」でアクセスされた時それが自分のサイトであることを登録しないといけません。

dns4

ドメインの追加で「hoge.com」を追加します(上の欄の方です)。DNSを設定するよう書いていますが今回はMyDNSで管理しているので関係ありません。

 

ポチポチして進んだ後の詳細設定で以下のように入力します。

dns5

  1. 設定をお選び下さい
    wwwを付与せず~にチェックを入れる。一番上に入れてもそもそもの話wwwのようなサブドメインはサクラのレンサバに飛んでこないので関係ない。
  2. マルチドメインの対象のフォルダをご指定下さい
    hoge.comで表示するhtml等があるフォルダを指定
  3. メール利用をお選び下さい
    この設定ではチェックを入れられません
  4. 共有SSLの利用を選んで下さい
    使いたい場合はどうぞ
  5. SPFレコードの利用を選んで下さい
    DNSはMyDNSの管理下にあるので入れても意味は無い
  6. IPv6アドレスの利用を選んで下さい
    使いたい場合は入れても構わないが以下で紹介するIP通知の方法ではIPv6アドレスは更新できないのでなんか考える必要あり。サーバー情報に書いてあるアドレスをMyDNSに打ち込んであげれば一応使える(IPが変わらない限り)。

 

次にSSHでログインしてcronで実行する用のシェルスクリプトを作成します。

これでシェルスクリプトを実行し200 OKが帰ってきていればまず大丈夫でしょう。一応MyDNSのログページを確認してIPが更新されている旨のログが出ていることを確認しておくといいです。

あとはこれをcronで定期的に実行すればいいです。

dns3

これで設定すれば先ほどのコマンドを30分毎にやってくれます、つまりは30分毎にIPアドレスを通知してくれます(変わってなくても)。あまり頻度を高くするとさくらの管理者の方に怒られると思うので控えましょう。どうせ数ヶ月に1回ぐらいしか変わらない(と思う)ので30分ぐらいの我慢はいいんじゃないですかね。

 

 

WindowsのDiCEの設定

DiCEの設定なんてググれば腐るほど出てくるので書きません。自宅サーバーはサブドメイン全部を使用するのでホストに「*」を入れ、IDは子IDを指定することを間違えなければ特に問題はありません。

 

 

最後に

同じ悩みの人がいるのかと思えばググっても全然見つからなかったのでまだ見ぬ同じ悩みを持つ方のために記事を書いてみました。さくらのレンサバはSSHが使えていいですねぇ。シェルも変えられますし、Vim入れたりとか出来て本当にVPSとあんま変わらない気がしますよ。ロリポはあれはあれで色々使えていいんですがやっぱさくらかなぁ・・・

さくらってワードを混ぜて調べるとサクラエディタの話が結構出てくるんだなぁ・・・

 - サーバー

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です