Update 2014-08-05
: DockerのHTTP Routing - Part8: xip.io と Nginx と confd 0.6 で動的リバースプロキシUpdate 2014-08-06
: DockerのHTTP Routing - Part9: xip.io と OpenResty で動的リバースプロキシUpdate 2014-08-07
: DockerのHTTP Routing - Part10: xip.io と Hipache で動的リバースプロキシ
DockerでPaaSを構築する場合、課題となるのはDockerのネットワーク周りです。
Dockerコンテナはephemeralなので、Dockerホストの外部からアクセスするときのルーティングの仕組みが必要になります。Herokuの場合HTTP Routingがあります。
オープンソースでDynamic HTTP Routing
を実現するために、RedisをバックエンドにしているHipacheを使うと良さそうです。DokkuやtsuruでもHipachでHTTP Routing
を実現しています。
Build your own platform as a service with Dockerを読んでいると、ワイルドカードDNSの名前解決にNamecheapを使っています。
Namecheapを契約する
Namecheapでドメインを購入します。
パラオの.pwドメインが$3.88/yearでセール中だったので購入しました。
us居住だと.usドメインが$0.98/yearで購入できます。
適当なドメインを購入後に設定をします。
My Account > Manage Domains > 購入したドメイン > Modify Domain > All Host Records |
ここでtsuruをインストールしたホストのIPアドレスと、URLリダイレクトの確認用の設定をします。
HOST NAME | IP ADDRESS/URL | RECORD TYPE | MX PREF | TTL |
---|---|---|---|---|
@ | {tsusuのホストIPアドレス} | A (Address) | n/a | 60 |
www | {リダイレクト先のURL} | URL Redirect (301) | n/a | 60 |
* | {tsusuのホストIPアドレス} | A (Address) | n/a | 60 |
HipacheとVulcand
tsuruの場合、HTTP Routing
はRedisをバックエンドに持つHipacheを使っています。
リバースプロキシの仕組みはまだよくわかっていないのですが、HAProxy+Serfよりも良さそうな気がします。
ワイルドカードでDNSの名前解決ができれば、Hipachaがリバースプロキシとして機能するので、tsuruで作成したアプリへ動的にルーティングしてくれます。ルーティングの情報はRedisに保存されているので、redis-cli
で確認することができます。
Etcdをバックエンドに持つVulcandというのもあり、RedisもEtcdも好きなので、こちらもあとで使ってみようと思います。
まとめ
.pwドメインは、お名前.comで購入すると680円でした。
NamecheapではPositiveSSL Wildcardも$94/yrで購入できます。