ネームサーバ独立記念日

開発:さてさて、DNSサーバ用のVMはどうしますかね。

基盤:まず当社標準アマゾンセールは、月$5プランと思います。最安の$3.5プランは危険です。Azure での長期運用の経験では、ストレージ30GBはちょっときつかった。ですので20GBは不安。またAzureで0.5GBメモリのVMを試したことがありますが、Ubuntu18が重くてまともに動きませんでした。あれはAzureのUbuntuパックが無駄に重いためという可能性もありますが。いずれにしても、月$1.5のためにこのようなリスクを負うべきでないと思います。

開発:うーむこの価格表。いわゆる単体のスケールアップは、複数台でのスケールアウトに比べて割高という感じなんですね。

経理:月$40プランでは 2 CPU、8GBメモリ、160GB ストレージ、転送 5TBですが、同じ費用で$5プランを8つ作ると、合わせて 8 CPU、8GBメモリ、320GBストレージ、8TB転送、ということになるように読めます。

基盤:しかもその台数の固定IPアドレスをゲットというお得さ。やや不思議な価格体系かなと思いますが、まあ普通のユーザは複数のマシンを管理するのが面倒と思うかも知れません。

開発:同じゾーンにあるVM間だと通信速そうだから、NFSとかSMBでサーバ間のディスクを連結すればけっこういい感じに使えるかも知れませんね。遅くてもよければだぶついている各種のクラウドドライブをマウントするとか。アマゾンドライブが高速に使えるかなとか。

基盤:アマゾンセールでの既製インスタンスの選択肢は、Bitnami WordPress版か、OSのみUbuntu 18.04 LTS かと思います。

基盤:このWordPress版は Ubuntu 16.04 LTS です。Linuxカーネルは4.4。

基盤:一方、Ubuntu 18.04 LTS はLinuxカーネル 4.15。

基盤:ハードウェア的には全く同じものだと思いますし、実際いつもやっている DeleGate のビルドベンチマークでは全く同じ性能でした。ですが、不思議なのは、openssl rand による乱数生成の性能が4倍近く違う。18.04 のほうが遅いのです。ほぼCPU時間なので、要するに OpenSSLの版の違いということかなとは思います。

基盤:今回作成するサーバは基本、DNS専用サーバですので、いずれにしてもこれらは無視できるかなと思います。まあ、もし問題があればサクッと移転すれば良いことでもあります。

基盤:と、いうことで、先程作成した delegate.org 用のサーバの中身をごっそり18.04のほうへ転送することにします。とその前に、adduser して sudoer に追加… おっと、何か間違って書いてしまったらしく、sudo が出来なくなってしまいました (^-^; こいつは捨てて新しくつくりましょう。

基盤:せっかくなので、いくつか作って面白いIPアドレスのやつを選びます。

開発:おっと、アタマが 3. というのが取れました。これにしましょう。

基盤:では他のは削除。ぽち、ぽち、ぽちっと。

基盤:ああ、sudoer の先頭に、編集するなら visudo を使えとありますね。反省。sudo visudo… なんでデフォルトのエディタが vi じゃないんですかねムカつく。で、/etc/localtime を Asia/Tokyo にして。~/.ssh を作って delegate.org の鍵をコピペ。ssh delegate.org。準備できました。では、sshで tar cf したのを tar xfv。

開発:これ、どのくらい掛かりますかね。同じAWSの東京内だから速いかな。

基盤:速度測るの忘れましたね。これ終わったら測りましょう。あー、テスト用に作った1GBというファイルをコピーし始めた(笑)

開発:でも10秒かからなかったですかね。100MB/s 出てそう。

基盤:しかしこの、ブラウザを端末にしてSSHでログインって、めっちゃ便利ですね。EC2でもできるはずなんですが、何か準備が必要なのか、つながらなかった。

開発:というか、この端末エミュレータアプリだけ欲しいです。これだと、普段はターミナルとして使ってて、必要に応じて、エスケープシーケンスでマルチメディアの表示をブラウザにさせるとかできそうな。

基盤:終了しました。20GBの60万ファイルの転送を12分で終了。scp で測ると… ぴったり50MB/s ですね。リミッターかかってるのかな?

基盤:では dgbind を root のものにして chmod 6755。で sh httpd。そして telnet localhost 80。OKです。

開発:なんだかんだ、反射的に telnet しちゃうけど、普通に存在するのがうれしいですね。

基盤:で crontab -e。エディタはviと決まっております。 @reboot でサーバ起動スクリプト呼び出し。で、sudo reboot。

開発:どうもアマゾンはリブートが遅いですね。特に作ってから最初のリブート?定期的にはsyncしてないとか?

基盤:SSH端末の再接続がブラウザの Reload だってのが面白いですね。 あーでもログインユーザ名を代えられないのかなあ?これがお仕着せの悲しさというものか。Reload。あ、繋がりました。サーバ動作確認OK。

開発:移転作業に35分でした。

社長:ちょっと休憩しましょう。

* * *

基盤:いちおう apt update してみます。おー、249 packages can be upgraded。どうしますかね。セキュリティ関係多数。そういや、ログインした時にこういうの出てました。

256 packages can be updated.
152 updates are security updates.

開発:upgrade しときましょう。

基盤:なんか聞いてきました。

開発:よしなに。

基盤:しかし、こういうのってエスケープシーケンスで作ってるんでしょうね。なんというかいじらしいというか。

開発:昔の端末エミュレータにはテクトロモードといのがありました。

社長:今どきだとHTMLをエスケープシーケンスで表示できたりするんですかね。

基盤:なんか聞いてきました。・・・ なるほど、この辺がAWS用のローカライズなのかな。

社長:以前Azureでこういうのを upgradeしてしまって二度とつながらなくなったという悲劇をを経験したような。

開発:実運用し始めてからの upgrade はスナップショットを撮ってからということでしょね。

基盤:これはそのままにしといてくださいよと・・・

開発:すっかりさわやかになりました。

社長:ちょっと休憩しましょう。

* * *

基盤:まずXSOで its-more.com のネームサーバをアマゾンセールに向けます。えーと、ネームサーバー設定。この業界で「サーバー」ってのはいかがなものかと。その他のネームサーバーを使う…

開発:その前に一応、DNSサーバの設定を…

基盤:bind とかですか?

社長:とりあえず DeleGate で。

基盤:$DGROOT/etc/hosts … なんか10年以上前のホスト名がぞろぞろとありますね。dig @localhost its-more.com。OK。では、XSOにて「確認」!あれ?

基盤:「失敗しました」。何をどう失敗したかか説明は無し。

開発:ファイアーウォールでDNSを通してないでは。

基盤:確かに。@localhost だけで試験してました。では、ネットワーキングのファイアーウォールににDNSを追加して… うーん、この「作成」ってのがイマイチですね。ボタン形状にしといて欲しい。ぽちっと。

基盤:はい追加されました。外部から dig 3.x.x.x. its-more.com。OKです。では XSO にて再度OK!

開発:ふむ。DNSサーバ側のログに何か出てますか?

基盤:何も。

開発:それ、ネームサーバがXSOのに設定されてるからかな?それを解除してみては。

基盤:では、一旦初期設定に戻し。確認そしてOK!

開発:何を失敗してるんですかね。53/tcp でも見てるのかな?

社長:NSO ではそういうことはなかったですけどね。ちょっとNSOのドメインでやってみますか。

開発:ではこのとっておきの networksolutions.work で。

基盤:これでどうかな?ポチッと。

開発:あそうか、NSはホスト名で指定しないといけないんだっけ(笑)。どこにしましょうかね?

社長:うーん、やはり長期に抑えてる its-more.jp か、delegate.org ですかね。

基盤:では、ns.its-more.jp という名前で XSOに、ns.delegate.org 名前で NSO に登録します。これ、ホスト名違ってIPアドレス同じだったら怒られますかね?

開発:面白いからやってみましょう。

社長:というか、逆引き出来ないといけないんじゃなかったでしたっけ?

基盤:いや、何が地獄ってこのXSOの管理コンソールの重さが辛いです。んー、なんかつながらない。

開発:気配を察知されましたかね。

基盤:あ、繋がりました。このコンソール、ドメイン名が100件超えたら地獄ですかね。さて、このこはレンタルサーバ利用者様向けのDNSサーバなんだな。おもてなしの心でお願いします。ns.its-more.jp の A レコードを登録!

開発:うって変わって親切ですね(笑)

基盤:これ、XSOの他のネームサーバを使うというところでXSOを指定したら何が起きますかね。混ぜてみますか。ぽちっと。

開発:めでたし。あ、ネームサーバ変更完了メールも来てますね。

基盤:では早速、test1 とか hosts に追加して、dig test1.its-more.com。

開発:めでたし。

基盤:dig test1.its-more.com NS はまだ通らないのが面白いです。この辺、コンシステンシーってものが無くて良いものなのか。ところで、キャッチオール的なのはDeleGateのDNSではどう書くんでしたっけ。

社長:確か hosts に *.its-more.com みたいに。

基盤:・・・確認。でも、*.its-more.com だけだと its-more.com が通らないですね。

社長:まあ、本運用は bind とかでやればいいんじゃないですか。

基盤:それにしてももし中継サーバに、そういう名前は存在しない、なんてキャッシュを付けたら悪用されてパンクしますね。

社長:DNSの悪用とか色々ありそうだし、あんまり関わりたくない世界かもです。

基盤:あ、hosts に 1.2.3.4 * って書いとけば、デフォルトが 1.2.3.4 になりますね。当面はこれで良さそうです。

社長:それでは、今後我社のネームサーバはこれでいきましょう。

— 2020-0628 SatoxITS

コメントを残す

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