Web インフラ概略

DNSサーバー(Domain Name System)は、インターネットの「住所録」のような役割を果たします。
例えば、私たちが「www.example.com」というウェブサイトにアクセスしたい時:
- DNSサーバーは「www.example.com」という名前を「203.0.113.1」のような数字のIPアドレスに変換します
- この変換によって、ブラウザは実際のサーバーを見つけることができます
つまり DNS は、
- 人間にわかりやすい「ドメイン名」
- コンピュータが理解できる「IPアドレス」
この2つを相互に変換する電話帳のような仕組みです。
JIZI の全サービスも DNS によってユーザーがアクセスしやすい形で公開しています。
JIZI では Cloudflare が提供する DNS サービスを使用しています。
Cloudflare (proxy)
Section titled “Cloudflare (proxy)”JIZI の各サービスに対する HTTP リクエストは(一部を除いて)すべて Cloudflare のプロキシを経由します。
Cloudflare のプロキシサーバーは世界中に配置されており、
Web ページに含まれる画像や静的ファイルをユーザーに近い場所で配信することで高速化しています。
Cloudflare のプロキシが提供する主な機能:
- bot対策: 不正アクセスやスキャンを遮断
- CDN: ファイルをキャッシュして高速に配信
- DDoS対策: 大量リクエストからサービスを守る
- WAF: 攻撃的なリクエストを自動的に検出・遮断
JIZI の Web サービスの安定性と可用性を支える重要なレイヤーです。
VPS(Virtual Private Server)は、仮想的な専用サーバーを借りて運用できるサービスです。
JIZIでは現在、以下のようなサービスがVPS上で動いています:
- 部内 OSS サービス:JIZI Wiki (GROWI)、JIZI MD (CodiMD)
- 旧 JIZI ポータル(移行予定)
- 旧 工大祭ポータル(移行予定)
- Discord Bot
- その他、補助的な API / 常駐プロセス
VPS は自由度が高い反面、
- セキュリティ管理を自分たちで行う必要がある
- バックアップやアップデートの負荷が高い
などの理由から、Cloudflare・Workers を中心とした構成へ少しずつ移行しています。
Wasabi
Section titled “Wasabi”Wasabi は、JIZI が利用している S3互換オブジェクトストレージです。
大きなファイルや長期保存が必要なデータを扱うのに適しています。
2025年12月現在、以下の用途で使用しています:
- 工大祭ポータルのファイル保存(例:企画書PDFなど)
- Terraform の
tfstate保存
→ IaC 運用のための重要データ
Wasabi はコストが安く、S3互換 API が使えるため Terraform との相性が良いのが特徴です。
Cloudflare Workers
Section titled “Cloudflare Workers”Workers とは
Section titled “Workers とは”Cloudflare Workers は、Cloudflare が提供する サーバーレス実行環境です。
特徴:
- サーバー管理が不要
- 世界中のエッジで実行されレイテンシが低い
- 小規模な API / 認証 / プロキシ処理に向いている
JIZIでは、静的サイトや小規模 API のホスティングに Workers を利用しています。
KV / D1 / R2
Section titled “KV / D1 / R2”Workers と併せて利用できる Cloudflare の永続化サービスです。
KV (Key-Value Storage)
Section titled “KV (Key-Value Storage)”- キーと値のペアを保存する高速ストレージ
- キャッシュのような用途に強い
- 書き込みの反映が最終整合性で、即時同期されない点に注意
D1(SQL Database)
Section titled “D1(SQL Database)”- SQLite をベースにした軽量データベース
- 小〜中規模の構造化データ管理に向いている
- Workers から直接扱えるため、サーバー不要の API 開発が可能
R2(オブジェクトストレージ)
Section titled “R2(オブジェクトストレージ)”- Cloudflare 提供の S3互換ストレージ
- 大容量ファイルの保存に適している
- Egress(外部転送)が無料という強い利点がある
Durable Objects
Section titled “Durable Objects”Durable Objects は、Workers と併用できる 排他的で永続的な状態管理の仕組みです。
- 特定のキーに関連付けられた「1つだけのオブジェクト」が存在する
- そのオブジェクトへのリクエストは逐次処理され、衝突しない
- チャットルーム・リアルタイムカウンタなどに向く
Workers の弱点である「状態を持てない」を補う拡張機能です。
以上が、JIZI の Web インフラの主要構成要素です。
各コンポーネントがどのような役割を持ち、どのように連携しているかを理解することで、今後の講習内容(アプリ、CI/CD、IaC)への理解がスムーズになります。