delegate9.org にお引っ越し

サーバ用の仮想マシンの準備もできたので、さっそくdelegate.orgをこちらへ引っ越そうとしたのですが、いくつかの困難(^ー^;に遭遇しました。

まず、delegate.orgのネームサーバををお任せしているN. Sol. でDNSサーバの設定を変えようと思ったのですが、自分のアカウントからそれが見えない。そんな… ドメイン更新・料金請求のページにはちゃんとあるのに。メールではあれほど熱心にSPAMは送ってくるのに…

なにせ N. Sol. とは20年来のお付き合いです。1998年に初めてドメインを取った時、印刷されたドメイン名交付書みたいのが届いた時にはすごくうれしかったのを覚えています。多分あの頃ドメイン名は、今より一桁くらい高価だったようにも思いますから、とても有難いものでした。

Whoisにはこうあります。

Domain Name: DELEGATE.ORG
Registry Server: whois.networksolutions.com
Creation Date: 1998-07-07T04:00:00Z
Registrar: Network Solutions, LLC
Registrar IANA ID: 2

なんってたって「IANA ID: 2」ですから、ついリスペクトしちゃいますね。個人的思い入れもありました。

まあその後身売りしたり、競合他社に押されまくったんでしょうけど、時代に取り残され遅れ、今のサービスレベルや管理サイトの出来は惨憺たるものです。

問合せフォームやメールで連絡しても、機械応答だけ、なしのつぶてです。以前からそうでしたが、今回は待ってられません。腹がたったのでボロクソ書いたページを作って、そのURLを送りつけてやりました(笑)。バイバイ Network Solutions.

delegate.org ドメインのコントロールはいずれ取り返すとして、せっかく建てた Azure 新サーバへの引っ越しは急ぎたい。でないと、Azure から無駄な出費がドクドク流れ出てしまう。

というわけで、delegate9.org というドメインを作って移行することにしました。ぺけぺけ9というのは、トンプソンの plan 9 とか 巨人の v9 とかを想起させるので、良いイメージです。AISTで開発されたDeleGateも ver.9 が最後となりました。動態保存が主目的のサイトにふさわしい。

それで早速 xsonamae.コムで delegate9.org をゲット。登録作業から支払いまで2分程度で完了です。この支払い¥1,496 が、我が社の法人口座からの初めての送金となりました。

それで、アドレスを登録してDNSが開通するのを待っていたのですが、何分、何十分待ってもホスト名が解決できない。xsonamae はドメインを登録すると速攻でアドレスを自社の宣伝ページに向けますし、どうやらそのTTLがかなり長いらしい。キャッシュされてしばらく消えないわけで、それを「数時間かかることもあります」とかうそぶいている。誰のせいだっちゅううの。

最初、URLリダイレクションとして登録してしまったのもまずかったかも知れません。またあとで考えると、こっちの手元のルータかMacのリゾルバのキャッシュのせいかも知れません。結局実際、貫通するまで数時間かかりました。

一方、Azure上の仮想マシンからはサクッと正しいアドレスが引けるようになっていたので、とりあえずそこにプロキシを立ててしのぎました。DeleGateをプロキシとして使ったのは数年ぶりです。

それで残る問題はDeleGateのHTTPサーバです。とりあえず普通に見れますが、HTMLの中にフルのURLで http://www.delegate.org/... などと書いてあるのがあるわけです。自分自身や検索エンジンから生成しているURLなどもそれです。

対処法は、HTTP応答メッセージの中に含まれるURL相当部分の .delegate.org を .delegate9.org に書き換えることです。それだけです。特に応答がHTTPヘッダとHTMLのタグだけあれば簡単な事です。そしてまさにこういう時の移行を簡単にできるのをDeleGateのウリにしてたはずなのですが、やり方を忘れてしまいました。

それで、自分で書いたマニュアルを読んだり、記憶を辿ったりしながら、設定ファイルに数行加えて、なんとかそれらしく動くようになりました。まだ不完全ですが… ユーザとして欲しいのは「ドメインを引っ越した時にはこう設定をすれば良い」というそのものズバリのドキュメントなのでした。

たぶん、リバースプロキシとして一段かませれば一行書くだけで簡単なのですが、無駄に負荷をかけたくないので、オリジンHTTPサーバとして動かしたく、そういう場合には若干面倒なようです。

ドメイン名も変えたし、旧サーバからHTTPを全部リダイレクトするのが簡単なのですが、ちょっと危険なので、とりあえずリンクを貼るだけにしました。まあ、そうすると早速おいでになるのがロボットさんなわけですが… てか、誰にも存在を教えなくても、マシンをネットに繋いだらすぐにやって来ますしね。http://IPアドレス/ で来たりさえする…

素性の知れたロボット以外は「私はロボットではありません」的な工夫で門前払いするのが良いと思うのですが、それをアプリケーションレベルでやると、それ自体が結構重くなってしまいます。Azureのネットワークインタフェースでそういうことをやってくれると良いのですが。あれ?なんかそういう賢いリソースもあったような。お金取られるでしょうけど。

2020-0430 sato@izmoh


安値Azure一への挑戦

現行 delegate.org で現在使っているサーバのクラウド仮想マシンはパワーが有り余っていることがわかっていますので、経費節減のためダウングレードすることにしました。

昨日はまず、常識的な線としてRAM 1GBのものを作って実験しました。昨今の普通のパソコンでも8GBは積んでますから、かなり小さく感じますが、手元の仮想マシンでの利用経験から、1GBあればDeleGateサーバ用途のUbuntuが問題なく動くことはわかっていました。

実際、この仮想マシンにDeleGateサーバをインストールして負荷テストを行ったところ、さっくさくで問題ありませんでした。コンパイルも早くて快適なので、開発環境としても使えそうです。

この仮想マシン(B1s)の費用は約¥1,200/月で、Azureが提供している安マシンの下から2番目、現行の仮想マシン(A1、1.75GB RAM、約¥4100/月)の 1/3 以下になると見積もられます。約3,000円/月の節約。

さてそれでは、Azureで最も安い仮想マシン(B1ls)ではどうだろうということで、興味津々試してみました。これは 0.5GB RAMで、約¥600/月、という代物です↓

Azure仮想マシンお値段表

今どきのAzureでは管理コンソールからサクッとCPUサイズを変更できるので、昨日インストールした仮想マシンでやってみました。作業的には、上のようなお値段表の中から仮想マシンを選んでクリックするだけ。ただし待つこと数分…

結論としては「これは使い物にならない」でした。まずUbuntuのブート時の負荷にすら絶えず平均負荷が10以上の状態が数分間続き、その間ユーザのコマンドもまともに受け付けません。そしてDeleGateですが、www.delegate.org のフロントページを表示するのに数秒かかったり、途中でお休みしたりする有り様です。そんな時、ロードアベレージは5以上に上がっています。

プロセスイメージが実メモリに入りきってないんじゃないかと思います。OS系のプロセスを削るとか工面すれば収まる可能性はありますが、面倒だしデフォから変えたくはないし、維持・保守の観点からも危険です。しかも、ランダムアクセスが実メモリに入りきらないと、やたらとディスクI/O(これが非常に単価が高い)が発生して、逆に総合的にはコスト増となる危険もあります。

この危険は、月600円の節約に全く見合いません。単なるTCP中継サーバとして使用することも検討していますが、それすらきついかも知れません。まあ、使うとしてもDNSサーバくらいです。固定IPアドレスが月600円で手にはいるという考え方はあるかとは思います。

それにしてもAzureは、しばらく見ないうちにかなり面白いことになっていました。いろいろ遊べるし、もちろん仕事に使えるし、費用的にも他社の安かろうレンタルサーバとコンペティティブなレベルです。そして、何しろ、提供している機能が圧倒的です。AWSとか、しょぼくて話にならない。まあ、決め打ちのお仕着せサーバであれば別なのですが。

従量課金は単価が少し高めだし、従量爆発の怖さはあります。ですが、これまで8年間使いましたが、多い月でも平均から30%増程度のものでした。なにより、作っては壊すが簡単で、使うとき以外は眠らせて置くなら料金が発生しない。開発などの仕事に使うのであれば、自動スリープ機能をつけて、使うときに起こせば良いですね。

大きな問題だと思っていた管理コンソールの使いにくさも、まあ今回の作業をしているうちに慣れて贔屓目になってしまいましたが、かなり改善され、我慢できる程度になりました。

ですが、もっと超シンプル・バカチョン・軽量インタフェースを別途に提供すれば、一般ユーザも増えるんじゃないかなーとは思います(ただ、MSはまともな日本語感を持った人材を確保する必要がある)。いや、現状でも一般ユーザは多いのかも知れません。まあ、そういうケチなユーザが増えてもMS的にはうれしく無いかもですけど(笑)

2020-0430 sato@izumoh