statpan

LegiNoteプロジェクト開発物語4 - ホームネットワーク構築秘話

作成: 2024-10-19

作成: 2024-10-19 21:10


こんにちは、StatPanです。

LegiNoteサイドプロジェクトの開発記を書いています。

前回の開発記はこちらのリンクを参照してください。


LegiNoteの4回目の開発記、今回は少し毛色の違う、インフラ構成に関するお話をしようと思います。

サービス開発には、サービスを実行するためのサーバーリソースが必要です。

もちろん、サービスを一時的に試用するだけで、継続して運用する予定がないのであれば、個人が所有するPCや、様々な企業が提供する無料ティアサービスなどを検討できます。

AWS、Azure、GCPなどの主要クラウドプロバイダーが提供する無料ティアを利用して一時的に使用したり、または、カウフェ24、Gabiaなどのホスティングサービスを検討することもできます。

その中で私が選択したのは、Oracle CloudのFree tierでした。まさにクラウドの中でも最高の無料ティアポリシーを持っていると言えるでしょう。


LegiNoteプロジェクト開発物語4 - ホームネットワーク構築秘話


まとめると

OCPU 4、RAM 24GB、SSD 200GBのVMをサービスにフルタイムで使用できます(トラフィックも無制限ではありませんが、これらをすべて使い切るような状況であれば、既に有料サービスに移行する必要があるでしょう)。


ただし、このVMを使用するには、悪名高いOracle Cloudのカード登録テストに合格する必要があります。

LegiNoteプロジェクト開発物語4 - ホームネットワーク構築秘話


このようにして、24時間無停止のVMを1台取得しました。


依然として不足を感じているリソース

開発を進めていくと、1つのノードだけでは不足することがあります。

私の経験から、開発と運用を分けてデプロイできるリソースが必要だからです。

残念ながら、Oracle Free tierでは(標準的な方法では)1台しか使用できないため、無停止VMをもう1台取得したいと考えました。


VMの代替案、ミニPC

上記のOracle Free tierサービスと同等のスペックを持ちながら、同時に24時間無停止で運用するためには、ある程度の性能と低消費電力で、継続的に運用できるサーバーが必要でした。

この分野の情報については、検索している中で最も大きな助けになったのはDCインサイド(DCギャラリー)でした。

n100、eqr6、ser8などの候補の中から、私は上記のVMスペックとほぼ同じスペックを求めていたため、eqr6を選択し、非常に安い価格でサーバーを購入しました。


ベアボーンeqr6 24万円

SSD 256GB 2.2万円

RAM 8GB × 2 1.8万円

合計 28万円


同様のスペックのVMを約1~2年間無停止でサービスに使用すると考えると、十分に元が取れる金額だと考え、購入しました。

ここまで順調でしたが…。


問題の始まり

忘れかけた頃にやってくる配送

はい、これらのミニPCは、現代のように1~2日で配送される時代において、本当に届きません。

配送を受けるための2週間は、本当に長く長い時間でした。中国に騙されたのか?と思う頃、やっと出会うことができました。

もちろん、このようなPC設定の経験がない方は、その間にミニPCギャラリーで多くの役に立つ記事を読んで待つのも良い方法だと思います。

(同梱のUSBドライバー以外にブートディスクを用意したり、一緒にインストールするドライバーを用意したりなど)

ミニPCの組み立て

はい、ミニPCの組み立てはまた別の経験でした。私は自分のデスクトップを自分で組み立てたことがあるので、簡単にできると思っていましたが、ミニPCは小さな筐体の中に様々な部品が入っているので、思った以上に組み立てに苦労しました。特に、緩んだネジを再び取り外すのがまた困難なポイントです。

そのネジを外すために、電源ユニットを少し分解したのですが、緩く接続していたため、筐体が少し揺れるだけで電源が切れるなど、面白い出来事がたくさんありました。

振り返ってみれば、思い出に偽装された苦痛ですね。


ミニPCの設定

今回はBIOSとの戦いでした。Ubuntuをインストールしたら、デフォルトでVRAMが8GBを占有するため、使用可能なメモリが8GBしかありませんでした。

私はサーバーとして使用することを予定していたため、VRAMはほとんど必要ありませんでした。そのため、この問題を解決するために、古いBIOSメニューで該当機能を探して苦労しました。BIOSバージョンが古いため、インターネットにあるガイドメニューと一致するものがほとんどありませんでした。

その中で、ある見知らぬYouTubeの痕跡を見つけ、何とか解決することができました。

この場を借りて感謝申し上げます。名前の分からない開発者の方…


ホームネットワークの設定

私はSKブロードバンドを利用していますが、実際、設置時に私が不在だったため、具体的にどのように設置されたのか分からず、主にKTブロードバンドを使用していた経験しかないため、軽く考えていました。

つまり、1台のモデムから伸びているルーターだけを使用すると考えていました。

しかし、SKブロードバンドは独特で、公衆IPに直接接続されたモデムが別に1台存在し、リビングなどにあるモデム(ルーター)が別途存在していました。 最初はこれが分からず、リビングのルーターと部屋のルーターが帯域を何度も異なって取得するため、部屋のルーターに問題があると誤解し、むやみに初期化を何回も行ったか分かりません。

そして検索の末、もう1台あるルーターの存在を知り、秘密の空間に隠されたモデムを発見しました。

約1日の苦痛への復讐として、思い切って公衆IPを取得したモデムをすぐにブリッジ化し、内部SKルーターをNAT構成にしてすべてのネットワークを制御しようとしたのですが、簡単に解決すると面白くないので、少し変化を加えてくれました。

まだ理由は分かりませんが、結論として、私は公衆IPを2つ持つことになりました。

サービスのために別のIPを持つことについては、個人的には満足のいく結果ですが、他のインターネット会社とは全く異なるこのようなサービス精神にはまだ慣れません。

SKブロードバンドを利用してホームネットワークを構築する方は、上記の重要な点に注意して作業すれば、大きな困難なく解決できると思います。


DDNSとDNS、ポートフォワーディング

実際、Oracle VMを追加で取得していれば、やらなくてもよかった作業だと思いますが、おかげで良い経験ができたと思います。

家庭用IPは主に動的なIPが割り当てられるため、単にDNSサーバーにIPをマッピングしておくと、ルーターのリセットと同時に毎回マッピング作業を行う必要があるかもしれません。

このような状況を解決するために、ルーター自体がDDNSサービスを提供する場合もあります。

SKブロードバンドのルーターは、そのような機能を直接提供しておらず、サードパーティのサービスを利用することを推奨しているようです。

私は幸いにもASUSルーターを使用しているため、特別なサービスを利用することなく、ASUSルーターの管理画面に内蔵されているDDNS機能を使用し、DNSサーバーにマッピングすることで、この問題を解決しました。

この部分は、以前ドメインを購入した際にDNSを使用した経験があったため、幸いにもスムーズに作業できたと思います。


問題解決後の感想

VMを24時間稼働させるコストを計算していた段階では、コストはかなり大きく感じられる可能性がありますが、このような初期設定にかかる費用や時間的な消費を考えると、なぜクラウドサービスが脚光を浴びているのか、ある程度理解できたと感じました。

それでも、収益を上げていないプロジェクトの継続的な運用のため、そして個人的な学習のために、上記のインフラを継続的に発展させていく予定です。

実際、まだ急いでスケールアップする必要のあるユーザー自体がいないからです。

今後は、上記のプロジェクトを支えるインフラに関する内容も投稿に含める予定です。

私と同じような悩みを抱えている方や計画している方がいたら、いつでもお手伝いさせていただきます。

以上、StatPanでした!

コメント0