インターネットサービスとかあるいは計算機資源としてもクラウド全盛な今しがた、それによって変化してきた環境下において、いまどきの容易に入手できるレシピで自宅にサーバを立てることを考えてみる
- 自宅には普通のフレッツインターネット接続
- サーバ=>raspberry pi2(or like)でがんばる
- ドメインをどこかで取得
DNSキャッシュサーバを任意のところに登録できるところで、取れる名前とお値段で決める
- APIの使えるDNS登録サービス
自分の例では、取得したドメインのDNSキャッシュサーバはvultr.comに向けます。*1
- Certbotで認証鍵を作ればhttpsのwwwサーバを自宅に立てれることになる
pi2からvultr.comのAPIを使って、自分のところのIPをDNSに登録してしまえば、PPPoE一旦切れてしまっても*2おおよそ事足りるレベルで外からIP直指定でなく自分ドメイン名でアクセスできるようになるわけです。
pi2で自分のところのIPを参照するのは使っているブロードバンドルータによってはやりにくいのかもしれないので、一旦応答に送信元が含まれるような外部のサービス・サーバにリクエストを投げて取得するような方法が簡単そうです。また、APIの送信元には制限をかけたいところなので、IPが変化する自分のところからは直接APIリクエストを投げたくないところです。なのでこれを気にする場合はインターネット側に別に代理ノードみたいなのを置く必要はあります。
自分が許容できる程度のインターバルで自分のところのグローバルIPをチェックして、その値をDNSレコードに登録すれば目的が達成できます。
vultr.comのAPI、MXレコードももちろん登録できます。けれども、エントリが正しく回復するまでの時間は少し長くなってしまうであろうから、メールサーバを立てるのはちょっときついのかもしれません。よくわかってないですが、超以前だと相手メールサーバ落ちていても送信元は結構粘ってメールを再送してくれてたように思ってましたけど、今はメールサーバ落ちていたら即送信失敗にされてしまうのでしょうか。
以前だと、非固定IPで自宅サーバアクセスを工夫していこうと思い立っても、
- エントリレベルなPCサーバは故障しやすいし発熱も気になる
- 認証鍵取得はそれなりに費用と手間がかかってた
- (APIでDNSレコード登録機能とかは探せば簡単なものあったのだろうか...)
ないろいろモチベーションさがる要因がありましたが、これらが現在は価格的にも手間的にも楽になってしまってると考えるわけです。
日本に住んでいて、日本語で日本固有の情報発信するなら、何もクラウド一辺倒にせずとも、なんとなくこういうDIY的に回帰していくのもあってもいいかなぁと思いました。クラウドサービスのほうが当然*3質がいいでしょうが、自分でやっても廉価にそれでいて結構いい線保つことができるところにきてる、と期待します。
昔読んだ「Web進化論」にあった言葉「チープ革命」はまだまだ続いていたのかと思いました。