いくつものJava

「わかりやすいJava・わかりやすいJavaEE」シリーズの中に書いていないこと

Webアプリケーションを公開する方法

Webアプリケーションを公開する方法

 最近、2人の方から同じような質問がありました。ウェブアプリケーションやウェブサービスを公開するには、サーバーが必要ですがどうしたらよいか、というものです。もちろん会社ではなく個人でやりたいという質問です。

筆者の経験

 現在、筆者は、仕事用に3台、プライベート用に2台のサーバーを運用しています。仕事用の1台はサポートウェブのためのレンタルサーバー、もう一台は自分で開発したeラーニングシステムを運用する教育用サーバー、3番目は講義や出版社とのやり取りに利用する多目的サーバーです。


 また、これらとは別に、自宅にはXenサーバを立てて、その中に2台の仮想サーバーを動かしています。その1台は家中のパソコンを自動バックアップするためのMSホームサーバー、もう一台は実験用のWindows2008サーバーです。
 また、2003年から2007年にかけて、ASPとして公開するeラーニングサーバーを自宅に置いていたこともあります。全国の研究者向けに教育システムのデモとして公開していました。これだけがLinuxで、後はすべてWindowsサーバーです。

アプリケーションサーバーはどうしたら

 ASPの経験から、自宅サーバーでサービスを公開するのが大変な負担になることがわかりました。OSとネットワークに関する知識が必要なのはもちろんですが、それ以外に次のような点が、特に大変なところでした。


①セキュリティ対策
②停電・雷対策
③常時の監視(気配り、目配り)
④定期的なバックアップとメンテナンス
⑤緊急の事故対応


 これに懲りたので、今は、サポートウェブにはレンタルサーバーを使っています。少なくともハードの故障を心配しなくてもよく、データが消えてしまう心配もありません。運用がかなりラクになるので、ウェブサーバーであればレンタルが一番です。


 ただ、Glassfishのようなアプリケーションサーバーをレンタルで運用すると、相応に費用がかかります。いわゆる「レンタルサーバー」はウェブサーバーなので、Javaのアプリケーションを動かすことはできません。
 IAASとかPAASというタイプのクラウドサーバーが必要です。
 詳しくは、下記のURLからいろいろ調べてみてください。


クラウドサーバーサービス(IaaS)比較まとめ】
http://matome.naver.jp/odai/2141128309524837601

自宅サーバーへ回帰する

 デモシステムの「雑貨屋さん.com」は、研究室に置いてある多目的サーバーで公開しています。研究室といっても、用途から学内回線は使えないので別にNTTのフレッツ光を引いています(プロバイダはOCN)。サーバーは、Windows2008です。


 実は、最近また、自宅サーバーを見直しつつあります。以前と違って、運用がかなりラクにできるようになったからです。特にChromeブラウザから利用できる Chrome Desktopというアプリは、ウェブを通じて遠隔のサーバーを操作でき、監視やメンテナンスが格段にラクになりました。


 また、Windowsサーバーが成熟してきて、Linuxにこだわる理由もなくなりました。Linuxは無償ですが、管理・運用にかかるコストはWindowsの比ではありません。仕事でならともかく、個人で簡単に済ますならWindowsがよいと思います。有償品にはそれなりの利点があるということですね。
 だた、Xenサーバーを使うと1つのマシンでWindowsサーバーとLinuxサーバーを複数立てられるので、どちらかに限る必要もありません。Core i7のCPUと16GBのメモリ、2TBのディスクを積むPCは7~8万円程度で作れます。これだと3台くらいの仮想サーバーを運用できると思います。


 それで、今、WEBS(個人事業主としての屋号)で運用する新しいサーバーを構築する計画で作業を進めています。JavaEEのウェブアプリをいろいろ動かして、サポートウェブを充実させる計画です。

自宅サーバーの立て方

 この手の解説は、ネット上にいくつもあることは承知しているので、ここでは、筆者の経験から要点をお話しましょう。


【手順】
ドメイン
 サーバーを公開するには、www.domain.jpのような名前が必要です。このうち、wwwの部分がコンピュータの名前で、domain.jpの部分をドメイン名といいます。ドメイン名は同じものが2つあるといけないので、レジストラからレンタルします。


日本のレジストラ一覧
http://home.interlink.or.jp/~t-ikeda/nihonregistrar.htm


 ドメイン名をレンタルすると、使用するDNSサーバー(次項)をレジストラが提供してくれます。


②ダイナミックDNS
 インターネットでは、ドメイン名によって自分のサーバーがアクセスされますが、実際には、ドメイン名をIPアドレスに変換して、そのIPアドレスによりサーバーを特定する作業が行われます。この変換サービスをやってくれるのがDNSサーバーで、ブラウザはDNSサーバーを通じて、アクセスしたいサーバーのIPアドレスを取得しています。


 ただ、自宅サーバーでは、IPアドレスが時々変わります。それはプロバイダの事情によるのですが、変更に合わせてDNSサーバー上のIPアドレスも書き換える必要があります。しかし、レジストラDNSサーバーはこれをやってくれません。そこで、書き換えをてくれる別のDNSサーバーが必要です。これがダイナミックDNSサービスです。


 ダイナミックDNSサービスを提供するところは、いくつもあります。筆者は長年に渡ってDDO.JP(無償、有償あり)を使っていますが、最近ではプロバイダが無償(ぷらら など)あるいは廉価(Biglobeなど)で提供するケースもあります。


 ただし、無償の場合は、自分が取得したドメイン名は使えず、提供先のドメイン名に、サーバー名だけを変えたものになります。ちょっと残念。筆者が利用しているのはDDO.jpの有償版で年額6000円です。ちょっと高いです。


DDO.jpのように、ダイナミックDNSだけを提供するサービスでは、利用するために通信ソフトが必要です。それは、IPアドレスが変更されたタイミングで、ダイナミックDNSサーバーにそれを通知するソフトです。筆者は長らくDiceというソフトを使っています。無償ですし、枯れているので不具合は全くありません。使い方も簡単です。


DICE
http://www.hi-ho.ne.jp/yoshihiro_e/dice/

まとめ

 以上が自宅サーバーを公開するのに必要な作業です。
 個々の詳しい内容は解説しません。自分でサーバーを運用するのですから、上の情報から自分で知識を集めてください。安心してください、それほど難しいことではありませんよ。