クラウド用のシステムでVPSを開発してみた
2025年07月17日
Kubernetes Container base Virtual Private Server
クラウドサーバシステムの構築
概要
サーバサイドの知見と、Kubernetes Controlについての勉強がてらサービスをつくってしまおうという感じで作られたものです。
Servers
-
HPE DL360 Gen 8
- CPU : Xeon E5-2695 v2
- Memory : 236GB
- Disk : 300GB + 1.5TB
-
ASUS G400
- CPU : Xeon Gold 5115
- Memory : 128GB
- Disk : 1TB
-
Mini PC
- CPU : i3-6100T
- Memory : 16GB
- Disk : 250GB
Applications
使用した技術
開発に使った環境
作ろうとしているもの
Private Cloud
主に、Kubernetesを利用したユーザのテナントレベルでの仮想化を行うための仕組みとして、プライベートクラウド環境の構築を目指しています。
これをそのまま作るのは非常に大変なので、Kubernetesをベースとして活用します。
具体的には、以下の機能をKubernetesの仕組みで実現することで効率的なシステム構築を目指しています:
- アクセスポリシーの管理
- 接続周りの管理
- オートスケールなどの動的管理
これにより、開発しやすい環境を整えつつ、Kubernetesの学習もできるという一石二鳥の効果を狙っています。
VPN ( Virtual Private Network )
昨今よく聞くあのVPNです。仮想的なインターネットアクセスをして、セキュアな通信をして、第三者の覗き見につよくしよう!
とか、謳っているものが多いですが、本来の目的はそういうものではなく通信を暗号化することで、パケットをダンプしても、内容を解読が難解にすることが目的なので、過度な期待をしすぎても…というのはよくある話ですね。
そして、作ろうとしているのは以下の2つの機能を持つVPNサービスです:
- 通常のVPN接続機能
- IPv6が利用できない地域でIPv6通信を可能にするVPNトンネル機能
現在開発中ですが、クライアントのアクセス方法はまだ決まっていません。追加ソフトなしのパターンにするか、専用ソフトを利用した接続方法なのかを検討中です。
VPS ( Virtual Private Server )
某VPSプロバイダサービスと全く一緒の仮想プライベートサーバを作っています。
言わずもがなの…中身はどこにでも使われているような技術を使えば実は割とすぐできてしまうのですが…その先の問題が…いっぱいありすぎて…うっ…
CaaS ( Container as a Service )
最近よく見るコンテナを実行するためのサービスです。
この仕組み自体は、なるべくシンプルにコンテナをデプロイできることを目指しています。ただし、実際にはさまざまな要件や制約が存在するため、思ったような動作をしないこともあるかもしれません。
難しい部分もありますが、なるべく不便の少ないように実装していく予定です。
今後の予定
現在開発中で、今後はユーザーごとのデータ保存領域(データスペース)の作成機能と、S3互換のオブジェクトストレージを実装する予定です。 まだできていないものは多いですが、開発の様子は随時発信していこうと思っていますので、よろしくお願いします。