いっそレジストラ

社長:さっきそば屋で飲みながら思ったんですが、いっそドメイン名のレジストラになれないかなって。

基盤:まあNSOとかXSOがやってる程度のことは技術的にはすごく難しいことでは無いですね。うちならもっと使いやすいUIが作れる。

開発:自分ちでやればドメイン名取得手数料無料(笑)アマゾン Lightsail に誰でも簡単レジストラパックとか無いかな。

経理:会社設立の頃に愕然としたITS健保組合は加入条件社員20名以上とか言うのを思い出します。年会費とかそういう敷居が高いんじゃないでしょうか。

開発:えーと、レジストラになるための契約書ってこれですかね[PDF版]。さすがに、株式会社を作るより面倒な感じはします。

経理:… これ、厳しくないですか?

3.10    保険。「レジストラ」は、本契約の期間中に「レジストラ」のレジストラ事業から生じる賠償責任をカバーするため、保険金支払い限度額 50 万米ドル(US$500,000)以上の企業総合責任保険、または ICANN により指定されたこれに類する責任保険を維持するものとします。

開発:5,000万円の責任保険って、保険料いくらくらいですかね。個人の生命保険だって大したこと無いし。

社長:月1万円くらいなら検討の余地ありですが…

経理:もとは英語で General Liability Insurance (GLI)と言うようです。要は企業の損失をカバーする保険だと思いますが。このページによると、年10万円くらいで1億円賠償、ていう感じのように見えますが。

開発:チップインバーディ!イーブンに戻しました。

基盤:ICANNへの提出書類一式、みたいのは無いんですかね。

経理:このPDFが全てのようにも見えますが。ところで「コンプライアンスに関する証明書」ですが、署名者は「最高経営責任者、社長、最高執行責任者、最高財務責任者、またはこれらと同等の権利を有する役職」のいずれでしょうか?

社長:「社長」でいいんじゃないですかね。

開発:あ、ICANNに日本語のページがあるじゃないですか。

登録情報

ジェネリックトップレベルドメイン (「gTLD」) (http://www.icann.org/en/resources/registries/listing) の下にドメイン名の登録を希望する個人または法人は、ICANN 認定レジストラを利用して登録することができます。

社長:ICANN認定レジストラとは?

開発:その直後にこうあります。

ICANN認定レジストラについて

gTLD レジストリに直接アクセスし、gTLD の下でドメイン名登録サービスを提供しようとする主体は、ICANN から認定を受ける必要があります。認定を受けるには、認定の申請を行い、レジストラ業務を行う資格を得るために必要な技術、運営および財務条件をすべて満たさなくてはなりません。

基盤:うーん、だれでもレジストラパッケージとかGoにないかな?

開発:さらに続けてこうあります。

私達が実施すること

ICANN 組織は、レジストリオペレーター、レジストラ、レジストラントおよび一般向けに gTLD レジストリオペレーターと ICANN 認定レジストラおよび ICANN RAA に関する情報ならびに全般サポートを提供します。

gTLD レジストリオペレーターと ICANN 認定レジストラ、gTLD アカウントおよびサービスチームは、見込みレジストラ向けに、認定申請の準備と審査、レジストラ認定の維持およびレジストラの RAA 義務への準拠確認の支援も行います。

基盤:審査って何をされるんでしょうね?

開発:とりあえず ICANN にサインアップですかね。

社長:では会員登録っと・・・

社長:会員でログインしても、とくにサイトの景色は変わらないですね(笑)。なんか素人向けのサイト無いかな。

開発:「HOW TO BECOME A REGISTRAR」ってページが Verisign にありますね。ああ、まずは ICANN に申請しろと。

社長:この docx、かなり埋めがいがありますね。どっかに記入例とか無いかな 🙂

経理:申請料がいくらか書いてないですね。

基盤:日付が2010年の資料ですが、Application Fee US $2,500. とあります。

社長:うーむ… iMacよりは安いですが…

基盤:そういえばさっき着いた iMac、火を入れましょう。

開発:ワクワク。しかしこのホールバイホールの中に表示される広告うざいですねー。今更XSOの広告見せられても(笑)

経理:その広告料の一部は、社長の懐から流出してるんですよね。

社長:え?経費じゃないの?

— 2020-0626 SatoxITS

さらば Azure

社長:当然そういう流れになりますね。

基盤:今日からアマゾン祭り、仮想マシン大セールです。

経理:Azureの仮想マシンが月3,000円になって納得していたのですが、アマゾン Lightsailなら月500円でできるということでしょうか。

開発:プライム会員費と同等ですね。

経理:そういう表現をすると、イマイチお得感が薄れますが。

基盤:今のAzureの1台と同じ費用で6台並列イケます(笑)。今のところ気になるのは転送量2TBという制限だけですね。でも、転送量が必要なサーバがあれば、それだけちょっとクラスを上げればOK。

開発:サイズの大きなファイルはクラウドのドライブでっていう手もありますね。

社長:URLでアクセスできると良いのですが。

開発:GoogleDocsのファイルとかURLでアクセスできますから、できるんじゃないですかね?

基盤:ディスクが40GBというのは、アクティブなデータの量としては十分ですが、ログとかアーカイブ用には不足です。ですがこれもクラウドのドライブをマウントするという手が考えられます。ちょっと気になるのはFUSEとかが異常に遅いこと。これは例えば隣のWindowsサーバ仮想マシンでマウントしたのをSMBとかNFSでLinux仮想マシンから見るみたいので改善できるかも知れません。

基盤:それはそうと、iMac 開封しませんか?

開発:世の中に台形のダンボール箱があるということを始めて認識しました。あれが上海からやって来たとは。運ぶのも大変だったろうし、無意味に破損の危険性を増してますよね。受取人の笑いを取れるのと釣り合わないでしょう。何考えてんだApple。

経理:もとは6/29着という話でしたが3日早まりました。定形外で予測が難しかったんでしょうかね。

社長:開けたいのは山々ですが、取り掛かるとしばらく仕事にならない危険性があります。その前に片付けて置いたほうが良い事。

経理:一日20円で済むはずのクラウドのサーバ代が、現状では100円。毎日80円が損なわれている事が気になります。

社長:ではまず引っ越ししましょうか?どのくらい時間が掛かりますかね?

基盤:そうですね。支配的なのは現行のサーバからファイルを転送する時間ですね。現行Azureの30GBのディスクはほぼフル。圧縮して10GBつまり10,000MB程度になるとします。転送が最悪1MB/秒とすると10,000秒、2〜3時間かかると思われます。これは以前の引っ越しでもそういう感じでした。その後は、設定と確認に1〜2時間、くらいでしょうか。

社長:じゃ、それ今日やっちゃいましょう。

基盤:ラジャー。

* * *

社長:で、どんな感じですか?

基盤:それが Azure アジアと AWS 東京の間は 10MB/s 以上出ますね。なので転送は想定していた10分の1で終わりそうです。サーバのデータは展開した状態で20GB、100万ファイルというところですが、df で増加分を見ていると、15MB/s、1000ファイル/秒で受け取っています。

開発:それだと、受け取った側でファイルを展開したり書き込みするところが律速段階になっているかも知れませんね。

基盤:それはそうと、sudoers の追加のし方を全く忘れてまして。というか、私が覚えた頃とは違うのかも知れません。何にしても、sudo しなければならないのはファイルのモードとオーナを変える時だけなんですが。あ、ファイル容量的には転送完了しましたね。あとはアクセスカウンターのファイルが半分くらいあったりして。これ、作りが間違ってますよね(笑)

社長:作り変えようと思っていたんですが、ちょうどその後この仕事から離れてしまったんです。まあ、こういう転送とかバックアップの時には害ではあります。

基盤:このライトセールお仕着せの構成サーバ、Bitnami WordPressパックので Ubuntu 16.04 なんですが。Linuxカーネル的には4.4ですが。

開発:まあうちは基本カーネルの機能、しかもありふれた機能しか使わないから構わないんじゃないですかね。

基盤:昨日、OSのみの Ubuntu 18.04も試したんですが、ハード構成は同じはずなのに妙に遅かったんで。いずれ、ちゃんと性能評価はしないといけないです。

開発:ひょっとして、バーゲンセールなんで当たり外れがあるとか?

基盤:あ、ニュースのメッセージIDのリンクを受け取りはじめましたよ。これも大量にあるんですよね。終わった。転送ファイル数80万、所要時間40分でした。du 的には18.5GB。

開発:それでは DeleGate の etc に行って sh httpd。あ、80をbindできないと。subin/dgbind のオーナとモードを変えて再トライ。あれ?

基盤:apache が使ってるからじゃないですか。

開発:あそうか、ではとりえず apache2 には死んでもらおう。kill !。再び sh httpd … おお、立ち上がった。telnet localhost 80 … 反応よし。うちのブラウザから繋いで見る。

基盤:繋がりました。このページ見たの、久しぶりです。

開発:贔屓目じゃなく、XSOのWordPressへのリバースHTTPSプロキシの反応が速いですね。これつまり、XSOの近くにアマゾンが居るのかな?XSOはAWSで出来てるとか。

基盤:まず AWS から its-more.jp に ping。

AWS$ ping its-more.jp
PING its-more.jp (163.44.xxx.xx) 56(84) bytes of data.
64 bytes from XSO (163.44.xxx.xx): icmp_seq=1 ttl=41 time=3.01 ms
64 bytes from XSO (163.44.xxx.xx): icmp_seq=2 ttl=41 time=2.96 ms
64 bytes from XSO (163.44.xxx.xx): icmp_seq=3 ttl=41 time=3.04 ms

開発:3ms。ほぼ最速ですね。

基盤:次に Azure から同上。

Azure$ ping its-more.jp
PING its-more.jp (163.44.xxx.xx) 56(84) bytes of data.
64 bytes from XSO (163.44.xxx.xx): icmp_seq=1 ttl=49 time=51.0 ms
64 bytes from XSO (163.44.xxx.xx): icmp_seq=2 ttl=49 time=51.0 ms
64 bytes from XSO (163.44.xxx.xx): icmp_seq=3 ttl=49 time=51.2 ms

開発:50ms 😉 それでリバースプロキシがあんなに遅かったのか・・・

基盤:sudo apt install traceroute。traceroute its-more.jp 。。。

開発:うーん、AWSのほうも18ホップしててこれですか。

基盤:Azure では通らないですね。セキュリティゾーンとかの設定が必要なのかも。

開発:まあいずれ死ぬほど暇な時があったら試しましょう。

基盤:それではさっそく、DNSサーバに登録しましょう。

開発:とりあえず XSO の DNSサーバにある delegate9.org からですかね。

基盤:IPアドレスはどうしましょう?

開発:まあなんでも良いのですが。いくつかとってみて良さげな番号を選びますか。

基盤:そういえば固定IPアドレス5つまで無料、の件ですが、1台に5つ無料という意味ではなくて、まあそりゃそうでしょうね、1アカウント5つまで無料という事のようです。逆に1台に複数割り当てられるのか不明。

社長:うーん、8年前にクラウドに移行する時には当然EC2を考えたのですが、Azureのほうがバカチョンで良かったからAzureにしちゃったんですよね。あの時EC2にしていれば私の老後の蓄えも…

開発:まあでも現状のEC2を見てもAzureより劇的に安いというわけでも無いですから、やはりこの Lightsail がとんでもないってことじゃないですかね。

基盤:それでは XSO のDNSサーバのAレコードをこっちに向けます。なんでこうかったるいんでしょうね。ぷちぷち。コピペという技術がなかった時代に出来たUIなんでしょうかね?どうしても人間の手を煩わせないと気がすまない的な奴。ぷちぷち。ひー、入れ終わりました。GO!

開発:さて、どのくらいで開通しますかね。

基盤:例によって繰り返し dig するスクリプトを動かしてと。あ、いちおう dig @01.xsodnsv.jp delegate9.org。はい、正しく登録されております。

社長:基本的にはこれで終了ですね。所要2時間でした。

基盤:あれ?もうほとんど浸透してるようです。数分でした。

開発:おお、HTTPSリバースプロキシもさっくさくです。

基盤:次はNSごと。その次はレジストラ移動ですね。すっきり爽やか。

社長:飲みに行きましょう。

* * *

Amazon Lightsail 最高!

基盤:さてAWS EC2の仮想マシンですが、これまで作った t2.micro (x86_64) Ubuntu 18.04 は $0.28/day、a1.medium(ARM 64bits)Ubuntu 20.04は $0.77/day ということになりました。

開発:我社として早急に必要でかつ長期的に運用したいのはDNSサーバ+最小限Webサーバですね。そのために $0.77/day は高すぎると思います。月500円で年6,000円、これが適当な線ではないでしょうか?

t2.micro はまずまずだが 8GB SSD は厳しい
a1.medium (ARM) は高い

Lightsail

基盤:それなんですが、AWS EC2 の価格はどうもよくわからないので、Amazon Lightsail というののお仕着せの格安マシンをやってみようと思います。これですと「月額おいくら」という選択が簡単で、価格体系が大変シンプル。まずは、$5でメモリ1GB、1CPU、40GB SSD、転送量2TBというのでやってみたいと思います。お仕着せなので、OSが何かわからないのですが…

基盤:あとこれはよくわからないのですが「静的IPアドレスは固定のパブリックIPアドレスであり、インスタンスにアタッチされている間は5つまで無料」と書いてあるのです。勘違いでないならこれも大変お得です。

基盤:それでサクッとできたインスタンスにログインしてみたら、 Ubuntu 16.04 でした。

aw1% uname -a
Linux ip-172-26-7-51 4.4.0-1102-aws #113-Ubuntu SMP Wed Jan 29 14:54:54 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

基盤:ディスクも37GB空いています。

基盤:そのくせ、make も cc もインストール済みなんです。CPUは2.4GHzなのではやや遅いですが、実用上問題ないと思います。

aw1% dmesg | grep CPU0
[ 0.240071] smpboot: CPU0: Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz (family: 0x6, model: 0x3f, stepping: 0x2)

基盤:ディスクへの5GBの読み書きに80秒、60MB/s 以上の転送速度で、まず問題ないと思います。

基盤:delegate9.9.13 のコンパイルもサクッと終わります。3GHz の x86 で 80秒くらいですから、妥当です。

real 1m46.784s
user 1m31.612s
sys 0m6.380s

基盤:HTTP のほうへ接続するこういう感じ。

基盤:それでDNSサーバをさせるのに53/UDPを通さないといけないわけですが… どうやらこのネットワークのファイアウォール設定でポチッと追加するだけで良いようです。

基盤:で、適当に hosts ファイルを作って DNS用にDeleGateを立ち上げる。

aw1% cat hosts
1.2.3.4 hello.world

aw1% delegated -P53 SERVER=dns …

基盤:そして検索!

MacMini% dig @54.238.125.26 hello.world
;; ANSWER SECTION:
hello.world. 21600 IN A 1.2.3.4

基盤:何というお手軽さ!

開発:管理がお手軽で、うちの使い方には全く十分な機能と性能、そしてお値打ち。うーん、これを今まで知らなかったとは。Amazon Lightsail って2016年にデビューしたらしいんですが。

社長:Amazon といえば EC2、でアタマが固着してましたね。でもこれも、良い勉強になったと思います。

— 2020-0626 SatoxITS